summaryrefslogtreecommitdiff
path: root/muse2
diff options
context:
space:
mode:
Diffstat (limited to 'muse2')
-rw-r--r--muse2/CMakeLists.txt13
-rw-r--r--muse2/ChangeLog1
-rw-r--r--muse2/muse/CMakeLists.txt16
-rw-r--r--muse2/muse/app.cpp17
-rw-r--r--muse2/muse/arranger/pcanvas.cpp2
-rw-r--r--muse2/muse/audio.cpp10
-rw-r--r--muse2/muse/audioprefetch.cpp26
-rw-r--r--muse2/muse/audioprefetch.h8
-rw-r--r--muse2/muse/controlfifo.cpp3
-rw-r--r--muse2/muse/controlfifo.h3
-rw-r--r--muse2/muse/driver/alsamidi.h10
-rw-r--r--muse2/muse/driver/alsatimer.cpp4
-rw-r--r--muse2/muse/driver/alsatimer.h3
-rw-r--r--muse2/muse/driver/jack.cpp4
-rw-r--r--muse2/muse/driver/rtctimer.cpp3
-rw-r--r--muse2/muse/driver/rtctimer.h3
-rw-r--r--muse2/muse/driver/timerdev.h4
-rw-r--r--muse2/muse/fastlog.h4
-rw-r--r--muse2/muse/instruments/midictrledit.cpp4
-rw-r--r--muse2/muse/mixer/astrip.cpp10
-rw-r--r--muse2/muse/mixer/mstrip.cpp4
-rw-r--r--muse2/muse/plugin.cpp142
-rw-r--r--muse2/muse/remote/CMakeLists.txt11
-rw-r--r--muse2/muse/remote/pyapi.cpp139
-rw-r--r--muse2/muse/remote/pyapi.h4
-rw-r--r--muse2/muse/thread.cpp9
-rw-r--r--muse2/muse/thread.h6
-rw-r--r--muse2/muse/waveedit/waveview.cpp2
-rw-r--r--muse2/muse/widgets/canvas.cpp2
-rw-r--r--muse2/muse/widgets/meter.cpp8
-rw-r--r--muse2/muse/widgets/verticalmeter.cpp4
31 files changed, 278 insertions, 201 deletions
diff --git a/muse2/CMakeLists.txt b/muse2/CMakeLists.txt
index 9d438d0c..cfffaa8e 100644
--- a/muse2/CMakeLists.txt
+++ b/muse2/CMakeLists.txt
@@ -109,6 +109,7 @@ option ( ENABLE_DSSI "enable Disposable Soft Synth Interface (OSC also re
option ( ENABLE_VST "enable VST/win support" OFF)
option ( ENABLE_FLUID "enable fluidsynth softsynth plugins" ON)
option ( ENABLE_EXPERIMENTAL "enable building experimental features" OFF)
+option ( ENABLE_PYTHON "enable Python control support" OFF)
option ( UPDATE_TRANSLATIONS "Update source translation share/locale/*.ts files
(WARNING: This will modify the .ts files in the source tree!!)" OFF)
option ( MODULES_BUILD_STATIC "Build type of internal modules" OFF)
@@ -230,6 +231,17 @@ else (ENABLE_OSC)
endif (ENABLE_OSC)
##
+## check for python >= 2.4
+##
+
+if (ENABLE_PYTHON)
+ PKG_CHECK_MODULES(PYTHON python>=2.4)
+ if (PYTHON_FOUND)
+ set(PYTHON_SUPPORT ON)
+ endif (PYTHON_FOUND)
+endif (ENABLE_PYTHON)
+
+##
## check for dssi >= 0.9.0
##
@@ -400,6 +412,7 @@ add_custom_target(uninstall
## Show a summary of what we got
summary_add("Lash support" HAVE_LASH)
summary_add("OSC (Liblo) support" OSC_SUPPORT)
+summary_add("Python support" PYTHON_SUPPORT)
summary_add("DSSI support" DSSI_SUPPORT)
summary_add("VST support" VST_SUPPORT)
summary_add("Fluidsynth support" HAVE_FLUIDSYNTH)
diff --git a/muse2/ChangeLog b/muse2/ChangeLog
index 59f8de4e..11ee89bc 100644
--- a/muse2/ChangeLog
+++ b/muse2/ChangeLog
@@ -6,6 +6,7 @@
o MusECore: For non-gui classes
o MusEGui: For gui classes
One or two more namespaces will be added for the stuff outside the main tree (synti, al, etc) (Orcan)
+ - Fixed python control add-on building. Left it off by default. (Orcan)
05.09.2011:
- SigEdit, up/down arrow in denominator only moves between powers of two, 2,4,8...128 (rj)
04.09.2011:
diff --git a/muse2/muse/CMakeLists.txt b/muse2/muse/CMakeLists.txt
index b26100f9..187bd41e 100644
--- a/muse2/muse/CMakeLists.txt
+++ b/muse2/muse/CMakeLists.txt
@@ -43,11 +43,11 @@ set (SubDirs
widgets
)
-if (ENABLE_PYTHON)
- set ( PYREM_CPP_FLAGS "-DENABLE_PYTHON" )
- set ( PYLIBS ${PYTHON_LIB} remote)
+if (PYTHON_SUPPORT)
+ set ( REM_CPP_FLAGS "-DENABLE_PYTHON" )
+ set ( REM_LIB remote )
set ( SubDirs ${SubDirs} remote )
-endif (ENABLE_PYTHON)
+endif (PYTHON_SUPPORT)
subdirs (${SubDirs})
@@ -207,9 +207,9 @@ include_directories(
##
set_target_properties( core
# PROPERTIES COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h"
- # PROPERTIES COMPILE_FLAGS "-Imidiedit -Iarranger -Iliste -Iwidgets -Imixer -Idriver -Iwaveedit -Implugins -Iinstruments -Iremote ${PYREM_CPP_FLAGS} -include ${PROJECT_BINARY_DIR}/all.h "
- # PROPERTIES COMPILE_FLAGS "${PYREM_CPP_FLAGS} -DINSTPREFIX='\"${CMAKE_INSTALL_PREFIX}\"' -DINSTLIBDIR='\"${LIBRARY_OUTPUT_DIRECTORY}\"' -include ${PROJECT_BINARY_DIR}/all.h "
- PROPERTIES COMPILE_FLAGS "${PYREM_CPP_FLAGS} -include ${PROJECT_BINARY_DIR}/all.h"
+ # PROPERTIES COMPILE_FLAGS "-Imidiedit -Iarranger -Iliste -Iwidgets -Imixer -Idriver -Iwaveedit -Implugins -Iinstruments -Iremote ${REM_CPP_FLAGS} -include ${PROJECT_BINARY_DIR}/all.h "
+ # PROPERTIES COMPILE_FLAGS "${REM_CPP_FLAGS} -DINSTPREFIX='\"${CMAKE_INSTALL_PREFIX}\"' -DINSTLIBDIR='\"${LIBRARY_OUTPUT_DIRECTORY}\"' -include ${PROJECT_BINARY_DIR}/all.h "
+ PROPERTIES COMPILE_FLAGS "${REM_CPP_FLAGS} -include ${PROJECT_BINARY_DIR}/all.h"
OUTPUT_NAME muse_core
)
set_target_properties( muse
@@ -246,7 +246,7 @@ target_link_libraries(core
${SNDFILE_LIBRARIES}
${SAMPLERATE_LIBRARIES}
${UUID_LIBRARIES}
- ${PYLIBS}
+ ${REM_LIB}
${FST_LIB}
dl
)
diff --git a/muse2/muse/app.cpp b/muse2/muse/app.cpp
index 8d390468..677743b3 100644
--- a/muse2/muse/app.cpp
+++ b/muse2/muse/app.cpp
@@ -65,6 +65,7 @@
#include "mixdowndialog.h"
#include "pianoroll.h"
#include "scoreedit.h"
+#include "remote/pyapi.h"
#include "routepopup.h"
#include "shortcutconfig.h"
#include "songinfo.h"
@@ -211,9 +212,9 @@ bool MusE::seqStart()
// printf("MusE: WARNING: Midi realtime priority %d is the same as audio prefetch realtime priority %d. Try a different setting.\n",
// midiprio, pfprio);
- audioPrefetch->start(pfprio);
+ MusEGlobal::audioPrefetch->start(pfprio);
- audioPrefetch->msgSeek(0, true); // force
+ MusEGlobal::audioPrefetch->msgSeek(0, true); // force
//MusEGlobal::midiSeqRunning = !midiSeq->start(MusEGlobal::realTimeScheduling ? MusEGlobal::realTimePriority : 0);
// Changed by Tim. p3.3.22
@@ -255,7 +256,7 @@ void MusE::seqStop()
MusEGlobal::song->setStopPlay(false);
MusEGlobal::midiSeq->stop(true);
MusEGlobal::audio->stop(true);
- audioPrefetch->stop(true);
+ MusEGlobal::audioPrefetch->stop(true);
if (MusEGlobal::realTimeScheduling && watchdogThread)
pthread_cancel(watchdogThread);
}
@@ -372,9 +373,9 @@ MusE::MusE(int argc, char** argv) : QMainWindow()
// Python bridge
//---------------------------------------------------
// Uncomment in order to enable MusE Python bridge:
- if (usePythonBridge) {
+ if (MusEGlobal::usePythonBridge) {
printf("Initializing python bridge!\n");
- if (initPythonBridge() == false) {
+ if (MusECore::initPythonBridge() == false) {
printf("Could not initialize Python bridge\n");
exit(1);
}
@@ -736,8 +737,8 @@ MusE::MusE(int argc, char** argv) : QMainWindow()
//MusEGlobal::midiSeq = new MusECore::MidiSeq(MusEGlobal::realTimeScheduling ? MusEGlobal::realTimePriority : 0, "Midi");
MusEGlobal::midiSeq = new MusECore::MidiSeq("Midi");
MusEGlobal::audio = new MusECore::Audio();
- //audioPrefetch = new AudioPrefetch(0, "Disc");
- audioPrefetch = new AudioPrefetch("Prefetch");
+ //MusEGlobal::audioPrefetch = new MusECore::AudioPrefetch(0, "Disc");
+ MusEGlobal::audioPrefetch = new MusECore::AudioPrefetch("Prefetch");
//---------------------------------------------------
// Popups
@@ -1602,7 +1603,7 @@ void MusE::closeEvent(QCloseEvent* event)
MusECore::exitOSC();
// p3.3.47
- delete audioPrefetch;
+ delete MusEGlobal::audioPrefetch;
delete MusEGlobal::audio;
delete MusEGlobal::midiSeq;
delete MusEGlobal::song;
diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp
index 1984f799..0f2f4629 100644
--- a/muse2/muse/arranger/pcanvas.cpp
+++ b/muse2/muse/arranger/pcanvas.cpp
@@ -3953,7 +3953,7 @@ void PartCanvas::processAutomationMovements(QPoint pos, bool addPoint)
double PartCanvas::dbToVal(double inDb)
{
- return (20.0*fast_log10(inDb)+60.0) / 70.0;
+ return (20.0*MusECore::fast_log10(inDb)+60.0) / 70.0;
}
double PartCanvas::valToDb(double inV)
{
diff --git a/muse2/muse/audio.cpp b/muse2/muse/audio.cpp
index 1f3dc6ad..fd90c2c2 100644
--- a/muse2/muse/audio.cpp
+++ b/muse2/muse/audio.cpp
@@ -260,7 +260,7 @@ bool Audio::sync(int jackState, unsigned frame)
Pos p(frame, false);
seek(p);
if (!_freewheel)
- done = audioPrefetch->seekDone();
+ done = MusEGlobal::audioPrefetch->seekDone();
if (s == START_PLAY)
state = START_PLAY;
}
@@ -269,7 +269,7 @@ bool Audio::sync(int jackState, unsigned frame)
// seek during seek
seek(Pos(frame, false));
}
- done = audioPrefetch->seekDone();
+ done = MusEGlobal::audioPrefetch->seekDone();
}
}
return done;
@@ -399,7 +399,7 @@ void Audio::process(unsigned frames)
if (isPlaying()) {
if (!freewheel())
- audioPrefetch->msgTick();
+ MusEGlobal::audioPrefetch->msgTick();
if (_bounce && _pos >= MusEGlobal::song->rPos()) {
_bounce = false;
@@ -759,11 +759,11 @@ void Audio::seek(const Pos& p)
//loopPassed = true; // for record loop mode
if (state != LOOP2 && !freewheel())
{
- //audioPrefetch->msgSeek(_pos.frame());
+ //MusEGlobal::audioPrefetch->msgSeek(_pos.frame());
// We need to force prefetch to update, to ensure the most recent data.
// Things can happen to a part before play is pressed - such as part muting,
// part moving etc. Without a force, the wrong data was being played. Tim 08/17/08
- audioPrefetch->msgSeek(_pos.frame(), true);
+ MusEGlobal::audioPrefetch->msgSeek(_pos.frame(), true);
}
write(sigFd, "G", 1); // signal seek to gui
diff --git a/muse2/muse/audioprefetch.cpp b/muse2/muse/audioprefetch.cpp
index e72b8a8c..9406911f 100644
--- a/muse2/muse/audioprefetch.cpp
+++ b/muse2/muse/audioprefetch.cpp
@@ -33,6 +33,12 @@
#include "audio.h"
#include "sync.h"
+namespace MusEGlobal {
+MusECore::AudioPrefetch* audioPrefetch;
+}
+
+namespace MusECore {
+
// Added by Tim. p3.3.20
//#define AUDIOPREFETCH_DEBUG
@@ -47,8 +53,6 @@ struct PrefetchMsg : public ThreadMsg {
int pos;
};
-AudioPrefetch* audioPrefetch;
-
//---------------------------------------------------------
// AudioPrefetch
//---------------------------------------------------------
@@ -82,7 +86,7 @@ static void readMsgP(void* p, void*)
void AudioPrefetch::start(int priority)
{
clearPollFd();
- addPollFd(toThreadFdr, POLLIN, ::readMsgP, this, 0);
+ addPollFd(toThreadFdr, POLLIN, MusECore::readMsgP, this, 0);
//Thread::start();
Thread::start(priority);
}
@@ -181,7 +185,7 @@ void AudioPrefetch::prefetch(bool doSeek)
return;
}
if (MusEGlobal::song->loop() && !MusEGlobal::audio->bounce() && !MusEGlobal::extSyncFlag.value()) {
- const MusECore::Pos& loop = MusEGlobal::song->rPos();
+ const Pos& loop = MusEGlobal::song->rPos();
unsigned n = loop.frame() - writePos;
if (n < MusEGlobal::segmentSize) {
unsigned lpos = MusEGlobal::song->lPos().frame();
@@ -192,9 +196,9 @@ void AudioPrefetch::prefetch(bool doSeek)
writePos = lpos - n;
}
}
- MusECore::WaveTrackList* tl = MusEGlobal::song->waves();
- for (MusECore::iWaveTrack it = tl->begin(); it != tl->end(); ++it) {
- MusECore::WaveTrack* track = *it;
+ WaveTrackList* tl = MusEGlobal::song->waves();
+ for (iWaveTrack it = tl->begin(); it != tl->end(); ++it) {
+ WaveTrack* track = *it;
// p3.3.29
// Save time. Don't bother if track is off. Track On/Off not designed for rapid repeated response (but mute is).
if(track->off())
@@ -245,9 +249,9 @@ void AudioPrefetch::seek(unsigned seekTo)
}
writePos = seekTo;
- MusECore::WaveTrackList* tl = MusEGlobal::song->waves();
- for (MusECore::iWaveTrack it = tl->begin(); it != tl->end(); ++it) {
- MusECore::WaveTrack* track = *it;
+ WaveTrackList* tl = MusEGlobal::song->waves();
+ for (iWaveTrack it = tl->begin(); it != tl->end(); ++it) {
+ WaveTrack* track = *it;
track->clearPrefetchFifo();
}
@@ -275,3 +279,5 @@ void AudioPrefetch::seek(unsigned seekTo)
--seekCount;
}
+} // namespace MusECore
+
diff --git a/muse2/muse/audioprefetch.h b/muse2/muse/audioprefetch.h
index e55251dc..5b34b2cc 100644
--- a/muse2/muse/audioprefetch.h
+++ b/muse2/muse/audioprefetch.h
@@ -26,6 +26,8 @@
#include "thread.h"
+namespace MusECore {
+
//---------------------------------------------------------
// AudioPrefetch
//---------------------------------------------------------
@@ -56,6 +58,10 @@ class AudioPrefetch : public Thread {
bool seekDone() const { return seekCount == 0; }
};
-extern AudioPrefetch* audioPrefetch;
+} // namespace MusECore
+
+namespace MusEGlobal {
+extern MusECore::AudioPrefetch* audioPrefetch;
+}
#endif
diff --git a/muse2/muse/controlfifo.cpp b/muse2/muse/controlfifo.cpp
index 741caad1..c9ff9ed6 100644
--- a/muse2/muse/controlfifo.cpp
+++ b/muse2/muse/controlfifo.cpp
@@ -21,6 +21,8 @@
#include "controlfifo.h"
+namespace MusECore {
+
//---------------------------------------------------------
// ControlFifo
// put
@@ -73,5 +75,6 @@ void ControlFifo::remove()
--size;
}
+} // namespace MusECore
diff --git a/muse2/muse/controlfifo.h b/muse2/muse/controlfifo.h
index 8a9578f1..6a35c8a5 100644
--- a/muse2/muse/controlfifo.h
+++ b/muse2/muse/controlfifo.h
@@ -24,6 +24,8 @@
#define CONTROL_FIFO_SIZE 8192
+namespace MusECore {
+
//---------------------------------------------------------
// ControlEvent
// Item struct for ControlFifo.
@@ -62,5 +64,6 @@ class ControlFifo
int getSize() const { return size; }
};
+} // namespace MusECore
#endif
diff --git a/muse2/muse/driver/alsamidi.h b/muse2/muse/driver/alsamidi.h
index 832d86d7..2054a7d3 100644
--- a/muse2/muse/driver/alsamidi.h
+++ b/muse2/muse/driver/alsamidi.h
@@ -45,8 +45,8 @@ class MidiAlsaDevice : public MidiDevice {
private:
// Special for ALSA midi device: Play event list is processed in the ALSA midi sequencer thread.
// Need this FIFO, to decouple from audio thread which adds events to the list.
- MusECore::MidiFifo playEventFifo;
- MusECore::MidiFifo stuckNotesFifo;
+ MidiFifo playEventFifo;
+ MidiFifo stuckNotesFifo;
volatile bool stopPending;
volatile bool seekPending;
@@ -57,7 +57,7 @@ class MidiAlsaDevice : public MidiDevice {
virtual int selectWfd();
bool putEvent(snd_seq_event_t*);
- virtual bool putMidiEvent(const MusECore::MidiPlayEvent&);
+ virtual bool putMidiEvent(const MidiPlayEvent&);
public:
MidiAlsaDevice(const snd_seq_addr_t&, const QString& name);
@@ -69,9 +69,9 @@ class MidiAlsaDevice : public MidiDevice {
virtual void writeRouting(int, Xml&) const;
virtual inline int deviceType() const { return ALSA_MIDI; }
// Schedule an event for playback. Returns false if event cannot be delivered.
- virtual bool addScheduledEvent(const MusECore::MidiPlayEvent& ev) { return !playEventFifo.put(ev); }
+ virtual bool addScheduledEvent(const MidiPlayEvent& ev) { return !playEventFifo.put(ev); }
// Add a stuck note. Returns false if event cannot be delivered.
- virtual bool addStuckNote(const MusECore::MidiPlayEvent& ev) { return !stuckNotesFifo.put(ev); }
+ virtual bool addStuckNote(const MidiPlayEvent& ev) { return !stuckNotesFifo.put(ev); }
// Play all events up to current frame.
virtual void processMidi();
virtual void handleStop();
diff --git a/muse2/muse/driver/alsatimer.cpp b/muse2/muse/driver/alsatimer.cpp
index dee661fe..ee72d679 100644
--- a/muse2/muse/driver/alsatimer.cpp
+++ b/muse2/muse/driver/alsatimer.cpp
@@ -28,6 +28,8 @@
#include <climits>
#define TIMER_DEBUG 0
+
+namespace MusECore {
AlsaTimer::AlsaTimer()
{
@@ -238,3 +240,5 @@
}
return tr.ticks;
}
+
+} // namespace MusECore
diff --git a/muse2/muse/driver/alsatimer.h b/muse2/muse/driver/alsatimer.h
index b906c02d..79e9193e 100644
--- a/muse2/muse/driver/alsatimer.h
+++ b/muse2/muse/driver/alsatimer.h
@@ -30,6 +30,7 @@
#include "alsa/asoundlib.h"
#include "timerdev.h"
+namespace MusECore {
//---------------------------------------------------------
// AlsaTimer
@@ -64,4 +65,6 @@ class AlsaTimer : public Timer{
void setFindBestTimer(bool b) { findBest = b; }
};
+} // namespace MusECore
+
#endif //__ALSATIMER_H__
diff --git a/muse2/muse/driver/jack.cpp b/muse2/muse/driver/jack.cpp
index 542c68ba..733353d8 100644
--- a/muse2/muse/driver/jack.cpp
+++ b/muse2/muse/driver/jack.cpp
@@ -2234,8 +2234,8 @@ void exitJackAudio()
{
if (JACK_DEBUG)
printf("exitJackAudio()\n");
- if (MusECore::jackAudio)
- delete MusECore::jackAudio;
+ if (jackAudio)
+ delete jackAudio;
if (JACK_DEBUG)
printf("exitJackAudio() after delete jackAudio\n");
diff --git a/muse2/muse/driver/rtctimer.cpp b/muse2/muse/driver/rtctimer.cpp
index fd0fe8ed..365b8501 100644
--- a/muse2/muse/driver/rtctimer.cpp
+++ b/muse2/muse/driver/rtctimer.cpp
@@ -41,6 +41,7 @@
#include "globals.h"
#include "gconfig.h"
+namespace MusECore {
RtcTimer::RtcTimer()
{
@@ -168,3 +169,5 @@ unsigned int RtcTimer::getTimerTicks(bool /*printTicks*/)// prevent compiler war
}
return nn;
}
+
+} // namespace MusECore
diff --git a/muse2/muse/driver/rtctimer.h b/muse2/muse/driver/rtctimer.h
index 5befdf22..425ea643 100644
--- a/muse2/muse/driver/rtctimer.h
+++ b/muse2/muse/driver/rtctimer.h
@@ -29,6 +29,7 @@
#include "timerdev.h"
+namespace MusECore {
//---------------------------------------------------------
// AlsaTimer
@@ -56,4 +57,6 @@ class RtcTimer : public Timer{
};
+} // namespace MusECore
+
#endif //__ALSATIMER_H__
diff --git a/muse2/muse/driver/timerdev.h b/muse2/muse/driver/timerdev.h
index 960cf2f4..56f9216e 100644
--- a/muse2/muse/driver/timerdev.h
+++ b/muse2/muse/driver/timerdev.h
@@ -31,6 +31,8 @@
#define TIMER_DEBUG 0
+namespace MusECore {
+
//---------------------------------------------------------
// AlsaTimer
//---------------------------------------------------------
@@ -53,4 +55,6 @@ class Timer {
};
+} // namespace MusECore
+
#endif //__ALSATIMER_H__
diff --git a/muse2/muse/fastlog.h b/muse2/muse/fastlog.h
index b992bd49..bbcf18cc 100644
--- a/muse2/muse/fastlog.h
+++ b/muse2/muse/fastlog.h
@@ -28,6 +28,8 @@
#include <math.h> /* for HUGE_VAL */
+namespace MusECore {
+
static inline float fast_log2 (float val)
{
/* don't use reinterpret_cast<> because that prevents this
@@ -57,4 +59,6 @@ static inline float fast_log10 (const float val)
static inline float minus_infinity() { return -HUGE_VAL; }
+} // namespace MusECore
+
#endif /* __pbd_fastlog_h__ */
diff --git a/muse2/muse/instruments/midictrledit.cpp b/muse2/muse/instruments/midictrledit.cpp
index 71e52127..a9ca6383 100644
--- a/muse2/muse/instruments/midictrledit.cpp
+++ b/muse2/muse/instruments/midictrledit.cpp
@@ -34,6 +34,8 @@
#include "filedialog.h"
#include "globals.h"
+namespace MusEGui {
+
MidiControllerEditDialog* midiControllerEditDialog;
static MidiController predefinedMidiController[] = {
@@ -738,3 +740,5 @@ void configMidiController()
midiControllerEditDialog->show();
}
}
+
+} // namespace MusEGui
diff --git a/muse2/muse/mixer/astrip.cpp b/muse2/muse/mixer/astrip.cpp
index dd53dfc8..10f281fb 100644
--- a/muse2/muse/mixer/astrip.cpp
+++ b/muse2/muse/mixer/astrip.cpp
@@ -207,7 +207,7 @@ void AudioStrip::songChanged(int val)
if (val & SC_AUX) {
int n = auxKnob.size();
for (int idx = 0; idx < n; ++idx) {
- double val = fast_log10(src->auxSend(idx)) * 20.0;
+ double val = MusECore::fast_log10(src->auxSend(idx)) * 20.0;
auxKnob[idx]->blockSignals(true);
auxLabel[idx]->blockSignals(true);
auxKnob[idx]->setValue(val);
@@ -278,7 +278,7 @@ void AudioStrip::updateVolume()
slider->blockSignals(true);
sl->blockSignals(true);
- double val = fast_log10(vol) * 20.0;
+ double val = MusECore::fast_log10(vol) * 20.0;
slider->setValue(val);
sl->setValue(val);
sl->blockSignals(false);
@@ -796,7 +796,7 @@ AudioStrip::AudioStrip(QWidget* parent, MusECore::AudioTrack* at)
MusEGui::Knob* ak = addKnob(1, idx, &al);
auxKnob.push_back(ak);
auxLabel.push_back(al);
- double val = fast_log10(t->auxSend(idx))*20.0;
+ double val = MusECore::fast_log10(t->auxSend(idx))*20.0;
ak->setValue(val);
al->setValue(val);
}
@@ -822,7 +822,7 @@ AudioStrip::AudioStrip(QWidget* parent, MusECore::AudioTrack* at)
slider->setRange(MusEGlobal::config.minSlider-0.1, 10.0);
slider->setFixedWidth(20);
slider->setFont(MusEGlobal::config.fonts[1]);
- slider->setValue(fast_log10(t->volume())*20.0);
+ slider->setValue(MusECore::fast_log10(t->volume())*20.0);
sliderGrid->addWidget(slider, 0, 0, Qt::AlignHCenter);
@@ -845,7 +845,7 @@ AudioStrip::AudioStrip(QWidget* parent, MusECore::AudioTrack* at)
sl->setFrame(true);
sl->setPrecision(0);
sl->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum));
- sl->setValue(fast_log10(t->volume()) * 20.0);
+ sl->setValue(MusECore::fast_log10(t->volume()) * 20.0);
connect(sl, SIGNAL(valueChanged(double,int)), SLOT(volLabelChanged(double)));
//connect(sl, SIGNAL(valueChanged(double,int)), SLOT(volumeChanged(double)));
diff --git a/muse2/muse/mixer/mstrip.cpp b/muse2/muse/mixer/mstrip.cpp
index 2de0d981..2e51feb9 100644
--- a/muse2/muse/mixer/mstrip.cpp
+++ b/muse2/muse/mixer/mstrip.cpp
@@ -259,7 +259,7 @@ MidiStrip::MidiStrip(QWidget* parent, MusECore::MidiTrack* t)
dlv = sl->minValue() - 0.5 * (sl->minValue() - sl->off());
else
{
- dlv = -fast_log10(float(127*127)/float(v*v))*20.0;
+ dlv = -MusECore::fast_log10(float(127*127)/float(v*v))*20.0;
if(dlv > sl->maxValue())
dlv = sl->maxValue();
}
@@ -693,7 +693,7 @@ void MidiStrip::updateControls()
}
else
{
- double v = -fast_log10(float(127*127)/float(ivol*ivol))*20.0;
+ double v = -MusECore::fast_log10(float(127*127)/float(ivol*ivol))*20.0;
if(v > sl->maxValue())
{
//printf("MidiStrip::updateControls setting volume slider label\n");
diff --git a/muse2/muse/plugin.cpp b/muse2/muse/plugin.cpp
index 15e6c04c..63e65f2e 100644
--- a/muse2/muse/plugin.cpp
+++ b/muse2/muse/plugin.cpp
@@ -3548,13 +3548,13 @@ PluginGui::PluginGui(MusECore::PluginIBase* p)
if (strcmp(obj->metaObject()->className(), "Slider") == 0) {
gw[nobj].type = GuiWidgets::SLIDER;
- ((MusEGui::Slider*)obj)->setId(nobj);
- ((MusEGui::Slider*)obj)->setCursorHoming(true);
+ ((Slider*)obj)->setId(nobj);
+ ((Slider*)obj)->setCursorHoming(true);
//for(int i = 0; i < nobj; i++)
for(unsigned long i = 0; i < nobj; i++) // p4.0.21
{
if(gw[i].type == GuiWidgets::DOUBLE_LABEL && gw[i].param == parameter)
- ((MusEGui::DoubleLabel*)gw[i].widget)->setSlider((MusEGui::Slider*)obj);
+ ((DoubleLabel*)gw[i].widget)->setSlider((Slider*)obj);
}
connect(obj, SIGNAL(sliderMoved(double,int)), mapper, SLOT(map()));
connect(obj, SIGNAL(sliderPressed(int)), SLOT(guiSliderPressed(int)));
@@ -3563,13 +3563,13 @@ PluginGui::PluginGui(MusECore::PluginIBase* p)
}
else if (strcmp(obj->metaObject()->className(), "DoubleLabel") == 0) {
gw[nobj].type = GuiWidgets::DOUBLE_LABEL;
- ((MusEGui::DoubleLabel*)obj)->setId(nobj);
+ ((DoubleLabel*)obj)->setId(nobj);
//for(int i = 0; i < nobj; i++)
for(unsigned long i = 0; i < nobj; i++)
{
if(gw[i].type == GuiWidgets::SLIDER && gw[i].param == parameter)
{
- ((MusEGui::DoubleLabel*)obj)->setSlider((MusEGui::Slider*)gw[i].widget);
+ ((DoubleLabel*)obj)->setSlider((Slider*)gw[i].widget);
break;
}
}
@@ -3609,7 +3609,7 @@ PluginGui::PluginGui(MusECore::PluginIBase* p)
unsigned long n = plugin->parameters(); // p4.0.21
params = new GuiParam[n];
- //int style = MusEGui::Slider::BgTrough | MusEGui::Slider::BgSlot;
+ //int style = Slider::BgTrough | Slider::BgSlot;
QFontMetrics fm = fontMetrics();
int h = fm.height() + 4;
@@ -3629,7 +3629,7 @@ PluginGui::PluginGui(MusECore::PluginIBase* p)
if (LADSPA_IS_HINT_TOGGLED(range.HintDescriptor)) {
params[i].type = GuiParam::GUI_SWITCH;
- MusEGui::CheckBox* cb = new MusEGui::CheckBox(mw, i, "param");
+ CheckBox* cb = new CheckBox(mw, i, "param");
cb->setId(i);
cb->setText(QString(plugin->paramName(i)));
cb->setChecked(plugin->param(i) != 0.0);
@@ -3639,7 +3639,7 @@ PluginGui::PluginGui(MusECore::PluginIBase* p)
else {
label = new QLabel(QString(plugin->paramName(i)), 0);
params[i].type = GuiParam::GUI_SLIDER;
- params[i].label = new MusEGui::DoubleLabel(val, lower, upper, 0);
+ params[i].label = new DoubleLabel(val, lower, upper, 0);
params[i].label->setFrame(true);
params[i].label->setPrecision(2);
params[i].label->setId(i);
@@ -3652,8 +3652,8 @@ PluginGui::PluginGui(MusECore::PluginIBase* p)
uint c3 = j * j * j * 43 % 256;
QColor color(c1, c2, c3);
- MusEGui::Slider* s = new MusEGui::Slider(0, "param", Qt::Horizontal,
- MusEGui::Slider::None, color);
+ Slider* s = new Slider(0, "param", Qt::Horizontal,
+ Slider::None, color);
s->setCursorHoming(true);
s->setId(i);
@@ -3663,7 +3663,7 @@ PluginGui::PluginGui(MusECore::PluginIBase* p)
s->setStep(1.0);
s->setValue(dval);
params[i].actuator = s;
- params[i].label->setSlider((MusEGui::Slider*)params[i].actuator);
+ params[i].label->setSlider((Slider*)params[i].actuator);
}
//params[i].actuator->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum));
params[i].actuator->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed));
@@ -3715,22 +3715,22 @@ PluginGui::PluginGui(MusECore::PluginIBase* p)
getPluginConvertedValues(range, lower, upper, dlower, dupper, dval);
label = new QLabel(QString(plugin->paramOutName(i)), 0);
paramsOut[i].type = GuiParam::GUI_METER;
- paramsOut[i].label = new MusEGui::DoubleLabel(val, lower, upper, 0);
+ paramsOut[i].label = new DoubleLabel(val, lower, upper, 0);
paramsOut[i].label->setFrame(true);
paramsOut[i].label->setPrecision(2);
paramsOut[i].label->setId(i);
- MusEGui::Meter::MeterType mType=MusEGui::Meter::LinMeter;
+ Meter::MeterType mType=Meter::LinMeter;
if(LADSPA_IS_HINT_INTEGER(range.HintDescriptor))
- mType=MusEGui::Meter::DBMeter;
- MusEGui::VerticalMeter* m = new MusEGui::VerticalMeter(this, mType);
+ mType=Meter::DBMeter;
+ VerticalMeter* m = new VerticalMeter(this, mType);
//printf("lower =%f upper=%f dlower=%f dupper=%f\n", lower, upper,dlower,dupper);
m->setRange(dlower, dupper);
m->setVal(dval);
m->setFixedHeight(h);
paramsOut[i].actuator = m;
-// paramsOut[i].label->setSlider((MusEGui::Slider*)params[i].actuator);
+// paramsOut[i].label->setSlider((Slider*)params[i].actuator);
//paramsOut[i].actuator->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed));
label->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed));
paramsOut[i].label->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed));
@@ -3781,9 +3781,9 @@ void PluginGui::getPluginConvertedValues(LADSPA_PortRangeHint range,
if (LADSPA_IS_HINT_LOGARITHMIC(range.HintDescriptor)) {
if (lower == 0.0)
lower = 0.001;
- dlower = fast_log10(lower)*20.0;
- dupper = fast_log10(upper)*20.0;
- dval = fast_log10(dval) * 20.0;
+ dlower = MusECore::fast_log10(lower)*20.0;
+ dupper = MusECore::fast_log10(upper)*20.0;
+ dval = MusECore::fast_log10(dval) * 20.0;
}
}
@@ -3820,13 +3820,13 @@ void PluginGui::ctrlPressed(int param)
if(params[param].type == GuiParam::GUI_SLIDER)
{
- double val = ((MusEGui::Slider*)params[param].actuator)->value();
+ double val = ((Slider*)params[param].actuator)->value();
if (LADSPA_IS_HINT_LOGARITHMIC(params[param].hint))
val = pow(10.0, val/20.0);
else if (LADSPA_IS_HINT_INTEGER(params[param].hint))
val = rint(val);
plugin->setParam(param, val);
- ((MusEGui::DoubleLabel*)params[param].label)->setValue(val);
+ ((DoubleLabel*)params[param].label)->setValue(val);
// p3.3.43
//MusEGlobal::audio->msgSetPluginCtrlVal(((PluginI*)plugin), id, val);
@@ -3844,8 +3844,8 @@ void PluginGui::ctrlPressed(int param)
}
else if(params[param].type == GuiParam::GUI_SWITCH)
{
- //double val = (double)((MusEGui::CheckBox*)params[param].actuator)->isChecked();
- float val = (float)((MusEGui::CheckBox*)params[param].actuator)->isChecked(); // p4.0.21
+ //double val = (double)((CheckBox*)params[param].actuator)->isChecked();
+ float val = (float)((CheckBox*)params[param].actuator)->isChecked(); // p4.0.21
plugin->setParam(param, val);
// p3.3.43
@@ -3888,7 +3888,7 @@ void PluginGui::ctrlReleased(int param)
if(params[param].type == GuiParam::GUI_SLIDER)
{
- double val = ((MusEGui::Slider*)params[param].actuator)->value();
+ double val = ((Slider*)params[param].actuator)->value();
if (LADSPA_IS_HINT_LOGARITHMIC(params[param].hint))
val = pow(10.0, val/20.0);
else if (LADSPA_IS_HINT_INTEGER(params[param].hint))
@@ -3897,7 +3897,7 @@ void PluginGui::ctrlReleased(int param)
}
//else if(params[param].type == GuiParam::GUI_SWITCH)
//{
- //double val = (double)((MusEGui::CheckBox*)params[param].actuator)->isChecked();
+ //double val = (double)((CheckBox*)params[param].actuator)->isChecked();
// No concept of 'untouching' a checkbox. Remain 'touched' until stop.
//plugin->track()->stopAutoRecord(MusECore::genACnum(plugin->id(), param), val);
//}
@@ -3935,7 +3935,7 @@ void PluginGui::sliderChanged(double val, int param)
val = rint(val);
if (plugin->param(param) != val) {
plugin->setParam(param, val);
- ((MusEGui::DoubleLabel*)params[param].label)->setValue(val);
+ ((DoubleLabel*)params[param].label)->setValue(val);
}
int id = plugin->id();
@@ -3974,12 +3974,12 @@ void PluginGui::labelChanged(double val, int param)
double dval = val;
if (LADSPA_IS_HINT_LOGARITHMIC(params[param].hint))
- dval = fast_log10(val) * 20.0;
+ dval = MusECore::fast_log10(val) * 20.0;
else if (LADSPA_IS_HINT_INTEGER(params[param].hint))
dval = rint(val);
if (plugin->param(param) != val) {
plugin->setParam(param, val);
- ((MusEGui::Slider*)params[param].actuator)->setValue(dval);
+ ((Slider*)params[param].actuator)->setValue(dval);
}
int id = plugin->id();
@@ -4014,12 +4014,12 @@ void PluginGui::load()
s += plugin->pluginLabel();
s += "/";
- QString fn = MusEGui::getOpenFileName(s, MusEGlobal::preset_file_pattern,
+ QString fn = getOpenFileName(s, MusEGlobal::preset_file_pattern,
this, tr("MusE: load preset"), 0);
if (fn.isEmpty())
return;
bool popenFlag;
- FILE* f = MusEGui::fileOpen(this, fn, QString(".pre"), "r", popenFlag, true);
+ FILE* f = fileOpen(this, fn, QString(".pre"), "r", popenFlag, true);
if (f == 0)
return;
@@ -4079,13 +4079,13 @@ void PluginGui::save()
s += plugin->pluginLabel();
s += "/";
- //QString fn = MusEGui::getSaveFileName(s, MusEGlobal::preset_file_pattern, this,
- QString fn = MusEGui::getSaveFileName(s, MusEGlobal::preset_file_save_pattern, this,
+ //QString fn = getSaveFileName(s, MusEGlobal::preset_file_pattern, this,
+ QString fn = getSaveFileName(s, MusEGlobal::preset_file_save_pattern, this,
tr("MusE: save preset"));
if (fn.isEmpty())
return;
bool popenFlag;
- FILE* f = MusEGui::fileOpen(this, fn, QString(".pre"), "w", popenFlag, false, true);
+ FILE* f = fileOpen(this, fn, QString(".pre"), "w", popenFlag, false, true);
if (f == 0)
return;
MusECore::Xml xml(f);
@@ -4135,17 +4135,17 @@ void PluginGui::updateValues()
double lv = plugin->param(i);
double sv = lv;
if (LADSPA_IS_HINT_LOGARITHMIC(params[i].hint))
- sv = fast_log10(lv) * 20.0;
+ sv = MusECore::fast_log10(lv) * 20.0;
else if (LADSPA_IS_HINT_INTEGER(params[i].hint))
{
sv = rint(lv);
lv = sv;
}
gp->label->setValue(lv);
- ((MusEGui::Slider*)(gp->actuator))->setValue(sv);
+ ((Slider*)(gp->actuator))->setValue(sv);
}
else if (gp->type == GuiParam::GUI_SWITCH) {
- ((MusEGui::CheckBox*)(gp->actuator))->setChecked(int(plugin->param(i)));
+ ((CheckBox*)(gp->actuator))->setChecked(int(plugin->param(i)));
}
}
}
@@ -4160,10 +4160,10 @@ void PluginGui::updateValues()
float val = plugin->param(param);
switch(type) {
case GuiWidgets::SLIDER:
- ((MusEGui::Slider*)widget)->setValue(val); // Note conversion to double
+ ((Slider*)widget)->setValue(val); // Note conversion to double
break;
case GuiWidgets::DOUBLE_LABEL:
- ((MusEGui::DoubleLabel*)widget)->setValue(val); // Note conversion to double
+ ((DoubleLabel*)widget)->setValue(val); // Note conversion to double
break;
case GuiWidgets::QCHECKBOX:
((QCheckBox*)widget)->setChecked(int(val));
@@ -4194,13 +4194,13 @@ void PluginGui::updateControls()
double lv = plugin->paramOut(i);
double sv = lv;
if (LADSPA_IS_HINT_LOGARITHMIC(params[i].hint))
- sv = fast_log10(lv) * 20.0;
+ sv = MusECore::fast_log10(lv) * 20.0;
else if (LADSPA_IS_HINT_INTEGER(params[i].hint))
{
sv = rint(lv);
lv = sv;
}
- ((MusEGui::VerticalMeter*)(gp->actuator))->setVal(sv);
+ ((VerticalMeter*)(gp->actuator))->setVal(sv);
gp->label->setValue(lv);
}
@@ -4223,22 +4223,22 @@ void PluginGui::updateControls()
double lv = plugin->track()->pluginCtrlVal(MusECore::genACnum(plugin->id(), i));
double sv = lv;
if (LADSPA_IS_HINT_LOGARITHMIC(params[i].hint))
- sv = fast_log10(lv) * 20.0;
+ sv = MusECore::fast_log10(lv) * 20.0;
else
if (LADSPA_IS_HINT_INTEGER(params[i].hint))
{
sv = rint(lv);
lv = sv;
}
- if(((MusEGui::Slider*)(gp->actuator))->value() != sv)
+ if(((Slider*)(gp->actuator))->value() != sv)
{
//printf("PluginGui::updateControls slider\n");
gp->label->blockSignals(true);
- ((MusEGui::Slider*)(gp->actuator))->blockSignals(true);
- ((MusEGui::Slider*)(gp->actuator))->setValue(sv);
+ ((Slider*)(gp->actuator))->blockSignals(true);
+ ((Slider*)(gp->actuator))->setValue(sv);
gp->label->setValue(lv);
- ((MusEGui::Slider*)(gp->actuator))->blockSignals(false);
+ ((Slider*)(gp->actuator))->blockSignals(false);
gp->label->blockSignals(false);
}
}
@@ -4248,13 +4248,13 @@ void PluginGui::updateControls()
if( plugin->controllerEnabled(i) && plugin->controllerEnabled2(i) )
{
bool v = (int)plugin->track()->pluginCtrlVal(MusECore::genACnum(plugin->id(), i));
- if(((MusEGui::CheckBox*)(gp->actuator))->isChecked() != v)
+ if(((CheckBox*)(gp->actuator))->isChecked() != v)
{
//printf("PluginGui::updateControls switch\n");
- ((MusEGui::CheckBox*)(gp->actuator))->blockSignals(true);
- ((MusEGui::CheckBox*)(gp->actuator))->setChecked(v);
- ((MusEGui::CheckBox*)(gp->actuator))->blockSignals(false);
+ ((CheckBox*)(gp->actuator))->blockSignals(true);
+ ((CheckBox*)(gp->actuator))->setChecked(v);
+ ((CheckBox*)(gp->actuator))->blockSignals(false);
}
}
}
@@ -4272,13 +4272,13 @@ void PluginGui::updateControls()
if( plugin->controllerEnabled(param) && plugin->controllerEnabled2(param) )
{
double v = plugin->track()->pluginCtrlVal(MusECore::genACnum(plugin->id(), param));
- if(((MusEGui::Slider*)widget)->value() != v)
+ if(((Slider*)widget)->value() != v)
{
//printf("PluginGui::updateControls slider\n");
- ((MusEGui::Slider*)widget)->blockSignals(true);
- ((MusEGui::Slider*)widget)->setValue(v);
- ((MusEGui::Slider*)widget)->blockSignals(false);
+ ((Slider*)widget)->blockSignals(true);
+ ((Slider*)widget)->setValue(v);
+ ((Slider*)widget)->blockSignals(false);
}
}
break;
@@ -4286,13 +4286,13 @@ void PluginGui::updateControls()
if( plugin->controllerEnabled(param) && plugin->controllerEnabled2(param) )
{
double v = plugin->track()->pluginCtrlVal(MusECore::genACnum(plugin->id(), param));
- if(((MusEGui::DoubleLabel*)widget)->value() != v)
+ if(((DoubleLabel*)widget)->value() != v)
{
//printf("PluginGui::updateControls label\n");
- ((MusEGui::DoubleLabel*)widget)->blockSignals(true);
- ((MusEGui::DoubleLabel*)widget)->setValue(v);
- ((MusEGui::DoubleLabel*)widget)->blockSignals(false);
+ ((DoubleLabel*)widget)->blockSignals(true);
+ ((DoubleLabel*)widget)->setValue(v);
+ ((DoubleLabel*)widget)->blockSignals(false);
}
}
break;
@@ -4351,10 +4351,10 @@ void PluginGui::guiParamChanged(int idx)
double val = 0.0;
switch(type) {
case GuiWidgets::SLIDER:
- val = ((MusEGui::Slider*)w)->value();
+ val = ((Slider*)w)->value();
break;
case GuiWidgets::DOUBLE_LABEL:
- val = ((MusEGui::DoubleLabel*)w)->value();
+ val = ((DoubleLabel*)w)->value();
break;
case GuiWidgets::QCHECKBOX:
val = double(((QCheckBox*)w)->isChecked());
@@ -4372,10 +4372,10 @@ void PluginGui::guiParamChanged(int idx)
int type = gw[i].type;
switch(type) {
case GuiWidgets::SLIDER:
- ((MusEGui::Slider*)widget)->setValue(val);
+ ((Slider*)widget)->setValue(val);
break;
case GuiWidgets::DOUBLE_LABEL:
- ((MusEGui::DoubleLabel*)widget)->setValue(val);
+ ((DoubleLabel*)widget)->setValue(val);
break;
case GuiWidgets::QCHECKBOX:
((QCheckBox*)widget)->setChecked(int(val));
@@ -4441,13 +4441,13 @@ void PluginGui::guiParamPressed(int idx)
id = MusECore::genACnum(id, param);
// NOTE: For this to be of any use, the freeverb gui 2142.ui
- // would have to be used, and changed to use MusEGui::CheckBox and ComboBox
+ // would have to be used, and changed to use CheckBox and ComboBox
// instead of QCheckBox and QComboBox, since both of those would
// need customization (Ex. QCheckBox doesn't check on click).
/*
switch(type) {
case GuiWidgets::QCHECKBOX:
- double val = (double)((MusEGui::CheckBox*)w)->isChecked();
+ double val = (double)((CheckBox*)w)->isChecked();
track->startAutoRecord(id, val);
break;
case GuiWidgets::QCOMBOBOX:
@@ -4487,13 +4487,13 @@ void PluginGui::guiParamReleased(int idx)
id = MusECore::genACnum(id, param);
// NOTE: For this to be of any use, the freeverb gui 2142.ui
- // would have to be used, and changed to use MusEGui::CheckBox and ComboBox
+ // would have to be used, and changed to use CheckBox and ComboBox
// instead of QCheckBox and QComboBox, since both of those would
// need customization (Ex. QCheckBox doesn't check on click).
/*
switch(type) {
case GuiWidgets::QCHECKBOX:
- double val = (double)((MusEGui::CheckBox*)w)->isChecked();
+ double val = (double)((CheckBox*)w)->isChecked();
track->stopAutoRecord(id, param);
break;
case GuiWidgets::QCOMBOBOX:
@@ -4529,7 +4529,7 @@ void PluginGui::guiSliderPressed(int idx)
id = MusECore::genACnum(id, param);
- double val = ((MusEGui::Slider*)w)->value();
+ double val = ((Slider*)w)->value();
plugin->setParam(param, val);
//MusEGlobal::audio->msgSetPluginCtrlVal(((PluginI*)plugin), id, val);
@@ -4550,10 +4550,10 @@ void PluginGui::guiSliderPressed(int idx)
int type = gw[i].type;
switch(type) {
case GuiWidgets::SLIDER:
- ((MusEGui::Slider*)widget)->setValue(val);
+ ((Slider*)widget)->setValue(val);
break;
case GuiWidgets::DOUBLE_LABEL:
- ((MusEGui::DoubleLabel*)widget)->setValue(val);
+ ((DoubleLabel*)widget)->setValue(val);
break;
case GuiWidgets::QCHECKBOX:
((QCheckBox*)widget)->setChecked(int(val));
@@ -4589,7 +4589,7 @@ void PluginGui::guiSliderReleased(int idx)
id = MusECore::genACnum(id, param);
- double val = ((MusEGui::Slider*)w)->value();
+ double val = ((Slider*)w)->value();
track->stopAutoRecord(id, val);
}
@@ -4612,9 +4612,9 @@ void PluginGui::guiSliderRightClicked(const QPoint &p, int idx)
QWidget* PluginLoader::createWidget(const QString & className, QWidget * parent, const QString & name)
{
if(className == QString("DoubleLabel"))
- return new MusEGui::DoubleLabel(parent, name.toLatin1().constData());
+ return new DoubleLabel(parent, name.toLatin1().constData());
if(className == QString("Slider"))
- return new MusEGui::Slider(parent, name.toLatin1().constData(), Qt::Horizontal);
+ return new Slider(parent, name.toLatin1().constData(), Qt::Horizontal);
return QUiLoader::createWidget(className, parent, name);
};
diff --git a/muse2/muse/remote/CMakeLists.txt b/muse2/muse/remote/CMakeLists.txt
index 29ead183..b3dcb39d 100644
--- a/muse2/muse/remote/CMakeLists.txt
+++ b/muse2/muse/remote/CMakeLists.txt
@@ -33,7 +33,6 @@ file (GLOB remote_source_files
##
add_library(remote ${MODULES_BUILD}
${remote_source_files}
- ${PROJECT_BINARY_DIR}/all.h.pch
)
##
@@ -48,9 +47,13 @@ set (FILES_TO_TRANSLATE
##
## Compilation flags and target name
##
-set_source_files_properties(
- pyapi.cpp
- PROPERTIES COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -include ${PYTHON_INCLUDES} -DENABLE_PYTHON"
+set_target_properties( remote
+ PROPERTIES COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -I${PYTHON_INCLUDE_DIRS} -DENABLE_PYTHON"
+ OUTPUT_NAME muse_remote
+ )
+
+target_link_libraries(remote
+ ${PYTHON_LIBRARIES}
)
##
diff --git a/muse2/muse/remote/pyapi.cpp b/muse2/muse/remote/pyapi.cpp
index 27a44e49..645c639e 100644
--- a/muse2/muse/remote/pyapi.cpp
+++ b/muse2/muse/remote/pyapi.cpp
@@ -42,6 +42,8 @@
// Steals ref: PyList_SetItem, PyTuple_SetItem
using namespace std;
+namespace MusECore {
+
static pthread_t pyapiThread;
//------------------------------------------------------------
QPybridgeEvent::QPybridgeEvent(QPybridgeEvent::EventType _type, int _p1, int _p2)
@@ -56,30 +58,30 @@ QPybridgeEvent::QPybridgeEvent(QPybridgeEvent::EventType _type, int _p1, int _p2
//------------------------------------------------------------
PyObject* getCPos(PyObject*, PyObject*)
{
- return Py_BuildValue("i", song->cpos());
+ return Py_BuildValue("i", MusEGlobal::song->cpos());
}
//------------------------------------------------------------
// Get position of left locator
//------------------------------------------------------------
PyObject* getLPos(PyObject*, PyObject*)
{
- return Py_BuildValue("i", song->lpos());
+ return Py_BuildValue("i", MusEGlobal::song->lpos());
}
//------------------------------------------------------------
// Get position of right locator
//------------------------------------------------------------
PyObject* getRPos(PyObject*, PyObject*)
{
- return Py_BuildValue("i", song->rpos());
+ return Py_BuildValue("i", MusEGlobal::song->rpos());
}
//------------------------------------------------------------
// Start playing from current position
//------------------------------------------------------------
PyObject* startPlay(PyObject*, PyObject*)
{
- //song->setPlay(true);
+ //MusEGlobal::song->setPlay(true);
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_SETPLAY);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -88,9 +90,9 @@ PyObject* startPlay(PyObject*, PyObject*)
//------------------------------------------------------------
PyObject* stopPlay(PyObject*, PyObject*)
{
- //song->setStop(true);
+ //MusEGlobal::song->setStop(true);
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_SETSTOP);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -99,9 +101,9 @@ PyObject* stopPlay(PyObject*, PyObject*)
//------------------------------------------------------------
PyObject* rewindStart(PyObject*, PyObject*)
{
- //song->rewindStart();
+ //MusEGlobal::song->rewindStart();
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_REWIND);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -115,7 +117,7 @@ PyObject* getTempo(PyObject*, PyObject* args)
return Py_BuildValue("i", 1000);
}
- int tempovalue = tempomap.tempo(tick);
+ int tempovalue = MusEGlobal::tempomap.tempo(tick);
return Py_BuildValue("i", tempovalue);
}
//------------------------------------------------------------
@@ -123,11 +125,11 @@ PyObject* getTempo(PyObject*, PyObject* args)
//------------------------------------------------------------
PyObject* getTrackNames(PyObject*, PyObject*)
{
- TrackList* tracks = song->tracks();
+ TrackList* tracks = MusEGlobal::song->tracks();
PyObject* res = Py_BuildValue("[]");
for (ciTrack t = tracks->begin(); t != tracks->end(); ++t) {
Track* track = *t;
- PyObject* ptrackname = Py_BuildValue("s", track->name().toLatin1());
+ PyObject* ptrackname = Py_BuildValue("s", track->name().toLatin1().constData());
PyList_Append(res, ptrackname);
Py_DECREF(ptrackname);
}
@@ -139,7 +141,7 @@ PyObject* getTrackNames(PyObject*, PyObject*)
//------------------------------------------------------------
Part* findPartBySerial(int sn)
{
- TrackList* tracks = song->tracks();
+ TrackList* tracks = MusEGlobal::song->tracks();
for (ciTrack t = tracks->begin(); t != tracks->end(); ++t) {
Track* track = *t;
PartList* parts = track->parts();
@@ -157,7 +159,7 @@ Part* findPartBySerial(int sn)
//------------------------------------------------------------
PyObject* getParts(PyObject*, PyObject* args)
{
- TrackList* tracks = song->tracks();
+ TrackList* tracks = MusEGlobal::song->tracks();
const char* trackname;
if (!PyArg_ParseTuple(args, "s", &trackname)) {
return NULL;
@@ -351,7 +353,7 @@ PyObject* createPart(PyObject*, PyObject* args)
}
QString qtrackname(trackname);
- MidiTrack* track = (MidiTrack*) song->findTrack(trackname);
+ MidiTrack* track = (MidiTrack*) MusEGlobal::song->findTrack(trackname);
if (track == NULL)
return NULL;
@@ -360,9 +362,9 @@ PyObject* createPart(PyObject*, PyObject* args)
npart->setLenTick(tickLen);
addPyPartEventsToMusePart(npart, part);
- song->addPart(npart);
+ MusEGlobal::song->addPart(npart);
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_UPDATE, SC_TRACK_MODIFIED);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
@@ -379,7 +381,7 @@ PyObject* modifyPart(PyObject*, PyObject* part)
Part* opart = NULL;
// Verify a part with that id actually exists, then get it
- TrackList* tracks = song->tracks();
+ TrackList* tracks = MusEGlobal::song->tracks();
for (ciTrack t = tracks->begin(); t != tracks->end(); ++t) {
Track* track = *t;
for (ciPart p = track->parts()->begin(); p != track->parts()->end(); p++) {
@@ -412,12 +414,12 @@ PyObject* modifyPart(PyObject*, PyObject* part)
addPyPartEventsToMusePart(npart, part);
- //song->startUndo();
- song->changePart(opart, npart);
- //song->endUndo(SC_TRACK_MODIFIED | SC_PART_MODIFIED | SC_PART_INSERTED); // Crash! Probably since the call ends up in Qt GUI thread from this thread
+ //MusEGlobal::song->startUndo();
+ MusEGlobal::song->changePart(opart, npart);
+ //MusEGlobal::song->endUndo(SC_TRACK_MODIFIED | SC_PART_MODIFIED | SC_PART_INSERTED); // Crash! Probably since the call ends up in Qt GUI thread from this thread
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_UPDATE, SC_TRACK_MODIFIED | SC_PART_MODIFIED | SC_PART_INSERTED);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
@@ -438,9 +440,9 @@ PyObject* deletePart(PyObject*, PyObject* args)
if (part == NULL)
return NULL;
- song->removePart(part);
+ MusEGlobal::song->removePart(part);
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_UPDATE, SC_TRACK_MODIFIED | SC_PART_REMOVED);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -456,9 +458,9 @@ PyObject* setPos(PyObject*, PyObject* args)
return NULL;
}
- //song->setPos(index, ticks);
+ //MusEGlobal::song->setPos(index, ticks);
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_POSCHANGE, index, ticks);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
@@ -475,9 +477,9 @@ PyObject* setSongLen(PyObject*, PyObject* args)
if (!PyArg_ParseTuple(args, "i", &len)) {
return NULL;
}
- //song->setLen(len);// Appears to not be ok to call from python thread, we do it with event instead
+ //MusEGlobal::song->setLen(len);// Appears to not be ok to call from python thread, we do it with event instead
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONGLEN_CHANGE, len);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -486,7 +488,7 @@ PyObject* setSongLen(PyObject*, PyObject* args)
//------------------------------------------------------------
PyObject* getSongLen(PyObject*, PyObject*)
{
- PyObject* pylen = Py_BuildValue("i", song->len());
+ PyObject* pylen = Py_BuildValue("i", MusEGlobal::song->len());
return pylen;
}
@@ -495,7 +497,7 @@ PyObject* getSongLen(PyObject*, PyObject*)
//------------------------------------------------------------
PyObject* getDivision(PyObject*, PyObject*)
{
- return Py_BuildValue("i", config.division);
+ return Py_BuildValue("i", MusEGlobal::config.division);
}
//------------------------------------------------------------
// setTrackParameter
@@ -508,7 +510,7 @@ PyObject* setMidiTrackParameter(PyObject*, PyObject* args)
if(!PyArg_ParseTuple(args, "ssi", &trackname, &paramname, &value))
return NULL;
- Track* track = song->findTrack(QString(trackname));
+ Track* track = MusEGlobal::song->findTrack(QString(trackname));
if (track == NULL)
return NULL;
@@ -535,7 +537,7 @@ PyObject* setMidiTrackParameter(PyObject*, PyObject* args)
if (changed) {
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_UPDATE, SC_TRACK_MODIFIED);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
}
return Py_BuildValue("b", changed); // true/false depending on whether anythin was changed
@@ -549,7 +551,7 @@ PyObject* setLoop(PyObject*, PyObject* args)
if(!PyArg_ParseTuple(args, "b", &loopFlag))
return NULL;
- song->setLoop(loopFlag);
+ MusEGlobal::song->setLoop(loopFlag);
Py_INCREF(Py_None);
return Py_None;
}
@@ -558,7 +560,7 @@ PyObject* setLoop(PyObject*, PyObject* args)
//------------------------------------------------------------
PyObject* getLoop(PyObject*, PyObject*)
{
- return Py_BuildValue("b", song->getLoop());
+ return Py_BuildValue("b", MusEGlobal::song->getLoop());
}
//------------------------------------------------------------
// getMute trackname
@@ -570,7 +572,7 @@ PyObject* getMute(PyObject*, PyObject* args)
return NULL;
}
- Track* track = song->findTrack(QString(trackname));
+ Track* track = MusEGlobal::song->findTrack(QString(trackname));
if (track == NULL)
return NULL;
@@ -588,7 +590,7 @@ PyObject* setMute(PyObject*, PyObject* args)
return NULL;
}
- Track* track = song->findTrack(QString(trackname));
+ Track* track = MusEGlobal::song->findTrack(QString(trackname));
if (track == NULL)
return NULL;
@@ -598,7 +600,7 @@ PyObject* setMute(PyObject*, PyObject* args)
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_SETMUTE, mutedint);
pyevent->setS1(trackname);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -609,7 +611,7 @@ void setController(const char* trackname, int ctrltype, int ctrlval)
{
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_SETCTRL, ctrltype, ctrlval);
pyevent->setS1(trackname);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
}
//------------------------------------------------------------
@@ -642,7 +644,7 @@ PyObject* getMidiControllerValue(PyObject*, PyObject* args)
return NULL;
}
- Track* t = song->findTrack(QString(trackname));
+ Track* t = MusEGlobal::song->findTrack(QString(trackname));
if (t == NULL)
return NULL;
@@ -654,7 +656,7 @@ PyObject* getMidiControllerValue(PyObject*, PyObject* args)
MidiTrack* track = (MidiTrack*) t;
int channel = track->outChannel();
int outport = track->outPort();
- MidiPort* mp = &midiPorts[outport];
+ MidiPort* mp = &MusEGlobal::midiPorts[outport];
if (mp == NULL)
return Py_BuildValue("i", -1);
@@ -676,7 +678,7 @@ PyObject* setAudioTrackVolume(PyObject*, PyObject* args)
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_SETAUDIOVOL);
pyevent->setD1(volume);
pyevent->setS1(trackname);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -691,7 +693,7 @@ PyObject* getAudioTrackVolume(PyObject*, PyObject* args)
return NULL;
}
- Track* t = song->findTrack(QString(trackname));
+ Track* t = MusEGlobal::song->findTrack(QString(trackname));
if (t == NULL)
return NULL;
@@ -707,11 +709,11 @@ PyObject* getAudioTrackVolume(PyObject*, PyObject* args)
//------------------------------------------------------------
PyObject* getSelectedTrack(PyObject*, PyObject*)
{
- TrackList* tracks = song->tracks();
+ TrackList* tracks = MusEGlobal::song->tracks();
for (ciTrack t = tracks->begin(); t != tracks->end(); ++t) {
Track* track = *t;
if (track->selected())
- return Py_BuildValue("s", track->name().toLatin1());
+ return Py_BuildValue("s", track->name().toLatin1().constData());
}
Py_INCREF(Py_None);
@@ -734,7 +736,7 @@ PyObject* importPart(PyObject*, PyObject* args)
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_IMPORT_PART, tick);
pyevent->setS1(trackname);
pyevent->setS2(filename);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -748,7 +750,7 @@ PyObject* getTrackEffects(PyObject*, PyObject* args)
return NULL;
}
- Track* t = song->findTrack(QString(trackname));
+ Track* t = MusEGlobal::song->findTrack(QString(trackname));
if (t == NULL)
return NULL;
@@ -760,8 +762,8 @@ PyObject* getTrackEffects(PyObject*, PyObject* args)
const Pipeline* pipeline = track->efxPipe();
for (int i = 0; i < PipelineDepth; i++) {
QString name = pipeline->name(i);
- printf("fx %d name: %s\n", i, name.toLatin1());
- PyObject* pyname = Py_BuildValue("s", name.toLatin1());
+ printf("fx %d name: %s\n", i, name.toLatin1().constData());
+ PyObject* pyname = Py_BuildValue("s", name.toLatin1().constData());
PyList_Append(pyfxnames, pyname);
Py_DECREF(pyname);
}
@@ -780,7 +782,7 @@ PyObject* toggleTrackEffect(PyObject*, PyObject* args)
if (!PyArg_ParseTuple(args, "sib", &trackname, &fxid, &onoff))
return NULL;
- Track* t = song->findTrack(QString(trackname));
+ Track* t = MusEGlobal::song->findTrack(QString(trackname));
if (t == NULL)
return NULL;
@@ -790,7 +792,7 @@ PyObject* toggleTrackEffect(PyObject*, PyObject* args)
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_TOGGLE_EFFECT, fxid, onoff);
pyevent->setS1(trackname);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -805,16 +807,16 @@ PyObject* changeTrackName(PyObject*, PyObject* args)
if (!PyArg_ParseTuple(args, "ss", &trackname, &newname))
return NULL;
- Track* t = song->findTrack(QString(trackname));
+ Track* t = MusEGlobal::song->findTrack(QString(trackname));
if (t == NULL)
return Py_BuildValue("b", false);
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_CHANGE_TRACKNAME);
pyevent->setS1(trackname);
pyevent->setS2(newname);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
QPybridgeEvent* pyevent2 = new QPybridgeEvent(QPybridgeEvent::SONG_UPDATE, SC_TRACK_MODIFIED);
- QApplication::postEvent(song, pyevent2);
+ QApplication::postEvent(MusEGlobal::song, pyevent2);
return Py_BuildValue("b", true);
}
//------------------------------------------------------------
@@ -823,7 +825,7 @@ PyObject* changeTrackName(PyObject*, PyObject* args)
PyObject* addMidiTrack(PyObject*, PyObject*)
{
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_ADD_TRACK, Track::MIDI);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -833,7 +835,7 @@ PyObject* addMidiTrack(PyObject*, PyObject*)
PyObject* addWaveTrack(PyObject*, PyObject*)
{
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_ADD_TRACK, Track::WAVE);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -843,7 +845,7 @@ PyObject* addWaveTrack(PyObject*, PyObject*)
PyObject* addInput(PyObject*, PyObject*)
{
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_ADD_TRACK, Track::AUDIO_INPUT);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
Py_INCREF(Py_None);
return Py_None;
}
@@ -853,7 +855,7 @@ PyObject* addInput(PyObject*, PyObject*)
PyObject* addOutput(PyObject*, PyObject*)
{
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_ADD_TRACK, Track::AUDIO_OUTPUT);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
return Py_None;
}
//------------------------------------------------------------
@@ -862,7 +864,7 @@ PyObject* addOutput(PyObject*, PyObject*)
PyObject* addGroup(PyObject*, PyObject*)
{
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_ADD_TRACK, Track::AUDIO_GROUP);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
return Py_None;
}
//------------------------------------------------------------
@@ -877,7 +879,7 @@ PyObject* deleteTrack(PyObject*, PyObject* args)
QPybridgeEvent* pyevent = new QPybridgeEvent(QPybridgeEvent::SONG_DELETE_TRACK);
pyevent->setS1(trackname);
- QApplication::postEvent(song, pyevent);
+ QApplication::postEvent(MusEGlobal::song, pyevent);
return Py_None;
}
//------------------------------------------------------------
@@ -891,7 +893,7 @@ PyObject* getOutputRoute(PyObject*, PyObject* args)
if (!PyArg_ParseTuple(args, "s", &trackname))
return NULL;
- Track* tt = song->findTrack(QString(trackname));
+ Track* tt = MusEGlobal::song->findTrack(QString(trackname));
if (tt == NULL)
return Py_BuildValue("b", false);
@@ -900,7 +902,7 @@ PyObject* getOutputRoute(PyObject*, PyObject* args)
AudioTrack* t = (AudioTrack*)tt;
RouteList* r = t->outRoutes();
- OutputList* al = song->outputs();
+ OutputList* al = MusEGlobal::song->outputs();
for (iAudioOutput i = al->begin(); i != al->end(); ++i) {
Track* track = *i;
if (t == track)
@@ -1011,7 +1013,7 @@ static void* pyapithreadfunc(void*)
*/
bool initPythonBridge()
{
- if (pthread_create(&pyapiThread, NULL, ::pyapithreadfunc, 0)) {
+ if (pthread_create(&pyapiThread, NULL, MusECore::pyapithreadfunc, 0)) {
return false;
}
return true; // TODO: Verify that things are up and running!
@@ -1078,10 +1080,10 @@ bool Song::event(QEvent* _e)
int num = e->getP1();
int val = e->getP2();
- int tick = song->cpos();
+ int tick = MusEGlobal::song->cpos();
MidiPlayEvent ev(tick, track->outPort(), chan, ME_CONTROLLER, num, val);
- audio->msgPlayMidiEvent(&ev);
- song->update(SC_MIDI_CONTROLLER);
+ MusEGlobal::audio->msgPlayMidiEvent(&ev);
+ MusEGlobal::song->update(SC_MIDI_CONTROLLER);
break;
}
case QPybridgeEvent::SONG_SETAUDIOVOL: {
@@ -1103,7 +1105,7 @@ bool Song::event(QEvent* _e)
if (track == NULL)
return false;
- muse->importPartToTrack(filename, tick, track);
+ MusEGlobal::muse->importPartToTrack(filename, tick, track);
break;
}
case QPybridgeEvent::SONG_TOGGLE_EFFECT: {
@@ -1127,7 +1129,7 @@ bool Song::event(QEvent* _e)
break;
}
case QPybridgeEvent::SONG_ADD_TRACK:
- song->addTrack((Track::TrackType)e->getP1()); // Add at end of list.
+ MusEGlobal::song->addTrack((Track::TrackType)e->getP1()); // Add at end of list.
break;
case QPybridgeEvent::SONG_CHANGE_TRACKNAME: {
Track* t = this->findTrack(e->getS1());
@@ -1141,7 +1143,7 @@ bool Song::event(QEvent* _e)
if (t == NULL)
return false;
- audio->msgRemoveTrack(t);
+ MusEGlobal::audio->msgRemoveTrack(t);
break;
}
default:
@@ -1153,4 +1155,5 @@ bool Song::event(QEvent* _e)
return true;
}
+} // namespace MusECore
diff --git a/muse2/muse/remote/pyapi.h b/muse2/muse/remote/pyapi.h
index 6cc7fbdc..fecd2fda 100644
--- a/muse2/muse/remote/pyapi.h
+++ b/muse2/muse/remote/pyapi.h
@@ -23,6 +23,8 @@
#include <QEvent>
+namespace MusECore {
+
class QPybridgeEvent : public QEvent
{
public:
@@ -51,5 +53,7 @@ private:
bool initPythonBridge();
+} // namespace MusECore
+
#endif
diff --git a/muse2/muse/thread.cpp b/muse2/muse/thread.cpp
index ce11fba6..8fe0cdb8 100644
--- a/muse2/muse/thread.cpp
+++ b/muse2/muse/thread.cpp
@@ -32,6 +32,8 @@
#include "globals.h"
#include "errno.h"
+namespace MusECore {
+
//---------------------------------------------------------
// Thread
//---------------------------------------------------------
@@ -104,7 +106,7 @@ void Thread::start(int prio, void* ptr)
/*
- if (pthread_create(&thread, attributes, ::loop, this))
+ if (pthread_create(&thread, attributes, MusECore::loop, this))
perror("creating thread failed:");
// else
// {
@@ -114,7 +116,7 @@ void Thread::start(int prio, void* ptr)
*/
- int rv = pthread_create(&thread, attributes, ::loop, this);
+ int rv = pthread_create(&thread, attributes, MusECore::loop, this);
if(rv)
{
// p4.0.16: MusEGlobal::realTimeScheduling is unreliable. It is true even in some clearly non-RT cases.
@@ -122,7 +124,7 @@ void Thread::start(int prio, void* ptr)
// MusE was failing with a stock kernel because of PTHREAD_EXPLICIT_SCHED.
// So we'll just have to try again without attributes.
if (MusEGlobal::realTimeScheduling && _realTimePriority > 0)
- rv = pthread_create(&thread, NULL, ::loop, this);
+ rv = pthread_create(&thread, NULL, MusECore::loop, this);
}
if(rv)
@@ -481,3 +483,4 @@ void Thread::readMsg1(int size)
processMsg1(buffer);
}
+} // namespace MusECore
diff --git a/muse2/muse/thread.h b/muse2/muse/thread.h
index 3650f0ab..755754f9 100644
--- a/muse2/muse/thread.h
+++ b/muse2/muse/thread.h
@@ -27,6 +27,10 @@
#include <pthread.h>
#include <list>
+struct pollfd;
+
+namespace MusECore {
+
//---------------------------------------------------------
// Poll
//---------------------------------------------------------
@@ -115,5 +119,7 @@ class Thread {
virtual void threadStop() { } // called from loop before leaving
};
+} // namespace MusECore
+
#endif
diff --git a/muse2/muse/waveedit/waveview.cpp b/muse2/muse/waveedit/waveview.cpp
index f22f842b..04751428 100644
--- a/muse2/muse/waveedit/waveview.cpp
+++ b/muse2/muse/waveedit/waveview.cpp
@@ -414,7 +414,7 @@ void WaveView::wheelEvent(QWheelEvent* ev)
if (shift) { // scroll vertically
int delta = -ev->delta() / WHEEL_DELTA;
- int xpixelscale = 5*fast_log10(rmapxDev(1));
+ int xpixelscale = 5*MusECore::fast_log10(rmapxDev(1));
if (xpixelscale <= 0)
diff --git a/muse2/muse/widgets/canvas.cpp b/muse2/muse/widgets/canvas.cpp
index b0f0dba8..41c5f4a4 100644
--- a/muse2/muse/widgets/canvas.cpp
+++ b/muse2/muse/widgets/canvas.cpp
@@ -489,7 +489,7 @@ void Canvas::wheelEvent(QWheelEvent* ev)
if (shift) { // scroll horizontally
int delta = -ev->delta() / WHEEL_DELTA;
- int xpixelscale = 5*fast_log10(rmapxDev(1));
+ int xpixelscale = 5*MusECore::fast_log10(rmapxDev(1));
if (xpixelscale <= 0)
xpixelscale = 1;
diff --git a/muse2/muse/widgets/meter.cpp b/muse2/muse/widgets/meter.cpp
index 6b41c320..5c79ffb2 100644
--- a/muse2/muse/widgets/meter.cpp
+++ b/muse2/muse/widgets/meter.cpp
@@ -164,7 +164,7 @@ void Meter::setVal(double v, double max, bool ovl)
{
maxVal = max;
if(mtype == DBMeter)
- cur_ymax = maxVal == 0 ? fw : int(((maxScale - (fast_log10(maxVal) * 20.0)) * h)/range);
+ cur_ymax = maxVal == 0 ? fw : int(((maxScale - (MusECore::fast_log10(maxVal) * 20.0)) * h)/range);
else
cur_ymax = maxVal == 0 ? fw : int(((maxScale - maxVal) * h)/range);
if(cur_ymax > h) cur_ymax = h;
@@ -179,7 +179,7 @@ void Meter::setVal(double v, double max, bool ovl)
if(ud)
{
if(mtype == DBMeter)
- cur_yv = val == 0 ? h : int(((maxScale - (fast_log10(val) * 20.0)) * h)/range);
+ cur_yv = val == 0 ? h : int(((maxScale - (MusECore::fast_log10(val) * 20.0)) * h)/range);
else
cur_yv = val == 0 ? h : int(((maxScale - val) * h)/range);
if(cur_yv > h) cur_yv = h;
@@ -247,8 +247,8 @@ void Meter::paintEvent(QPaintEvent* ev)
{
if(mtype == DBMeter)
{
- cur_yv = val == 0 ? h : int(((maxScale - (fast_log10(val) * 20.0)) * h)/range);
- cur_ymax = maxVal == 0 ? fw : int(((maxScale - (fast_log10(maxVal) * 20.0)) * h)/range);
+ cur_yv = val == 0 ? h : int(((maxScale - (MusECore::fast_log10(val) * 20.0)) * h)/range);
+ cur_ymax = maxVal == 0 ? fw : int(((maxScale - (MusECore::fast_log10(maxVal) * 20.0)) * h)/range);
}
else
{
diff --git a/muse2/muse/widgets/verticalmeter.cpp b/muse2/muse/widgets/verticalmeter.cpp
index be2714a8..b8524d33 100644
--- a/muse2/muse/widgets/verticalmeter.cpp
+++ b/muse2/muse/widgets/verticalmeter.cpp
@@ -152,7 +152,7 @@ void VerticalMeter::paintEvent(QPaintEvent* /*ev*/)
if(mtype == DBMeter)
- xv = int(((maxScale - (fast_log10(val) * 20.0)) * w)/range);
+ xv = int(((maxScale - (MusECore::fast_log10(val) * 20.0)) * w)/range);
else {
xv = int(((maxScale - val) * w)/range);
}
@@ -167,7 +167,7 @@ void VerticalMeter::paintEvent(QPaintEvent* /*ev*/)
/*
int xcenter;
if(mtype == DBMeter)
- xcenter = maxVal == 0 ? 0 : int(((maxScale - (fast_log10(0) * 20.0)) * w)/range);
+ xcenter = maxVal == 0 ? 0 : int(((maxScale - (MusECore::fast_log10(0) * 20.0)) * w)/range);
else
xcenter = maxVal == 0 ? 0 : int(((maxVal) * w)/range);
p.setPen(peak_color);