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

Reply via email to