Update of /cvsroot/audacity/audacity-src/src/toolbars
In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv14558/src/toolbars

Modified Files:
        ControlToolBar.cpp 
Log Message:
This commit replaces the old version of the allegro score representation 
library with portsmf, a newer version of allegro. Cut, copy, paste, and undo 
are now supported. Developed and tested on XP; untested on OS X and Linux. All 
changes are controlled by EXPERIMENTAL_NOTE_TRACK. Files added to the 
allegro.vcproj file are allegrosmfrd.h and allegrosmfrd.cpp.

Index: ControlToolBar.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/toolbars/ControlToolBar.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- ControlToolBar.cpp  28 Jun 2008 16:30:06 -0000      1.27
+++ ControlToolBar.cpp  28 Jun 2008 21:53:52 -0000      1.28
@@ -31,6 +31,7 @@
 *//*******************************************************************/
 
 #include "../Audacity.h"
+#include "../Experimental.h"
 
 // For compilers that support precompilation, includes "wx/wx.h".
 #include <wx/wxprec.h>
@@ -333,7 +334,13 @@
       TrackListIterator iter( p->GetTracks() );
 
       for (Track *t = iter.First(); t; t = iter.Next()) {
+#ifndef EXPERIMENTAL_NOTE_TRACK
          if (t->GetKind() == Track::Wave) {
+#else /* EXPERIMENTAL_NOTE_TRACK */
+/* HCK MIDI PATCH START */
+         if (t->GetKind() == Track::Wave || t->GetKind() == Track::Note) {
+/* HCK MIDI PATCH END */
+#endif /* EXPERIMENTAL_NOTE_TRACK */
             tracks = true;
             break;
          }
@@ -500,7 +507,12 @@
          {
             token = gAudioIO->StartStream(
                mCutPreviewTracks->GetWaveTrackArray(false),
-               WaveTrackArray(), NULL, p->GetRate(), tcp0, tcp1, p, false,
+               WaveTrackArray(), 
+#ifdef EXPERIMENTAL_NOTE_TRACK
+/* REQUIRES PORTMIDI */
+//               NoteTrackArray(),
+#endif /* EXPERIMENTAL_NOTE_TRACK */
+                          NULL, p->GetRate(), tcp0, tcp1, p, false,
                t0, t1-t0);
          } else
          {
@@ -515,7 +527,12 @@
             timetrack = t->GetTimeTrack();
          }
          token = gAudioIO->StartStream(t->GetWaveTrackArray(false),
-                               WaveTrackArray(), timetrack,
+                               WaveTrackArray(),
+#ifdef EXPERIMENTAL_NOTE_TRACK
+/* REQUIRES PORTMIDI */
+//                                                        
t->GetNoteTrackArray(false),
+#endif /* EXPERIMENTAL_NOTE_TRACK */
+                                                          timetrack,
                                p->GetRate(), t0, t1, p, looped);
       }
       if (token != 0) {
@@ -723,14 +740,29 @@
       /* 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;
+#ifdef EXPERIMENTAL_NOTE_TRACK
+/* REQUIRES PORTMIDI */
+//      NoteTrackArray midiTracks;
+#endif /* EXPERIMENTAL_NOTE_TRACK */
 
       bool duplex;
       gPrefs->Read(wxT("/AudioIO/Duplex"), &duplex, true);
-      if (duplex)
+            
+      if(duplex){
          playbackTracks = t->GetWaveTrackArray(false);
-      else
+#ifdef EXPERIMENTAL_NOTE_TRACK
+/* REQUIRES PORTMIDI */
+//              midiTracks = t->GetNoteTrackArray(false);
+#endif /* EXPERIMENTAL_NOTE_TRACK */
+     }
+      else {
          playbackTracks = WaveTrackArray();
-
+#ifdef EXPERIMENTAL_NOTE_TRACK
+/* REQUIRES PORTMIDI */
+//              midiTracks = NoteTrackArray();
+#endif /* EXPERIMENTAL_NOTE_TRACK */
+     }
+      
       // If SHIFT key was down, the user wants append to tracks
       int recordingChannels = 0;
       bool shifted = mRecord->WasShiftDown();
@@ -824,7 +856,12 @@
       }
 
       int token = gAudioIO->StartStream(playbackTracks,
-                                        newRecordingTracks, t->GetTimeTrack(),
+                                        newRecordingTracks,
+#ifdef EXPERIMENTAL_NOTE_TRACK
+/* REQUIRES PORTMIDI */
+//                                        midiTracks,
+#endif /* EXPERIMENTAL_NOTE_TRACK */
+                                        t->GetTimeTrack(),
                                         p->GetRate(), t0, t1, p);
 
       bool success = (token != 0);


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Audacity-cvs mailing list
Audacity-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/audacity-cvs

Reply via email to