summaryrefslogtreecommitdiff
path: root/attic/muse_qt4_evolution/muse/transport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'attic/muse_qt4_evolution/muse/transport.cpp')
-rw-r--r--attic/muse_qt4_evolution/muse/transport.cpp411
1 files changed, 0 insertions, 411 deletions
diff --git a/attic/muse_qt4_evolution/muse/transport.cpp b/attic/muse_qt4_evolution/muse/transport.cpp
deleted file mode 100644
index aa8fcc7c..00000000
--- a/attic/muse_qt4_evolution/muse/transport.cpp
+++ /dev/null
@@ -1,411 +0,0 @@
-//=============================================================================
-// MusE
-// Linux Music Editor
-// $Id:$
-//
-// Copyright (C) 2002-2006 by Werner Schweer and others
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License version 2.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-//=============================================================================
-
-#include "song.h"
-#include "transport.h"
-#include "widgets/doublelabel.h"
-#include "widgets/siglabel.h"
-#include "globals.h"
-#include "icons.h"
-#include "awl/posedit.h"
-#include "sync.h"
-#include "shortcuts.h"
-#include "gconfig.h"
-#include "muse.h"
-#include "al/sig.h"
-#include "al/tempo.h"
-
-static const char* recordTransportText = QT_TR_NOOP("Click this button to enable recording");
-static const char* stopTransportText = QT_TR_NOOP("Click this button to stop playback");
-static const char* playTransportText = QT_TR_NOOP("Click this button to start playback");
-static const char* startTransportText = QT_TR_NOOP("Click this button to rewind to start position");
-static const char* frewindTransportText = QT_TR_NOOP("Click this button to rewind");
-static const char* fforwardTransportText = QT_TR_NOOP("Click this button to forward current play position");
-
-//---------------------------------------------------------
-// Transport
-//---------------------------------------------------------
-
-Transport::Transport()
- {
- setupUi(this);
-
- connect(recMode, SIGNAL(activated(int)), SLOT(setRecMode(int)));
- connect(cycleMode, SIGNAL(activated(int)), SLOT(setCycleMode(int)));
-
- //-----------------------------------------------------
- // loop flags
- //-----------------------------------------------------
-
- connect(punchinButton, SIGNAL(toggled(bool)), song, SLOT(setPunchin(bool)));
- connect(punchoutButton, SIGNAL(toggled(bool)), song, SLOT(setPunchout(bool)));
- connect(loopButton, SIGNAL(toggled(bool)), song, SLOT(setLoop(bool)));
-
- connect(song, SIGNAL(punchinChanged(bool)), punchinButton, SLOT(setChecked(bool)));
- connect(song, SIGNAL(punchoutChanged(bool)), punchoutButton, SLOT(setChecked(bool)));
- connect(song, SIGNAL(loopChanged(bool)), loopButton, SLOT(setChecked(bool)));
-
- //-----------------------------------------------------
- // Transport Buttons
- //-----------------------------------------------------
-
- time2->setSmpte(true);
-
- buttons[0] = tb1;
- tb1->setWhatsThis(tr(startTransportText));
-
- buttons[1] = tb2;
- tb2->setAutoRepeat(true);
- tb2->setWhatsThis(tr(frewindTransportText));
-
- buttons[2] = tb3;
- tb3->setAutoRepeat(true);
- tb3->setWhatsThis(tr(fforwardTransportText));
-
- buttons[3] = tb4;
- tb4->setChecked(true); // set STOP
- tb4->setWhatsThis(tr(stopTransportText));
-
- buttons[4] = tb5;
- tb5->setWhatsThis(tr(playTransportText));
-
- buttons[5] = tb6;
- tb6->setIcon(*recordIcon);
- tb6->setWhatsThis(tr(recordTransportText));
-
- connect(buttons[0], SIGNAL(clicked()), song, SLOT(rewindStart()));
- connect(buttons[1], SIGNAL(clicked()), song, SLOT(rewind()));
- connect(buttons[2], SIGNAL(clicked()), song, SLOT(forward()));
- connect(buttons[3], SIGNAL(clicked(bool)), SLOT(stopToggled(bool)));
- connect(buttons[4], SIGNAL(clicked(bool)), SLOT(playToggled(bool)));
- connect(buttons[5], SIGNAL(clicked(bool)), song, SLOT(setRecord(bool)));
-
- connect(song, SIGNAL(recordChanged(bool)), SLOT(setRecord(bool)));
-
- //-----------------------------------------------------
- // AQ - Click - Sync
- //-----------------------------------------------------
-
-//TODOB clickButton->setShortcut(shortcuts[SHRT_TOGGLE_METRO].key);
-
- connect(quantizeButton, SIGNAL(clicked(bool)), song, SLOT(setQuantize(bool)));
- connect(clickButton, SIGNAL(clicked(bool)), song, SLOT(setClick(bool)));
- connect(syncButton, SIGNAL(clicked(bool)), SLOT(syncButtonClicked(bool)));
-//TD connect(&extSyncFlag, SIGNAL(valueChanged(bool)), SLOT(syncChanged(bool)));
-
- connect(song, SIGNAL(quantizeChanged(bool)), this, SLOT(setQuantizeFlag(bool)));
- connect(song, SIGNAL(clickChanged(bool)), clickButton, SLOT(setChecked(bool)));
-
- //-----------------------------------------------------
- // Tempo/Sig
- //-----------------------------------------------------
-
- connect(masterButton, SIGNAL(clicked(bool)), song, SLOT(setMasterFlag(bool)));
-
- //-----------------------------------------------------
-
- connect(tl1, SIGNAL(valueChanged(const Pos&)), SLOT(lposChanged(const Pos&)));
- connect(tl2, SIGNAL(valueChanged(const Pos&)), SLOT(rposChanged(const Pos&)));
- connect(time1, SIGNAL(valueChanged(const Pos&)), SLOT(cposChanged(const Pos&)));
- connect(time2, SIGNAL(valueChanged(const Pos&)), SLOT(cposChanged(const Pos&)));
-
- slider->setRange(0, song->len());
- connect(song, SIGNAL(lenChanged(const AL::Pos&)), SLOT(setLen(const AL::Pos&)));
- connect(slider,SIGNAL(sliderMoved(int)), SLOT(cposChanged(int)));
- connect(song, SIGNAL(posChanged(int,const AL::Pos&, bool)), SLOT(setPos(int,const AL::Pos&)));
- connect(tempo, SIGNAL(tempoChanged(int)), song, SLOT(setTempo(int)));
- connect(song, SIGNAL(playChanged(bool)), SLOT(setPlay(bool)));
- connect(song, SIGNAL(songChanged(int)), this, SLOT(songChanged(int)));
- setValues();
- }
-
-//---------------------------------------------------------
-// setValues
-//---------------------------------------------------------
-
-void Transport::setValues()
- {
- punchinButton->setChecked(song->punchin());
- loopButton->setChecked(song->loop());
- punchoutButton->setChecked(song->punchout());
- quantizeButton->setChecked(song->quantize());
- clickButton->setChecked(song->click());
- syncButton->setChecked(extSyncFlag);
- setPos(0, song->cpos());
- setPos(1, song->lpos());
- setPos(2, song->rpos());
- }
-
-//---------------------------------------------------------
-// setLen
-// song len changed
-//---------------------------------------------------------
-
-void Transport::setLen(const AL::Pos& len)
- {
- slider->setRange(0, len.tick());
- }
-
-//---------------------------------------------------------
-// setTimesig
-//---------------------------------------------------------
-
-void Transport::setTimesig(int /*z*/, int /*n*/)
- {
-//TD tempo->setTimesig(z, n);
- }
-
-//---------------------------------------------------------
-// setPos
-//---------------------------------------------------------
-
-void Transport::setPos(int idx, const AL::Pos& pos)
- {
- switch (idx) {
- case 0:
- time1->setValue(pos);
- time2->setValue(pos);
- slider->setValue(pos.tick());
- {
- int tp = AL::tempomap.tempo(pos.tick());
- AL::TimeSignature sig = AL::sigmap.timesig(pos.tick());
- int z = sig.z;
- int n = sig.n;
- setTimesig(z, n);
- tempo->setTempo(tp);
- }
- break;
- case 1:
- tl1->setValue(pos);
- break;
- case 2:
- tl2->setValue(pos);
- break;
- }
- }
-
-//---------------------------------------------------------
-// cposChanged
-//---------------------------------------------------------
-
-void Transport::cposChanged(int tick)
- {
- song->setPos(0, tick);
- }
-
-//---------------------------------------------------------
-// cposChanged
-//---------------------------------------------------------
-
-void Transport::cposChanged(const Pos& pos)
- {
- song->setPos(0, pos.tick());
- }
-
-//---------------------------------------------------------
-// lposChanged
-//---------------------------------------------------------
-
-void Transport::lposChanged(const Pos& pos)
- {
- song->setPos(1, pos.tick());
- }
-
-//---------------------------------------------------------
-// rposChanged
-//---------------------------------------------------------
-
-void Transport::rposChanged(const Pos& pos)
- {
- song->setPos(2, pos.tick());
- }
-
-//---------------------------------------------------------
-// setPlay
-//---------------------------------------------------------
-
-void Transport::setPlay(bool f)
- {
- buttons[3]->setChecked(!f);
- buttons[4]->setChecked(f);
- }
-
-//---------------------------------------------------------
-// setMasterFlag
-//---------------------------------------------------------
-
-void Transport::setMasterFlag(bool f)
- {
- masterButton->setChecked(f);
- }
-
-//---------------------------------------------------------
-// setQuantizeFlag
-//---------------------------------------------------------
-
-void Transport::setQuantizeFlag(bool f)
- {
- quantizeButton->setChecked(f);
- }
-
-//---------------------------------------------------------
-// setSyncFlag
-//---------------------------------------------------------
-
-void Transport::setSyncFlag(bool f)
- {
- syncButton->setChecked(f);
- }
-
-//---------------------------------------------------------
-// toggleRecMode
-//---------------------------------------------------------
-
-void Transport::setRecMode(int id)
- {
- song->setRecMode(id);
- }
-
-//---------------------------------------------------------
-// toggleCycleMode
-//---------------------------------------------------------
-
-void Transport::setCycleMode(int id)
- {
- song->setCycleMode(id);
- }
-
-//---------------------------------------------------------
-// songChanged
-//---------------------------------------------------------
-
-void Transport::songChanged(int flags)
- {
- int cpos = song->cpos();
- if (flags & (SC_MASTER | SC_TEMPO)) {
- if (extSyncFlag) {
- tempo->setTempo(0);
- }
- else {
- int t = AL::tempomap.tempo(cpos);
- tempo->setTempo(t);
- }
- }
- if (flags & SC_SIG) {
- AL::TimeSignature sig = AL::sigmap.timesig(cpos);
- int z = sig.z;
- int n = sig.n;
- setTimesig(z, n);
- }
- if (flags & SC_MASTER)
- masterButton->setChecked(song->masterFlag());
- }
-
-//---------------------------------------------------------
-// syncChanged
-//---------------------------------------------------------
-
-void Transport::syncChanged(bool flag)
- {
- syncButton->setChecked(flag);
- buttons[0]->setEnabled(!flag); // goto start
- buttons[1]->setEnabled(!flag); // rewind
- buttons[2]->setEnabled(!flag); // forward
- buttons[3]->setEnabled(!flag); // stop
- buttons[4]->setEnabled(!flag); // play
- slider->setEnabled(!flag);
- masterButton->setEnabled(!flag);
- if (flag) {
- masterButton->setChecked(false);
- song->setMasterFlag(false);
- tempo->setValue(0); // slave mode: show "extern"
- }
- else
- tempo->setValue(AL::tempomap.tempo(song->cpos()));
- muse->playAction->setEnabled(!flag);
- muse->startAction->setEnabled(!flag);
- muse->stopAction->setEnabled(!flag);
- muse->rewindAction->setEnabled(!flag);
- muse->forwardAction->setEnabled(!flag);
- }
-
-//---------------------------------------------------------
-// stopToggled
-//---------------------------------------------------------
-
-void Transport::stopToggled(bool val)
- {
- if (val)
- song->setStop(true);
- else {
- buttons[3]->setChecked(true);
- }
- }
-
-//---------------------------------------------------------
-// playToggled
-//---------------------------------------------------------
-
-void Transport::playToggled(bool val)
- {
- if (val)
- song->setPlay(true);
- else {
- buttons[4]->setChecked(true);
- }
- }
-
-//---------------------------------------------------------
-// setRecord
-//---------------------------------------------------------
-
-void Transport::setRecord(bool flag)
- {
- buttons[5]->setChecked(flag);
- }
-
-//---------------------------------------------------------
-// syncButtonClicked
-//---------------------------------------------------------
-
-void Transport::syncButtonClicked(bool flag)
- {
- extSyncFlag = flag;
- }
-
-//---------------------------------------------------------
-// syncChanged
-//---------------------------------------------------------
-
-void Transport::syncChanged()
- {
- syncButton->setChecked(extSyncFlag);
- }
-
-//---------------------------------------------------------
-// closeEvent
-//---------------------------------------------------------
-
-void Transport::closeEvent(QCloseEvent *ev)
- {
- emit closed();
- QWidget::closeEvent(ev);
- }
-