Skip to content

Commit

Permalink
prepare for new examples
Browse files Browse the repository at this point in the history
  • Loading branch information
ddiakopoulos committed Dec 20, 2015
1 parent c38039c commit 00e44e8
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 30 deletions.
47 changes: 18 additions & 29 deletions sample.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,20 @@

#include "modernmidi.h"
#include "port_manager.h"
#include "midi_input.h"
#include "midi_output.h"
#include "midi_message.h"
#include "midi_event.h"

#include "midi_file_reader.h"
#include "midi_file_writer.h"
#include "sequence_player.h"

std::random_device rd;
std::mt19937 gen(rd());

std::vector<uint8_t> readFile(std::string pathToFile)
{
std::cout << "[Debug] Open: " << pathToFile << std::endl;
std::cout << "[Debug] Open: " << pathToFile << std::endl;

FILE * file = fopen(pathToFile.c_str(), "rb");

Expand All @@ -71,15 +72,14 @@ std::vector<uint8_t> readFile(std::string pathToFile)

if (elementsRead == 0 || fileBuffer.size() < 64)
throw std::runtime_error("error reading file or file too small");

fclose(file);

return fileBuffer;
fclose(file);

return fileBuffer;
}

using namespace mm;


void ExampleConstructMessages()
{

Expand All @@ -105,35 +105,24 @@ void ExampleReadWriteFile()

}

int main(int argc, char *argv[], char *envp[])
void ExampleSequencePlayer()
{

MidiFileReader reader;
reader.useAbsoluteTicks = false;
reader.parse(readFile("assets/midifonts.mid"));
// Track = 0 meta, Track 27 = debug
}

int main(int argc, char *argv[], char *envp[])
{
ExampleConstructMessages();

MidiFileWriter theLetterA;
theLetterA.setTicksPerQuarterNote(480);
ExampleQueryMIDIDevices();

theLetterA.addTrack();

auto aTrack = reader.tracks[1];
ExampleOpenMIDIInput();

for (int i = 0; i < aTrack.size(); i++)
{
auto event = aTrack[i];
if (event->m->isNoteOnOrOff())
{
theLetterA.addEvent(0, event);
}
}
ExampleOpenMIDIOutput();

std::fstream output("assets/loopback.mid", std::ios::out);
theLetterA.write(output);
ExampleReadWriteFile();

output.close();
ExampleSequencePlayer();

return 0;
return 0;
}
2 changes: 1 addition & 1 deletion src/midi_file_reader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ TrackEvent * parseEvent(int tick, int track, uint8_t const *& dataStart, Message
}
}

MidiFileReader::MidiFileReader() : tracks(0), ticksPerBeat(120), startingTempo(120)
MidiFileReader::MidiFileReader() : tracks(0), ticksPerBeat(480), startingTempo(120)
{

}
Expand Down

0 comments on commit 00e44e8

Please sign in to comment.