Update of /cvsroot/audacity/audacity-src/src
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv5625

Modified Files:
        TrackPanel.cpp TrackPanel.h 
Log Message:
Add a new 'Split Stereo to Mono' menu item on the popup menu.  Patch from 'Tim' 
via Steve the Fiddle.

Index: TrackPanel.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/TrackPanel.cpp,v
retrieving revision 1.428
retrieving revision 1.429
diff -u -d -r1.428 -r1.429
--- TrackPanel.cpp      15 Feb 2009 23:16:00 -0000      1.428
+++ TrackPanel.cpp      17 Feb 2009 19:57:15 -0000      1.429
@@ -307,6 +307,7 @@
    OnPitchID,
 
    OnSplitStereoID,
+   OnSplitStereoMonoID,
    OnMergeStereoID,
 
    OnSetTimeTrackRangeID,
@@ -341,6 +342,7 @@
     EVT_MENU_RANGE(On16BitID, OnFloatID, TrackPanel::OnFormatChange)
     EVT_MENU(OnRateOtherID, TrackPanel::OnRateOther)
     EVT_MENU(OnSplitStereoID, TrackPanel::OnSplitStereo)
+    EVT_MENU(OnSplitStereoMonoID, TrackPanel::OnSplitStereoMono)
     EVT_MENU(OnMergeStereoID, TrackPanel::OnMergeStereo)
 
     EVT_MENU(OnCutSelectedTextID, TrackPanel::OnCutSelectedText)
@@ -559,6 +561,7 @@
    mWaveTrackMenu->AppendCheckItem(OnChannelRightID, _("Right Channel"));
    mWaveTrackMenu->Append(OnMergeStereoID, _("Make Stereo Track"));
    mWaveTrackMenu->Append(OnSplitStereoID, _("Split Stereo Track"));
+   mWaveTrackMenu->Append(OnSplitStereoMonoID, _("Split Stereo to Mono"));
    mWaveTrackMenu->AppendSeparator();
    mWaveTrackMenu->Append(0, _("Set Sample Format"), mFormatMenu);
    mWaveTrackMenu->AppendSeparator();
@@ -5733,6 +5736,7 @@
       
       theMenu->Enable(OnMergeStereoID, canMakeStereo);
       theMenu->Enable(OnSplitStereoID, t->GetLinked());
+      theMenu->Enable(OnSplitStereoMonoID, t->GetLinked());
       theMenu->Check(OnChannelMonoID, t->GetChannel() == Track::MonoChannel);
       theMenu->Check(OnChannelLeftID, t->GetChannel() == Track::LeftChannel);
       theMenu->Check(OnChannelRightID, t->GetChannel() == Track::RightChannel);
@@ -6144,6 +6148,34 @@
    Refresh(false);
 }
 
+/// Split a stereo track into two mono tracks...
+void TrackPanel::OnSplitStereoMono(wxCommandEvent &event)
+{
+   wxASSERT(mPopupMenuTarget);
+   Track *partner = mTracks->GetLink(mPopupMenuTarget);
+   if (partner)
+      partner->SetTeamed(false);
+   mPopupMenuTarget->SetLinked(false);
+     
+   //make the split tracks mono
+   mPopupMenuTarget->SetChannel(Track::MonoChannel);
+   if(partner)
+      partner->SetChannel(Track::MonoChannel); 
+
+   //On Demand - have each channel add it's own.
+//#ifdef EXPERIMENTAL_ONDEMAND 
+   if(ODManager::IsInstanceCreated() && partner->GetKind() == Track::Wave)
+      ODManager::Instance()->MakeWaveTrackIndependent((WaveTrack*)partner);
+//#endif
+   
+   MakeParentPushState(wxString::Format(_("Split Stereo to Mono '%s'"),
+                                        mPopupMenuTarget->GetName().
+                                        c_str()),
+                       _("Split"));
+
+   Refresh(false);
+}
+
 /// Merge two tracks into one stereo track ??
 void TrackPanel::OnMergeStereo(wxCommandEvent &event)
 {

Index: TrackPanel.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/TrackPanel.h,v
retrieving revision 1.128
retrieving revision 1.129
diff -u -d -r1.128 -r1.129
--- TrackPanel.h        28 Dec 2008 01:20:14 -0000      1.128
+++ TrackPanel.h        17 Feb 2009 19:57:17 -0000      1.129
@@ -336,6 +336,7 @@
    void OnFormatChange(wxCommandEvent &event);
 
    void OnSplitStereo(wxCommandEvent &event);
+   void OnSplitStereoMono(wxCommandEvent &event);
    void OnMergeStereo(wxCommandEvent &event);
    void OnCutSelectedText(wxCommandEvent &event);
    void OnCopySelectedText(wxCommandEvent &event);


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Audacity-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-cvs

Reply via email to