summaryrefslogtreecommitdiff
path: root/os2eindopdracht/Arguments.h
blob: c5c9cd59b641ccd1705794f9e4edc7d6d33d1123 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#pragma once

#include <string>

using std::string;

/** @brief wrapper for magic numbers */
struct Coefficients {
  double b0;
  double b1;
  double b2;
  double a1;
  double a2;
};

class Arguments {
public:
	/** @brief parse arguments using getopt */
  Arguments(int argc, char** argv);

public:
  unsigned int max_threads = 4;
  string file_input;
  string file_output;
  Coefficients bass;
  Coefficients treble;

private:
	/** @brief calculate magic coefficients using bass and treble gain value */
  void calculate_coefficients();

private:
  int gain_bass = 0;
  int gain_treble = 0;
};