diff options
| author | Tim E. Real <termtech@rogers.com> | 2010-12-14 01:11:01 +0000 | 
|---|---|---|
| committer | Tim E. Real <termtech@rogers.com> | 2010-12-14 01:11:01 +0000 | 
| commit | 522ca271bfb851789aa437a5b88f980cb96916b2 (patch) | |
| tree | b418f5dff1bdac80694f660ad81389e3f0853881 /muse2/muse | |
| parent | 466a93203ef2cccbf91316e28661aaa29f8a506e (diff) | |
Please see ChangeLog.
Diffstat (limited to 'muse2/muse')
| -rw-r--r-- | muse2/muse/app.cpp | 18 | ||||
| -rw-r--r-- | muse2/muse/arranger/arranger.h | 2 | ||||
| -rw-r--r-- | muse2/muse/arranger/pcanvas.cpp | 4 | ||||
| -rw-r--r-- | muse2/muse/arranger/tlist.cpp | 23 | ||||
| -rw-r--r-- | muse2/muse/arranger/trackinfo.cpp | 19 | ||||
| -rw-r--r-- | muse2/muse/ctrl/ctrlpanel.cpp | 18 | ||||
| -rw-r--r-- | muse2/muse/ctrl/ctrlpanel.h | 2 | ||||
| -rw-r--r-- | muse2/muse/instruments/editinstrument.cpp | 21 | ||||
| -rw-r--r-- | muse2/muse/instruments/editinstrument.h | 2 | ||||
| -rw-r--r-- | muse2/muse/liste/editevent.cpp | 31 | ||||
| -rw-r--r-- | muse2/muse/liste/editevent.h | 2 | ||||
| -rw-r--r-- | muse2/muse/liste/listedit.cpp | 7 | ||||
| -rw-r--r-- | muse2/muse/marker/markerview.cpp | 6 | ||||
| -rw-r--r-- | muse2/muse/marker/markerview.h | 4 | ||||
| -rw-r--r-- | muse2/muse/master/lmaster.cpp | 3 | ||||
| -rw-r--r-- | muse2/muse/midiedit/drumedit.cpp | 12 | ||||
| -rw-r--r-- | muse2/muse/mixer/rack.cpp | 8 | ||||
| -rw-r--r-- | muse2/muse/song.cpp | 32 | 
18 files changed, 130 insertions, 84 deletions
| diff --git a/muse2/muse/app.cpp b/muse2/muse/app.cpp index e2748724..0f69754e 100644 --- a/muse2/muse/app.cpp +++ b/muse2/muse/app.cpp @@ -983,7 +983,7 @@ MusE::MusE(int argc, char** argv) : QMainWindow()        connect(recordAction, SIGNAL(toggled(bool)), song, SLOT(setRecord(bool)));        panicAction = new QAction(QIcon(*panicIcon), -         tr("Panic"), 0); +         tr("Panic"), this);        panicAction->setWhatsThis(tr(infoPanicButton));        connect(panicAction, SIGNAL(activated()), song, SLOT(panic())); @@ -1004,7 +1004,7 @@ MusE::MusE(int argc, char** argv) : QMainWindow()        fileOpenAction->setToolTip(tr(fileOpenText));        fileOpenAction->setWhatsThis(tr(fileOpenText)); -      openRecent = new QMenu(tr("Open &Recent")); +      openRecent = new QMenu(tr("Open &Recent"), this);        fileSaveAction = new QAction(QIcon(*saveIcon), tr("&Save"), this);  @@ -1033,9 +1033,9 @@ MusE::MusE(int argc, char** argv) : QMainWindow()        editDeleteSelectedAction = new QAction(QIcon(*edit_track_delIcon), tr("Delete Selected Tracks"), this); -      addTrack = new QMenu(tr("Add Track")); +      addTrack = new QMenu(tr("Add Track"), this);        addTrack->setIcon(QIcon(*edit_track_addIcon)); -      select = new QMenu(tr("Select")); +      select = new QMenu(tr("Select"), this);        select->setIcon(QIcon(*selectIcon));        editSelectAllAction = new QAction(QIcon(*select_allIcon), tr("Select &All"), this); @@ -1050,12 +1050,12 @@ MusE::MusE(int argc, char** argv) : QMainWindow()        startListEditAction = new QAction(QIcon(*edit_listIcon), tr("List"), this);        startWaveEditAction = new QAction(QIcon(*edit_waveIcon), tr("Wave"), this); -      master = new QMenu(tr("Mastertrack")); +      master = new QMenu(tr("Mastertrack"), this);        master->setIcon(QIcon(*edit_mastertrackIcon));        masterGraphicAction = new QAction(QIcon(*mastertrack_graphicIcon),tr("Graphic"), this);        masterListAction = new QAction(QIcon(*mastertrack_listIcon),tr("List"), this); -      midiEdit = new QMenu(tr("Midi")); +      midiEdit = new QMenu(tr("Midi"), this);        midiEdit->setIcon(QIcon(*edit_midiIcon));        midiTransposeAction = new QAction(QIcon(*midi_transposeIcon), tr("Transpose"), this); @@ -1087,9 +1087,9 @@ MusE::MusE(int argc, char** argv) : QMainWindow()        strCutEventsAction->setEnabled(false);        //-------- Midi Actions -      menuScriptPlugins = new QMenu(tr("&Plugins")); +      menuScriptPlugins = new QMenu(tr("&Plugins"), this);        midiEditInstAction = new QAction(QIcon(*midi_edit_instrumentIcon), tr("Edit Instrument"), this); -      midiInputPlugins = new QMenu(tr("Input Plugins")); +      midiInputPlugins = new QMenu(tr("Input Plugins"), this);        midiInputPlugins->setIcon(QIcon(*midi_inputpluginsIcon));        midiTrpAction = new QAction(QIcon(*midi_inputplugins_transposeIcon), tr("Transpose"), this);        midiInputTrfAction = new QAction(QIcon(*midi_inputplugins_midi_input_transformIcon), tr("Midi Input Transform"), this); @@ -1117,7 +1117,7 @@ MusE::MusE(int argc, char** argv) : QMainWindow()        //-------- Settings Actions        settingsGlobalAction = new QAction(QIcon(*settings_globalsettingsIcon), tr("Global Settings"), this);        settingsShortcutsAction = new QAction(QIcon(*settings_configureshortcutsIcon), tr("Configure shortcuts"), this); -      follow = new QMenu(tr("follow song")); +      follow = new QMenu(tr("follow song"), this);        dontFollowAction = new QAction(tr("dont follow Song"), this);        dontFollowAction->setCheckable(true);        followPageAction = new QAction(tr("follow page"), this); diff --git a/muse2/muse/arranger/arranger.h b/muse2/muse/arranger/arranger.h index a642c7a8..fa4bb06b 100644 --- a/muse2/muse/arranger/arranger.h +++ b/muse2/muse/arranger/arranger.h @@ -98,7 +98,7 @@ class Arranger : public QWidget {        QToolButton* ib;        int trackInfoType;        Splitter* split; -      QMenu* pop; +      ///QMenu* pop;        int songType;        PosLabel* cursorPos;        SpinBox* globalTempoSpinBox; diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index d67eaf99..1e7e323a 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -750,8 +750,8 @@ QMenu* PartCanvas::genItemPopup(CItem* item)        partPopup->addSeparator();        QAction *act_rename = partPopup->addAction(tr("rename"));        act_rename->setData(0); -      QMenu* colorPopup = new QMenu(tr("color")); -      partPopup->addMenu(colorPopup); +       +      QMenu* colorPopup = partPopup->addMenu(tr("color"));        // part color selection        //const QFontMetrics& fm = colorPopup->fontMetrics(); diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp index da4ad9ce..c7c225d3 100644 --- a/muse2/muse/arranger/tlist.cpp +++ b/muse2/muse/arranger/tlist.cpp @@ -591,23 +591,23 @@ void TList::oportPropertyPopupMenu(Track* t, int x, int y)          QMenu* p = new QMenu;          QAction* act = p->addAction(tr("Show Gui"));          act->setCheckable(true); -        printf("synth hasgui %d, gui visible %d\n",synth->hasGui(), synth->guiVisible()); +        //printf("synth hasgui %d, gui visible %d\n",synth->hasGui(), synth->guiVisible());          act->setEnabled(synth->hasGui());          act->setChecked(synth->guiVisible()); +        // If it has a gui but we don't have OSC, disable the action.          #ifndef OSC_SUPPORT          #ifdef DSSI_SUPPORT          if(dynamic_cast<DssiSynthIF*>(synth->sif()))          { -            printf("entering this wierd if statement\n"); -          p->setItemChecked(0, false); -          p->setItemEnabled(0, false); +          act->setChecked(false); +          act->setEnabled(false);          }            #endif          #endif -        act = p->exec(mapToGlobal(QPoint(x, y)), 0); -        if (act) { +        QAction* ract = p->exec(mapToGlobal(QPoint(x, y)), 0); +        if (ract == act) {                bool show = !synth->guiVisible();                audio->msgShowInstrumentGui(synth, show);                } @@ -624,10 +624,11 @@ void TList::oportPropertyPopupMenu(Track* t, int x, int y)        QMenu* p = new QMenu;        QAction* act = p->addAction(tr("Show Gui"));        act->setCheckable(true); -      printf("synth hasgui %d, gui visible %d\n",port->hasGui(), port->guiVisible()); +      //printf("synth hasgui %d, gui visible %d\n",port->hasGui(), port->guiVisible());        act->setEnabled(port->hasGui());        act->setChecked(port->guiVisible()); +      // If it has a gui but we don't have OSC, disable the action.        #ifndef OSC_SUPPORT        #ifdef DSSI_SUPPORT        MidiDevice* dev = port->device(); @@ -639,8 +640,8 @@ void TList::oportPropertyPopupMenu(Track* t, int x, int y)        #endif        #endif -      act = p->exec(mapToGlobal(QPoint(x, y)), 0); -      if (act) { +      QAction* ract = p->exec(mapToGlobal(QPoint(x, y)), 0); +      if (ract == act) {              bool show = !port->guiVisible();              audio->msgShowInstrumentGui(port->instrument(), show);              } @@ -783,7 +784,7 @@ void TList::mousePressEvent(QMouseEvent* ev)        if (t == 0) {              if (button == Qt::RightButton) {                    QMenu* p = new QMenu; -                  p->clear(); +                  //p->clear();                    QAction* midi = p->addAction(*addtrack_addmiditrackIcon,  					       tr("Add Midi Track"));  		  midi->setData(Track::MIDI); @@ -994,7 +995,7 @@ void TList::mousePressEvent(QMouseEvent* ev)                    else if (button == Qt::RightButton) {                          mode = NORMAL;                          QMenu* p = new QMenu; -                        p->clear(); +                        //p->clear();                          p->addAction(QIcon(*automation_clear_dataIcon), tr("Delete Track"))->setData(0); // ddskrjo                          p->addAction(QIcon(*track_commentIcon), tr("Track Comment"))->setData(1);                          QAction* act = p->exec(ev->globalPos(), 0); diff --git a/muse2/muse/arranger/trackinfo.cpp b/muse2/muse/arranger/trackinfo.cpp index 18589e82..e1c8047e 100644 --- a/muse2/muse/arranger/trackinfo.cpp +++ b/muse2/muse/arranger/trackinfo.cpp @@ -990,17 +990,28 @@ void Arranger::instrPopup()        int channel = track->outChannel();        int port    = track->outPort();        MidiInstrument* instr = midiPorts[port].instrument(); -      instr->populatePatchPopup(pop, channel, song->mtype(), track->type() == Track::DRUM); +      QMenu* pup = new QMenu; +      ///instr->populatePatchPopup(pop, channel, song->mtype(), track->type() == Track::DRUM); +      instr->populatePatchPopup(pup, channel, song->mtype(), track->type() == Track::DRUM); -      if(pop->actions().count() == 0) +      ///if(pop->actions().count() == 0) +      ///  return; +      if(pup->actions().count() == 0) +      { +        delete pup;          return; -      QAction *act = pop->exec(midiTrackInfo->iPatch->mapToGlobal(QPoint(10,5))); +      }   +       +      ///QAction *act = pop->exec(midiTrackInfo->iPatch->mapToGlobal(QPoint(10,5))); +      QAction *act = pup->exec(midiTrackInfo->iPatch->mapToGlobal(QPoint(10,5)));        if (act) {              int rv = act->data().toInt();              MidiPlayEvent ev(0, port, channel, ME_CONTROLLER, CTRL_PROGRAM, rv);              audio->msgPlayMidiEvent(&ev);              updateTrackInfo(-1);              } +             +      delete pup;              }  //--------------------------------------------------------- @@ -1228,7 +1239,7 @@ void Arranger::genMidiTrackInfo()        connect(midiTrackInfo->iPatch, SIGNAL(released()), SLOT(instrPopup())); -      pop = new QMenu(midiTrackInfo->iPatch); +      ///pop = new QMenu(midiTrackInfo->iPatch);        //pop->setCheckable(false); // not needed in Qt4        // Removed by Tim. p3.3.9 diff --git a/muse2/muse/ctrl/ctrlpanel.cpp b/muse2/muse/ctrl/ctrlpanel.cpp index 37472b08..cdf3104d 100644 --- a/muse2/muse/ctrl/ctrlpanel.cpp +++ b/muse2/muse/ctrl/ctrlpanel.cpp @@ -69,7 +69,8 @@ CtrlPanel::CtrlPanel(QWidget* parent, MidiEditor* e, const char* name)        selCtrl->setSizePolicy(           QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed));        selCtrl->setToolTip(tr("select controller")); -      pop = new QMenu; +       +      ///pop = new QMenu;        // destroy button        QPushButton* destroy = new QPushButton(tr("X")); @@ -537,7 +538,8 @@ void CtrlPanel::ctrlPopup()        int curDrumInstrument = editor->curDrumInstrument();        bool isDrum      = track->type() == Track::DRUM; -      pop->clear(); +      QMenu* pop = new QMenu; +      //pop->clear();        pop->addAction(tr("Velocity"))->setData(1);        MidiCtrlValListList* cll = port->controller(); @@ -593,10 +595,15 @@ void CtrlPanel::ctrlPopup()        selCtrl->setDown(false);        if (!act) -            return; - +      { +        delete pop; +        return; +      } +              int rv = act->data().toInt();        QString s = act->text(); +      delete pop; +              if (rv == 1) {    // special case velocity              emit controllerChanged(CTRL_VELOCITY);              } @@ -646,9 +653,10 @@ void CtrlPanel::ctrlPopup()                                }                          }                    } +            delete pop1;                 }        else { -            QString s = act->text(); +            ///QString s = act->text();              iMidiCtrlValList i = cll->begin();              for (; i != cll->end(); ++i) {                    MidiCtrlValList* cl = i->second; diff --git a/muse2/muse/ctrl/ctrlpanel.h b/muse2/muse/ctrl/ctrlpanel.h index 94746f49..a0e5f915 100644 --- a/muse2/muse/ctrl/ctrlpanel.h +++ b/muse2/muse/ctrl/ctrlpanel.h @@ -26,7 +26,7 @@ class MidiTrack;  //---------------------------------------------------------  class CtrlPanel: public QWidget { -      QMenu* pop; +      ///QMenu* pop;        QPushButton* selCtrl;        MidiEditor* editor; diff --git a/muse2/muse/instruments/editinstrument.cpp b/muse2/muse/instruments/editinstrument.cpp index 2fa1f0c9..a0aba89c 100644 --- a/muse2/muse/instruments/editinstrument.cpp +++ b/muse2/muse/instruments/editinstrument.cpp @@ -48,7 +48,7 @@ EditInstrument::EditInstrument(QWidget* parent, Qt::WFlags fl)        toolBar->addAction(QWhatsThis::createAction(this));        Help->addAction(QWhatsThis::createAction(this)); -      patchpopup = new QMenu(patchButton); +      ///patchpopup = new QMenu(patchButton);        //patchpopup->setCheckable(false);// Qt4 doc says this is unnecessary.        // populate instrument list @@ -1435,14 +1435,16 @@ void EditInstrument::patchButtonClicked()        //int port    = track->outPort();        //MidiInstrument* instr = midiPorts[port].instrument(); -      patchpopup->clear(); +      //patchpopup->clear(); +      QMenu* patchpopup = new QMenu; +              PatchGroupList* pg = workingInstrument.groups();        if (pg->size() > 1) {              for (ciPatchGroup i = pg->begin(); i != pg->end(); ++i) {                    PatchGroup* pgp = *i; -                  QMenu* pm = new QMenu(pgp->name); +                  QMenu* pm = patchpopup->addMenu(pgp->name);                    //pm->setCheckable(false);//Qt4 doc says this is unnecessary                    pm->setFont(config.fonts[0]);                    const PatchList& pl = pgp->patches; @@ -1460,7 +1462,6 @@ void EditInstrument::patchButtonClicked()                          //    }                          } -                        patchpopup->addMenu(pm);                    }              }        else if (pg->size() == 1 ){ @@ -1478,10 +1479,20 @@ void EditInstrument::patchButtonClicked()              }        if(patchpopup->actions().count() == 0) +      { +        delete patchpopup;          return; - +      } +              QAction* act = patchpopup->exec(patchButton->mapToGlobal(QPoint(10,5))); +      if(!act) +      { +        delete patchpopup; +        return; +      } +              int rv = act->data().toInt(); +      delete patchpopup;        if (rv != -1)         { diff --git a/muse2/muse/instruments/editinstrument.h b/muse2/muse/instruments/editinstrument.h index b200e326..62ad389e 100644 --- a/muse2/muse/instruments/editinstrument.h +++ b/muse2/muse/instruments/editinstrument.h @@ -44,7 +44,7 @@ class EditInstrument : public QMainWindow, public Ui::EditInstrumentBase {        void setDefaultPatchControls(int);        const char* getPatchName(int);        void deleteInstrument(QListWidgetItem*); -      QMenu* patchpopup; +      ///QMenu* patchpopup;     private slots:        virtual void fileNew(); diff --git a/muse2/muse/liste/editevent.cpp b/muse2/muse/liste/editevent.cpp index 9921c2cd..efcb8e84 100644 --- a/muse2/muse/liste/editevent.cpp +++ b/muse2/muse/liste/editevent.cpp @@ -593,7 +593,7 @@ EditCtrlDialog::EditCtrlDialog(int tick, const Event& event,              val = event.dataB();              } -      pop = new QMenu(this); +      ///pop = new QMenu(this);        //pop->setCheckable(false);//not necessary in Qt4        MidiTrack* track   = part->track(); @@ -677,8 +677,8 @@ EditCtrlDialog::EditCtrlDialog(int tick, const Event& event,  void EditCtrlDialog::newController()        { -      QMenu* pop = new QMenu(this); -      //pop->setCheckable(this);//not necessary in Qt4 +      QMenu* pup = new QMenu(this); +      //pup->setCheckable(this);//not necessary in Qt4        //        // populate popup with all controllers available for        // current instrument @@ -696,12 +696,12 @@ void EditCtrlDialog::newController()        {              if(cll->find(channel, ci->second->num()) == cll->end())              { -                    QAction* act = pop->addAction(ci->second->name()); +                    QAction* act = pup->addAction(ci->second->name());  		    act->setData(nn);  		    ++nn;  	    }        } -      QAction* rv = pop->exec(buttonNewController->mapToGlobal(QPoint(0,0))); +      QAction* rv = pup->exec(buttonNewController->mapToGlobal(QPoint(0,0)));        if (rv) {              QString s = rv->text();              for (iMidiController ci = mcl->begin(); ci != mcl->end(); ++ci) { @@ -733,7 +733,7 @@ void EditCtrlDialog::newController()                          }                    }              } -      delete pop; +      delete pup;        }  //---------------------------------------------------------  //   ctrlListClicked @@ -841,16 +841,27 @@ void EditCtrlDialog::instrPopup()        int channel = track->outChannel();        int port    = track->outPort();        MidiInstrument* instr = midiPorts[port].instrument(); -      instr->populatePatchPopup(pop, channel, song->mtype(), track->type() == Track::DRUM); +       +      ///instr->populatePatchPopup(pop, channel, song->mtype(), track->type() == Track::DRUM); +      QMenu* pup = new QMenu(this); +      instr->populatePatchPopup(pup, channel, song->mtype(), track->type() == Track::DRUM); -      if(pop->actions().count() == 0) +      ///if(pop->actions().count() == 0) +      ///  return; +      if(pup->actions().count() == 0) +      { +        delete pup;          return; -      QAction* rv = new QAction(pop->exec(patchName->mapToGlobal(QPoint(10,5)))); +      }   +       +      ///QAction* rv = pop->exec(patchName->mapToGlobal(QPoint(10,5))); +      QAction* rv = pup->exec(patchName->mapToGlobal(QPoint(10,5)));        if (rv) {              val = rv->data().toInt();              updatePatch();              } -      delete rv; +             +      delete pup;              }  //--------------------------------------------------------- diff --git a/muse2/muse/liste/editevent.h b/muse2/muse/liste/editevent.h index bff39181..454e6a69 100644 --- a/muse2/muse/liste/editevent.h +++ b/muse2/muse/liste/editevent.h @@ -94,7 +94,7 @@ class EditCtrlDialog : public QDialog, public Ui::EditCtrlBase  {        int val;          // controller value (for prog. changes)        const MidiPart* part; -      QMenu* pop; +      ///QMenu* pop;        void updatePatch(); diff --git a/muse2/muse/liste/listedit.cpp b/muse2/muse/liste/listedit.cpp index 7df2c8bf..aeb6eb99 100644 --- a/muse2/muse/liste/listedit.cpp +++ b/muse2/muse/liste/listedit.cpp @@ -430,16 +430,11 @@ ListEdit::ListEdit(PartList* pl)        //---------Pulldown Menu---------------------------- -      menuEdit = new QMenu(tr("&Edit"));        QSignalMapper *editSignalMapper = new QSignalMapper(this); -      menuBar()->addMenu(menuEdit); +      menuEdit = menuBar()->addMenu(tr("&Edit"));        menuEdit->addActions(undoRedo->actions()); -      ///Q3Accel* qa = new Q3Accel(this); -      ///qa->connectItem(qa->insertItem(Qt::CTRL+Qt::Key_Z), song, SLOT(undo())); -      ///qa->connectItem(qa->insertItem(Qt::CTRL+Qt::Key_Y), song, SLOT(redo())); -        menuEdit->addSeparator();  #if 0        QAction *cutAction = menuEdit->addAction(QIcon(*editcutIconSet), tr("Cut")); diff --git a/muse2/muse/marker/markerview.cpp b/muse2/muse/marker/markerview.cpp index ab976911..dd4a5a69 100644 --- a/muse2/muse/marker/markerview.cpp +++ b/muse2/muse/marker/markerview.cpp @@ -164,8 +164,8 @@ MarkerView::MarkerView(QWidget* parent)        QMenu* fileMenu = new QMenu(tr("&File"));        menuBar()->addMenu(fileMenu);        */ -      QMenu* editMenu = new QMenu(tr("&Edit")); -      menuBar()->addMenu(editMenu); +      QMenu* editMenu = menuBar()->addMenu(tr("&Edit")); +              editMenu->addAction(markerAdd);        editMenu->addAction(markerDelete); @@ -274,7 +274,7 @@ MarkerView::MarkerView(QWidget* parent)  MarkerView::~MarkerView()        { -      //printf("MarkerView::~MarkerView() before undoRedo->removeFrom(tools)\n"); +      //printf("MarkerView::~MarkerView() before undoRedo->removeFrom(tools)\n");          // undoRedo->removeFrom(tools);   // p4.0.6 Removed        } diff --git a/muse2/muse/marker/markerview.h b/muse2/muse/marker/markerview.h index ff140a13..a271873c 100644 --- a/muse2/muse/marker/markerview.h +++ b/muse2/muse/marker/markerview.h @@ -57,7 +57,7 @@ class MarkerView : public TopWin {        Awl::PosEdit* editTick;        QToolButton* lock;        QToolBar* tools; - +              Q_OBJECT        virtual void closeEvent(QCloseEvent*); @@ -73,7 +73,7 @@ class MarkerView : public TopWin {        void clicked(QTreeWidgetItem*);        void updateList();        void songChanged(int); - +           signals:        void deleted(unsigned long);        void closed(); diff --git a/muse2/muse/master/lmaster.cpp b/muse2/muse/master/lmaster.cpp index c9a94167..232b9672 100644 --- a/muse2/muse/master/lmaster.cpp +++ b/muse2/muse/master/lmaster.cpp @@ -69,9 +69,8 @@ LMaster::LMaster()        setFixedWidth(400);        //---------Pulldown Menu---------------------------- -      menuEdit = new QMenu(tr("&Edit")); +      menuEdit = menuBar()->addMenu(tr("&Edit"));        QSignalMapper *signalMapper = new QSignalMapper(this); -      menuBar()->addMenu(menuEdit);        menuEdit->addActions(undoRedo->actions());        menuEdit->addSeparator();        tempoAction = menuEdit->addAction(tr("Insert Tempo")); diff --git a/muse2/muse/midiedit/drumedit.cpp b/muse2/muse/midiedit/drumedit.cpp index bd1a55eb..bc5caca6 100644 --- a/muse2/muse/midiedit/drumedit.cpp +++ b/muse2/muse/midiedit/drumedit.cpp @@ -154,8 +154,7 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini        QSignalMapper *signalMapper = new QSignalMapper(this);        //---------Pulldown Menu---------------------------- -      menuFile = new QMenu(tr("&File")); -      menuBar()->addMenu(menuFile); +      menuFile = menuBar()->addMenu(tr("&File"));        loadAction = menuFile->addAction(QIcon(*openIcon), tr("Load Map"));        saveAction = menuFile->addAction(QIcon(*saveIcon), tr("Save Map")); @@ -169,8 +168,7 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini        signalMapper->setMapping(saveAction, DrumCanvas::CMD_SAVE);        signalMapper->setMapping(resetAction, DrumCanvas::CMD_RESET); -      menuEdit = new QMenu(tr("&Edit")); -      menuBar()->addMenu(menuEdit); +      menuEdit = menuBar()->addMenu(tr("&Edit"));        menuEdit->addActions(undoRedo->actions());        menuEdit->addSeparator(); @@ -221,8 +219,7 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini        signalMapper->setMapping(nextAction, DrumCanvas::CMD_SELECT_NEXT_PART);        // Functions -      menuFunctions = new QMenu(tr("&Functions")); -      menuBar()->addMenu(menuFunctions); +      menuFunctions = menuBar()->addMenu(tr("&Functions"));        menuFunctions->setTearOffEnabled(true); @@ -235,9 +232,8 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini        signalMapper->setMapping(fixedAction, DrumCanvas::CMD_FIXED_LEN);        signalMapper->setMapping(veloAction, DrumCanvas::CMD_MODIFY_VELOCITY); -      QMenu* menuScriptPlugins = new QMenu(tr("&Plugins")); +      QMenu* menuScriptPlugins = menuBar()->addMenu(tr("&Plugins"));        song->populateScriptMenu(menuScriptPlugins, this); -      menuBar()->addMenu(menuScriptPlugins);        connect(signalMapper, SIGNAL(mapped(int)), SLOT(cmd(int))); diff --git a/muse2/muse/mixer/rack.cpp b/muse2/muse/mixer/rack.cpp index e7f72714..2bbed787 100644 --- a/muse2/muse/mixer/rack.cpp +++ b/muse2/muse/mixer/rack.cpp @@ -236,8 +236,14 @@ void EffectRack::menuRequested(QListWidgetItem* it)        //delete menu;        if (!act) -            return; +      { +        delete menu; +        return; +      }       +              int sel = act->data().toInt(); +      delete menu; +              switch(sel) {              case NEW:                    { diff --git a/muse2/muse/song.cpp b/muse2/muse/song.cpp index 92135e16..435756e5 100644 --- a/muse2/muse/song.cpp +++ b/muse2/muse/song.cpp @@ -2437,6 +2437,7 @@ int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int a    //menu->setItemEnabled(HEADER, false);    //MenuTitleItem* title = new MenuTitleItem(tr("Automation:")); ddskrjo    //menu->insertItem(title, HEADER, HEADER); ddskrjo +  menu->addAction(new MenuTitleItem(tr("Automation:"), menu));    //menu->insertSeparator(SEP1); @@ -2451,7 +2452,7 @@ int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int a    //menu->insertSeparator(SEP2);    menu->addSeparator(); -  QAction* addEvent = new QAction(this); +  QAction* addEvent = new QAction(menu);    menu->addAction(addEvent);    if(isEvent)      addEvent->setText(tr("set event")); @@ -2462,7 +2463,7 @@ int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int a    QAction* eraseEventAction = menu->addAction(tr("erase event"));    eraseEventAction->setData(CLEAR_EVENT); -  menu->setEnabled(isEvent); +  eraseEventAction->setEnabled(isEvent);    QAction* eraseRangeAction = menu->addAction(tr("erase range"));    eraseRangeAction->setData(CLEAR_RANGE); @@ -2474,13 +2475,18 @@ int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int a    QAction* act = menu->exec(menupos);    //delete menu; -  if (!act) +  if (!act || !track) +  { +    delete menu;      return -1; +  } -  if(!track) -    return -1; +  //if(!track) +  //  return -1;    int sel = act->data().toInt(); +  delete menu; +      switch(sel)    {      case ADD_EVENT: @@ -2513,9 +2519,8 @@ int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int a            return -1;      break;          } +      return sel; - -  return 0;  }  //--------------------------------------------------------- @@ -2630,7 +2635,7 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo  //  menu->insertSeparator(SEP2); -  QAction* addEvent = new QAction(this); +  QAction* addEvent = new QAction(menu);    menu->addAction(addEvent);    if(isEvent)      addEvent->setText(tr("set event")); @@ -2642,7 +2647,7 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo    QAction* eraseEventAction = menu->addAction(tr("erase event"));    eraseEventAction->setData(CLEAR_EVENT); -  menu->setEnabled(isEvent); +  eraseEventAction->setEnabled(isEvent);  //  menu->insertItem(tr("erase range"), CLEAR_RANGE, CLEAR_RANGE);  //  menu->setItemEnabled(CLEAR_RANGE, canEraseRange); @@ -2654,12 +2659,17 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo    QAction* act = menu->exec(menupos);    //delete menu;    if (!act) +  { +    delete menu;      return -1; - +  } +      //if(!part)    //  return -1;    int sel = act->data().toInt(); +  delete menu; +      switch(sel)    {      case ADD_EVENT: @@ -2739,8 +2749,6 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo    }    return sel; - -  return 0;  }  //--------------------------------------------------------- | 
