void MuseScore::initOsc() { if (!preferences.useOsc) return; int port; if (oscPort) port = oscPort; else port = preferences.oscPort; QOscServer* osc = new QOscServer(port, qApp); PathObject* oo = new PathObject( "/mscore", QVariant::Int, osc); QObject::connect(oo, SIGNAL(data(int)), SLOT(oscIntMessage(int))); oo = new PathObject( "/play",QVariant::Invalid, osc); QObject::connect(oo, SIGNAL(data()), SLOT(oscPlay())); oo = new PathObject( "/stop", QVariant::Invalid, osc); QObject::connect(oo, SIGNAL(data()), SLOT(oscStop())); oo = new PathObject( "/tempo", QVariant::Int, osc); QObject::connect(oo, SIGNAL(data(int)), SLOT(oscTempo(int))); oo = new PathObject( "/volume", QVariant::Int, osc); QObject::connect(oo, SIGNAL(data(int)), SLOT(oscVolume(int))); oo = new PathObject( "/next", QVariant::Invalid, osc); QObject::connect(oo, SIGNAL(data()), SLOT(oscNext())); oo = new PathObject( "/next-measure", QVariant::Invalid, osc); QObject::connect(oo, SIGNAL(data()), SLOT(oscNextMeasure())); oo = new PathObject( "/goto", QVariant::Int, osc); QObject::connect(oo, SIGNAL(data(int)), SLOT(oscGoto(int))); oo = new PathObject( "/select-measure", QVariant::Int, osc); QObject::connect(oo, SIGNAL(data(int)), SLOT(oscSelectMeasure(int))); for(int i=1; i <=12; i++ ) { oo = new PathObject( QString("/vol%1").arg(i), QVariant::Double, osc); QObject::connect(oo, SIGNAL(data(double)), SLOT(oscVolChannel(double))); } for(int i=1; i <=12; i++ ) { oo = new PathObject( QString("/pan%1").arg(i), QVariant::Double, osc); QObject::connect(oo, SIGNAL(data(double)), SLOT(oscPanChannel(double))); } for(int i=1; i <=12; i++ ) { oo = new PathObject( QString("/mute%1").arg(i), QVariant::Double, osc); QObject::connect(oo, SIGNAL(data(double)), SLOT(oscMuteChannel(double))); } oo = new PathObject( "/open", QVariant::String, osc); QObject::connect(oo, SIGNAL(data(QString)), SLOT(oscOpen(QString))); oo = new PathObject( "/close-all", QVariant::Invalid, osc); QObject::connect(oo, SIGNAL(data()), SLOT(oscCloseAll())); oo = new PathObject( "/plugin", QVariant::String, osc); QObject::connect(oo, SIGNAL(data(QString)), SLOT(oscTriggerPlugin(QString))); oo = new PathObject( "/color-note", QVariant::List, osc); QObject::connect(oo, SIGNAL(data(QVariantList)), SLOT(oscColorNote(QVariantList))); }
void MuseScore::initOsc() { if (!preferences.getBool(PREF_IO_OSC_USEREMOTECONTROL)) return; int port = preferences.getInt(PREF_IO_OSC_PORTNUMBER); QOscServer* osc = new QOscServer(port, qApp); PathObject* oo = new PathObject( "/addpitch", QVariant::Int, osc); QObject::connect(oo, SIGNAL(data(int)), SLOT(oscIntMessage(int))); oo = new PathObject( "/tempo", QVariant::Int, osc); QObject::connect(oo, SIGNAL(data(int)), SLOT(oscTempo(int))); oo = new PathObject( "/volume", QVariant::Int, osc); QObject::connect(oo, SIGNAL(data(int)), SLOT(oscVolume(int))); oo = new PathObject( "/goto", QVariant::Int, osc); QObject::connect(oo, SIGNAL(data(int)), SLOT(oscGoto(int))); oo = new PathObject( "/select-measure", QVariant::Int, osc); QObject::connect(oo, SIGNAL(data(int)), SLOT(oscSelectMeasure(int))); for (int i = 1; i <= 12; i++ ) { oo = new PathObject( QString("/vol%1").arg(i), QVariant::Double, osc); QObject::connect(oo, SIGNAL(data(double)), SLOT(oscVolChannel(double))); } for(int i = 1; i <= 12; i++ ) { oo = new PathObject( QString("/pan%1").arg(i), QVariant::Double, osc); QObject::connect(oo, SIGNAL(data(double)), SLOT(oscPanChannel(double))); } for(int i = 1; i <= 12; i++ ) { oo = new PathObject( QString("/mute%1").arg(i), QVariant::Double, osc); QObject::connect(oo, SIGNAL(data(double)), SLOT(oscMuteChannel(double))); } oo = new PathObject( "/open", QVariant::String, osc); QObject::connect(oo, SIGNAL(data(QString)), SLOT(oscOpen(QString))); oo = new PathObject( "/close-all", QVariant::Invalid, osc); QObject::connect(oo, SIGNAL(data()), SLOT(oscCloseAll())); oo = new PathObject( "/plugin", QVariant::String, osc); QObject::connect(oo, SIGNAL(data(QString)), SLOT(oscTriggerPlugin(QString))); oo = new PathObject( "/color-note", QVariant::List, osc); QObject::connect(oo, SIGNAL(data(QVariantList)), SLOT(oscColorNote(QVariantList))); for (const Shortcut* s : Shortcut::shortcuts()) { oo = new PathObject( QString("/actions/%1").arg(s->key().data()), QVariant::Invalid, osc); QObject::connect(oo, SIGNAL(data()), SLOT(oscAction())); } }