summaryrefslogtreecommitdiff
path: root/os2eindopdracht/main.cpp
blob: ae042c56f48726780bd6383df8c973f69538fa10 (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
36
37
38
39
40
#include <cstdio>
#include <iostream>
#include <sstream>
#include <fstream>
#include <vector>

#include "Arguments.h"
#include "SampleStream.h"
#include "SampleBlock.h"
#include "FilterWorker.h"

using std::vector;

#define SAMPLE_BLOCK_SIZE 1024

int main(int argc, char** argv) {
	Arguments args(argc, argv);

	std::fstream file_input(args.file_input, std::ios::in | std::ios::binary);
	std::stringstream file_input_content;
	file_input_content << file_input.rdbuf();
	file_input.close();

	SampleStream input(file_input_content.str());
	vector<SampleBlock> input_blocks = input.split(SAMPLE_BLOCK_SIZE);

	SampleStream output(file_input_content.str());
	vector<SampleBlock> output_blocks = output.split(SAMPLE_BLOCK_SIZE);

	// for (unsigned int i = 0; i < input_blocks.size(); i++) {
	// 	FilterWorker(input_blocks[i], output_blocks[i]).filter(args.bass, args.treble);
	// }

	std::fstream file_output(args.file_output, std::ios::out | std::ios::binary);
	std::string edited_stream = output.save();
	file_output.write(edited_stream.c_str(), edited_stream.size());
	file_output.close();

	return 0;
}