void FluidSynthGui::popClicked() { byte data[2]; data[0] = FS_SOUNDFONT_POP; data[1] = currentlySelectedFont; sendSysex(data,2); }
PdBase& PdBase::operator<<(const int var) { PdContext& context = PdContext::instance(); switch(context.msgType) { case MSG: addFloat((float) var); break; case MIDI: sendMidiByte(context.midiPort, var); break; case SYSEX: sendSysex(context.midiPort, var); break; case SYSRT: sendSysRealTime(context.midiPort, var); break; } return *this; }
void FluidSynthGui::sendChannelChange(byte font_id, byte channel) { byte data[3]; data[0] = FS_SOUNDFONT_CHANNEL_SET; data[1] = font_id; data[2] = channel; sendSysex(data, 3); }
void FluidSynthGui::sendLastdir(QString dir) { int l = dir.length()+2; byte data[l]; data[0] = FS_LASTDIR_CHANGE; memcpy(data+1, dir.toLatin1(), dir.length()+1); sendSysex(data,l); }
void FluidSynthGui::sendLoadFont(QString filename) { int l = filename.length()+3; byte data[l]; data[0] = FS_PUSH_FONT; data[1] = FS_UNSPECIFIED_ID; memcpy(data+2, filename.toLatin1(), filename.length()+1); sendSysex(data,l); }
void MidiPort::sendMMCDeferredPlay(int devid) { unsigned char msg[mmcDeferredPlayMsgLen]; memcpy(msg, mmcDeferredPlayMsg, mmcDeferredPlayMsgLen); if (devid != -1) msg[1] = devid; else msg[1] = _syncInfo.idOut(); sendSysex(msg, mmcDeferredPlayMsgLen); }
//--------------------------------------------------------- // sendDrumChannelChange // Tell the client to set a specific channel to drum channel (equiv to midichan 10) //--------------------------------------------------------- void FluidSynthGui::sendDrumChannelChange(byte onoff, byte channel) { byte data[3]; data[0] = FS_DRUMCHANNEL_SET; data[1] = onoff; data[2] = channel; sendSysex(data, 3); if (FS_DEBUG) printf("Sent FS_DRUMCHANNEL_SET for channel %d, status: %d\n", channel, onoff); }
bool FluidSynthGui::sendParameterRequest (int parameterSet, const char * parameter) { size_t parameterMem = strlen (parameter) + 1; int datalen = 2 + parameterMem; unsigned char * data = new unsigned char [datalen]; *data = MUSE_FLUID_GUI_REQ_FXPARAMETER_GET; *(data + 1) = (char) parameterSet; memcpy (data + 2, parameter, parameterMem); sendSysex (data, datalen); delete data; return true; }
//Sends parameter to reverb or chorus bool FluidSynthGui::sendParameterChange (int parameterSet, const char * parameter, int value) { size_t parameterMem = strlen (parameter) + 1; int datalen = 2 + parameterMem + sizeof (double); unsigned char * data = new unsigned char [datalen]; *data = (unsigned char) MUSE_FLUID_GUI_REQ_FXPARAMETER_SET; *(data + 1) = (unsigned char) parameterSet; memcpy (data + 2, parameter, parameterMem); double * dp = (double *) (data + 2 + parameterMem); *dp = ((double) value) / ((double) 128.0); sendSysex (data, datalen); delete data; return true; }
void FluidSynthGui::requestAllParameters () { unsigned char data[1]; //data[0] = MUSE_FLUID_ADVGUI_GET; //sendSysex (data, 1); dbgMsg("Requesting all parameters!\n"); sendParameterRequest (MUSE_FLUID_PARAMETER_REVERB, "on"); sendParameterRequest (MUSE_FLUID_PARAMETER_REVERB, "roomsize"); sendParameterRequest (MUSE_FLUID_PARAMETER_REVERB, "damping"); sendParameterRequest (MUSE_FLUID_PARAMETER_REVERB, "width"); sendParameterRequest (MUSE_FLUID_PARAMETER_REVERB, "level"); sendParameterRequest (MUSE_FLUID_PARAMETER_CHORUS, "on"); sendParameterRequest (MUSE_FLUID_PARAMETER_CHORUS, "number"); sendParameterRequest (MUSE_FLUID_PARAMETER_CHORUS, "type"); sendParameterRequest (MUSE_FLUID_PARAMETER_CHORUS, "speed"); sendParameterRequest (MUSE_FLUID_PARAMETER_CHORUS, "depth"); sendParameterRequest (MUSE_FLUID_PARAMETER_CHORUS, "level"); data[0] = MUSE_FLUID_GAIN_GET; sendSysex (data, 1); data[0] = MUSE_FLUID_GUI_REQ_SOUNDFONTS; sendSysex (data, 1); }
void MidiPort::sendMMCLocate(unsigned char ht, unsigned char m, unsigned char s, unsigned char f, unsigned char sf, int devid) { unsigned char msg[mmcLocateMsgLen]; memcpy(msg, mmcLocateMsg, mmcLocateMsgLen); if (devid != -1) msg[1] = devid; else msg[1] = _syncInfo.idOut(); msg[6] = ht; msg[7] = m; msg[8] = s; msg[9] = f; msg[10] = sf; sendSysex(msg, mmcLocateMsgLen); }
void FLUIDGui::loadFont() { if (pathEntry->text().isEmpty()) return; QFileInfo fi(pathEntry->text()); if (!fi.exists()) { QString s = QString("SoundFont ") + pathEntry->text() + QString(" does not exists"); QMessageBox::critical(this, tr("FLUID: open Soundfile"), s); return; } QByteArray ba = pathEntry->text().toLatin1(); const char* path = ba.constData(); int len = ba.length() + 1 + 3; unsigned char buffer[len]; int k = 0; buffer[k++] = MUSE_SYNTH_SYSEX_MFG_ID; buffer[k++] = FLUID_UNIQUE_ID; // fluid buffer[k++] = SF_REPLACE; // load sound font strcpy((char*)(&buffer[k]), path); sendSysex(buffer, len); }
void MidiPort::sendXgOn() { sendSysex(xgOnMsg, xgOnMsgLen); }
void MidiPort::sendGsOn() { sendSysex(gsOnMsg2, gsOnMsg2Len); sendSysex(gsOnMsg3, gsOnMsg3Len); }
void MidiPort::sendGmOn() { sendSysex(gmOnMsg, gmOnMsgLen); }
void qxgeditMidiDevice::sendSysex ( const QByteArray& sysex ) const { sendSysex((unsigned char *) sysex.data(), (unsigned short) sysex.length()); }
//--------------------------------------------------------- // dumpInfoButton //--------------------------------------------------------- void FluidSynthGui::dumpInfo() { byte data[1]; data[0] = FS_DUMP_INFO; sendSysex(data, 1); }