9 : mInput(
"MIDISong Input",this)
16 : mInput(
"MIDISong Input",this)
41 tempo_track->
Add(m_ev);
43 int nTracks = in.GetNumberOfTracks();
44 for(
int i=0; i < nTracks; i++)
48 BuildEventList(in.GetTracks()[i]);
49 std::list<MIDIEvent>::const_iterator it = mEventList.begin();
50 for(; it != mEventList.end(); it++)
76 void MIDIFileWriter::BuildEventList(
const MIDITrack& trk)
79 int nEvents = trk.GetEventInfo().Size();
80 for(
int i=0; i < nEvents; i++)
82 mEventList.push_back(trk.GetEventInfo()[i]);
87 ev.GetMessage().Resize(3);
88 ev.GetMessage().SetSize(3);
89 int nNotes = trk.GetTrackMelody().GetNumberOfNotes();
90 for(
int i=0; i < nNotes; i++)
92 if(i < trk.GetChannels().Size()) channel = trk.GetChannels()[i];
93 ev.GetMessage()[0] = (0x90 | channel);
94 t = trk.GetTrackMelody().GetNoteArray()[i].GetTime().GetBegin();
95 int key = trk.GetTrackMelody().GetNoteArray()[i].GetKey();
96 int vel = trk.GetTrackMelody().GetNoteArray()[i].GetVelocity();
98 ev.GetMessage()[1]=key;
99 ev.GetMessage()[2]=vel;
100 mEventList.push_back(ev);
101 t = trk.GetTrackMelody().GetNoteArray()[i].GetTime().GetEnd();
103 ev.GetMessage()[2]=0;
104 mEventList.push_back(ev);