From 6a791de4d6945ecdae96bebcd49cdedb3d2765b8 Mon Sep 17 00:00:00 2001
From: Robert Jonsson <spamatica@gmail.com>
Date: Sun, 1 Aug 2010 21:00:58 +0000
Subject: move track selection with part selection

---
 muse/ChangeLog                 |  2 ++
 muse/configure.ac              |  1 +
 muse/muse/arranger/pcanvas.cpp |  3 +++
 muse/muse/arranger/tlist.cpp   | 13 +++++++++++--
 4 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/muse/ChangeLog b/muse/ChangeLog
index 24350f7b..5c5dde61 100644
--- a/muse/ChangeLog
+++ b/muse/ChangeLog
@@ -1,3 +1,5 @@
+01.08.2010
+      * Added: Move track selection when part selection is moved (rj)
 24.07.2010
       * Feature: Audio and midi routing popup menus now stay open, for making rapid connections. (T356)
       * Fixed: Delete some objects hanging around upon close like song, audio, midiSeq, and prefetch. (T356)
diff --git a/muse/configure.ac b/muse/configure.ac
index e79419f2..bfdc1651 100644
--- a/muse/configure.ac
+++ b/muse/configure.ac
@@ -618,6 +618,7 @@ if test x$LO_LIB_FOUND = xyes ; then
       AC_SUBST(LO_CFLAGS)
       AC_SUBST(LO_LIBS)
       AC_DEFINE(OSC_SUPPORT, 1, [support for OSC])
+      AC_MSG_CHECKING([found liblo])
 fi
 
 AM_CONDITIONAL(OSC_SUPPORT, test x$LO_LIB_FOUND = xyes)
diff --git a/muse/muse/arranger/pcanvas.cpp b/muse/muse/arranger/pcanvas.cpp
index acfa0464..b43c3550 100644
--- a/muse/muse/arranger/pcanvas.cpp
+++ b/muse/muse/arranger/pcanvas.cpp
@@ -1100,6 +1100,9 @@ void PartCanvas::keyPress(QKeyEvent* event)
       // Shortcuts that require selected parts from here
       //
       if (!curItem) {
+          if (items.size()==0) {
+              return;
+          }
           for (iCItem i = items.begin(); i != items.end(); ++i) {
               NPart* part = (NPart*)(i->second);
               if (part->isSelected()) {
diff --git a/muse/muse/arranger/tlist.cpp b/muse/muse/arranger/tlist.cpp
index e76232fa..9e39ffda 100644
--- a/muse/muse/arranger/tlist.cpp
+++ b/muse/muse/arranger/tlist.cpp
@@ -608,7 +608,7 @@ void TList::oportPropertyPopupMenu(Track* t, int x, int y)
         QPopupMenu* p = new QPopupMenu(this);
         p->setCheckable(true);
         p->insertItem(tr("Show Gui"), 0);
-  
+        printf("synth hasgui %d, gui visible %d\n",synth->hasGui(), synth->guiVisible());
         p->setItemEnabled(0, synth->hasGui());
         p->setItemChecked(0, synth->guiVisible());
   
@@ -616,6 +616,7 @@ void TList::oportPropertyPopupMenu(Track* t, int x, int y)
         #ifdef DSSI_SUPPORT
         if(dynamic_cast<DssiSynthIF*>(synth->sif()))
         {
+            printf("entering this wierd if statement\n");
           p->setItemChecked(0, false);
           p->setItemEnabled(0, false);
         }  
@@ -1089,8 +1090,16 @@ void TList::selectTrack(Track* tr)
       song->deselectTracks();
       tr->setSelected(true);
       
+
+      // rec enable track if expected
+      TrackList recd = getRecEnabledTracks();
+      if (recd.size() == 1) { // one rec enabled track, move rec enabled with selection
+        song->setRecordFlag((Track*)recd.front(),false);
+        song->setRecordFlag(tr,true);
+      }
+
       // By T356. Force a redraw for wave tracks, since it does not seem to happen.
-      if(!tr->isMidiTrack())
+      //if(!tr->isMidiTrack())
         redraw();
       emit selectionChanged();
       }
-- 
cgit v1.2.3