1#include <MidiStore.h>
2#include <MidiText.h>
3#include <Entry.h>
4#include <iostream.h>
5
6int main(int argc, char * argv[]) {
7	if (argc < 2) {
8		cerr << "Must supply a filename (*.mid)!" << endl;
9		return 1;
10	}
11	BMidiText * text = new BMidiText();
12	BMidiStore * store = new BMidiStore();
13	BEntry entry(argv[1], true);
14	if (!entry.Exists()) {
15		cerr << "File does not exist." << endl;
16		return 2;
17	}
18	entry_ref e_ref;
19	entry.GetRef(&e_ref);
20	store->Import(&e_ref);
21	store->Connect(text);
22	uint32 start_time = B_NOW;
23	store->Start();
24	while (store->IsRunning()) {
25		snooze(100000);
26	}
27	store->Stop();
28	uint32 stop_time = B_NOW;
29	cout << "Start Time: " << dec << start_time << "ms" << endl;
30	cout << "Stop Time: " << dec << stop_time << "ms" << endl;
31	cout << "Total time: " << dec << stop_time - start_time << "ms" << endl;
32
33	store->Disconnect(text);
34	delete store;
35	delete text;
36	return 0;
37}
38