Example #1
0
void FluidSynthGui::popClicked()
      {
      byte data[2];
      data[0] = FS_SOUNDFONT_POP;
      data[1] = currentlySelectedFont;
      sendSysex(data,2);
      }
Example #2
0
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;
}
Example #3
0
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);
      }
Example #4
0
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);
      }
Example #5
0
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);
      }
Example #6
0
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);
}
Example #7
0
//---------------------------------------------------------
//   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);
      }
Example #8
0
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;
}
Example #9
0
//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;
}
Example #10
0
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);
}
Example #11
0
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);
}
Example #12
0
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);
      }
Example #13
0
void MidiPort::sendXgOn()
{
	sendSysex(xgOnMsg, xgOnMsgLen);
}
Example #14
0
void MidiPort::sendGsOn()
{
	sendSysex(gsOnMsg2, gsOnMsg2Len);
	sendSysex(gsOnMsg3, gsOnMsg3Len);
}
Example #15
0
void MidiPort::sendGmOn()
{
	sendSysex(gmOnMsg, gmOnMsgLen);
}
Example #16
0
void qxgeditMidiDevice::sendSysex ( const QByteArray& sysex ) const
{
	sendSysex((unsigned char *) sysex.data(), (unsigned short) sysex.length());
}
Example #17
0
//---------------------------------------------------------
//   dumpInfoButton
//---------------------------------------------------------
void FluidSynthGui::dumpInfo()
      {
      byte data[1];
      data[0] = FS_DUMP_INFO;
      sendSysex(data, 1);
      }