Update of /cvsroot/audacity/audacity-src/src/toolbars In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv11472/src/toolbars
Modified Files: ControlToolBar.cpp Log Message: Added the 'portmidi' library (used for MIDI playback) to the repository. Edited AudioIO.cpp to allow for MIDI playback (all changes are wrapped within EXPERIMENTAL_MIDI_OUT). Edited MidiIOprefs.cpp to allow changing MIDI devices via the MIDI preferences panel. Other various MIDI-related bug fixes in portmidi, portsmf, and libscorealign. Index: ControlToolBar.cpp =================================================================== RCS file: /cvsroot/audacity/audacity-src/src/toolbars/ControlToolBar.cpp,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- ControlToolBar.cpp 29 May 2009 17:10:06 -0000 1.39 +++ ControlToolBar.cpp 24 Jun 2009 20:37:29 -0000 1.40 @@ -445,7 +445,11 @@ bool hasaudio = false; TrackListIterator iter(t); for (Track *trk = iter.First(); trk; trk = iter.Next()) { - if (trk->GetKind() == Track::Wave) { + if (trk->GetKind() == Track::Wave +#ifdef EXPERIMENTAL_MIDI_OUT + || trk->GetKind() == Track::Note +#endif + ) { hasaudio = true; break; } @@ -533,10 +537,11 @@ { token = gAudioIO->StartStream( mCutPreviewTracks->GetWaveTrackArray(false), - WaveTrackArray(), -/* REQUIRES PORTMIDI */ -// NoteTrackArray(), - NULL, p->GetRate(), tcp0, tcp1, p, false, + WaveTrackArray(), +#ifdef EXPERIMENTAL_MIDI_OUT + &NoteTrackArray(), +#endif + NULL, p->GetRate(), tcp0, tcp1, p, false, t0, t1-t0); } else { @@ -551,11 +556,12 @@ timetrack = t->GetTimeTrack(); } token = gAudioIO->StartStream(t->GetWaveTrackArray(false), - WaveTrackArray(), -/* REQUIRES PORTMIDI */ -// t->GetNoteTrackArray(false), - timetrack, - p->GetRate(), t0, t1, p, looped); + WaveTrackArray(), +#ifdef EXPERIMENTAL_MIDI_OUT + &(t->GetNoteTrackArray(false)), +#endif + timetrack, + p->GetRate(), t0, t1, p, looped); } if (token != 0) { success = true; @@ -770,21 +776,23 @@ /* TODO: set up stereo tracks if that is how the user has set up * their preferences, and choose sample format based on prefs */ WaveTrackArray newRecordingTracks, playbackTracks; -/* REQUIRES PORTMIDI */ -// NoteTrackArray midiTracks; - +#ifdef EXPERIMENTAL_MIDI_OUT + NoteTrackArray midiTracks; +#endif bool duplex; gPrefs->Read(wxT("/AudioIO/Duplex"), &duplex, true); if(duplex){ playbackTracks = t->GetWaveTrackArray(false); -/* REQUIRES PORTMIDI */ -// midiTracks = t->GetNoteTrackArray(false); +#ifdef EXPERIMENTAL_MIDI_OUT + midiTracks = t->GetNoteTrackArray(false); +#endif } else { playbackTracks = WaveTrackArray(); -/* REQUIRES PORTMIDI */ -// midiTracks = NoteTrackArray(); +#ifdef EXPERIMENTAL_MIDI_OUT + midiTracks = NoteTrackArray(); +#endif } // If SHIFT key was down, the user wants append to tracks @@ -880,8 +888,9 @@ int token = gAudioIO->StartStream(playbackTracks, newRecordingTracks, -/* REQUIRES PORTMIDI */ -// midiTracks, +#ifdef EXPERIMENTAL_MIDI_OUT + &midiTracks, +#endif t->GetTimeTrack(), p->GetRate(), t0, t1, p); ------------------------------------------------------------------------------ _______________________________________________ Audacity-cvs mailing list Audacity-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/audacity-cvs