예제 #1
0
void MIDIDevice::loadSettings()
{
    QSettings settings;
    QVariant value;
    QString key;

    /* Attempt to get a MIDI channel from settings */
    key = QString("/midiinput/%1/midichannel").arg(m_name);
    value = settings.value(key);
    if (value.isValid() == true)
        setMidiChannel(value.toInt());
    else
        setMidiChannel(0);
}
예제 #2
0
void MidiDevice::loadSettings()
{
    QSettings settings;
    QString devType = deviceTypeToString(deviceType());

    QString key = QString(SETTINGS_MIDICHANNEL).arg(devType, name());
    QVariant value = settings.value(key);
    if (value.isValid() == false)
    {   // no value, try loading old-style setting
        key = QString(SETTINGS_MIDICHANNEL_OLD).arg(uid().toString());
        value = settings.value(key);
    }
    if (value.isValid() == true)
        setMidiChannel(value.toInt());
    else
        setMidiChannel(0);

    key = QString(SETTINGS_MODE).arg(devType, name());
    value = settings.value(key);
    if (value.isValid() == false)
    {   // no value, try loading old-style setting
        key = QString(SETTINGS_MODE_OLD).arg(uid().toString());
        value = settings.value(key);
    }
    if (value.isValid() == true)
        setMode(stringToMode(value.toString()));
    else
        setMode(ControlChange);

    key = QString(SETTINGS_INITMESSAGE).arg(devType, name());
    value = settings.value(key);
    if (value.isValid() == false)
    {   // no value, try loading old-style setting
        key = QString(SETTINGS_INITMESSAGE_OLD).arg(uid().toString());
        value = settings.value(key);
    }
    if (value.isValid() == true)
        setMidiTemplateName(value.toString());
    else
        setMidiTemplateName("");
}
예제 #3
0
void MIDIDevice::loadSettings()
{
    QSettings settings;
    QVariant value;
    QString key;

    /* Attempt to get a MIDI channel from settings */
    key = QString("/midiout/%1/midichannel").arg(m_uid);
    value = settings.value(key);
    if (value.isValid() == true)
        setMidiChannel(value.toInt());
    else
        setMidiChannel(0);

    /* Attempt to get the mode from settings */
    key = QString("/midiout/%1/mode").arg(m_uid);
    value = settings.value(key);
    if (value.isValid() == true)
        setMode(stringToMode(value.toString()));
    else
        setMode(ControlChange);
}
예제 #4
0
void CtrlrPanel::valueTreePropertyChanged (ValueTree &treeWhosePropertyHasChanged, const Identifier &property)
{
	if (treeWhosePropertyHasChanged.hasType(Ids::modulator) || treeWhosePropertyHasChanged.hasType(Ids::midiLibrary))
	{
		return;
	}
	else if (property == Ids::panelMidiInputDevice)
	{
		if (getProperty(property).toString() == String::empty || getProperty(property).toString() == COMBO_ITEM_NONE)
		{
			midiInputThread.closeInputDevice();
		}
		else
		{
			const bool result = midiInputThread.openInputDevice (getProperty(property));
			if (getEditor())
			{
				notify ( STR(result ? "Open OK: [" : "Open FAILED: [") + getProperty(property).toString() + "]", nullptr, result ? NotifySuccess : NotifyFailure);
			}
		}
	}
	else if (property == Ids::panelMidiOutputDevice)
	{
		if (getProperty(property).toString() == String::empty || getProperty(property).toString() == COMBO_ITEM_NONE)
		{
			if (outputDevice)
				outputDevice->closeDevice();
		}
		else
		{
			outputDevice = owner.getCtrlrMidiDeviceManager().getDeviceByName(getProperty(property).toString(), CtrlrMidiDeviceManager::outputDevice, true);

			if (getEditor())
			{
				notify ( STR(outputDevice ? "Open OK: [" : "Open FAILED: [") + getProperty(property).toString() + "]", nullptr, outputDevice ? NotifySuccess : NotifyFailure);
			}
		}
	}
	else if (property == Ids::panelMidiControllerDevice)
	{
		if (getProperty(property).toString() == String::empty || getProperty(property).toString() == COMBO_ITEM_NONE)
		{
			midiControllerInputThread.closeInputDevice();
		}
		else
		{
			midiControllerInputThread.openInputDevice (getProperty(property));
		}
	}
	else if (	property == Ids::panelMidiInputChannelDevice
			|| property == Ids::panelMidiOutputChannelDevice
			|| property == Ids::panelMidiInputChannelHost
			|| property == Ids::panelMidiOutputChannelHost
			|| property == Ids::panelMidiControllerChannelDevice
	)
	{
		setMidiChannel (midiChannelFromString(property), (uint8) (int)getProperty(property));
	}
	else if (property == Ids::panelMidiInputFromHost
			|| property == Ids::panelMidiInputFromHostCompare
			|| property == Ids::panelMidiOutputToHost
			|| property == Ids::panelMidiThruH2H
			|| property == Ids::panelMidiThruH2HChannelize
			|| property == Ids::panelMidiThruH2D
			|| property == Ids::panelMidiThruH2DChannelize
			|| property == Ids::panelMidiThruD2D
			|| property == Ids::panelMidiThruD2DChannelize
			|| property == Ids::panelMidiThruD2H
			|| property == Ids::panelMidiThruD2HChannelize
			|| property == Ids::panelMidiRealtimeIgnore
		)
	{
		setMidiOptionBool (midiOptionFromString(property), getProperty(property));
	}
	else if (property == Ids::name)
	{
		if (ctrlrPanelEditor)
		{
			ctrlrPanelEditor->setProperty (Ids::name, getProperty(Ids::name));
		}
	}
	else if (property == Ids::luaPanelMidiReceived)
	{
		if (getProperty(property) == String::empty)
			return;

		luaPanelMidiReceivedCbk = getCtrlrLuaManager().getMethodManager().getMethod(getProperty(property));
	}
	else if (property == Ids::luaPanelMidiChannelChanged)
	{
		if (getProperty(property) == String::empty)
			return;

		luaPanelMidiChannelChangedCbk = getCtrlrLuaManager().getMethodManager().getMethod(getProperty(property));
	}
	else if (property == Ids::luaPanelMessageHandler)
	{
		if (getProperty(property) == String::empty)
			return;

		luaPanelMessageHandlerCbk = getCtrlrLuaManager().getMethodManager().getMethod(getProperty(property));
	}
	else if (property == Ids::luaPanelSaved)
	{
		if (getProperty(property) == String::empty)
			return;

		luaPanelSavedCbk = getCtrlrLuaManager().getMethodManager().getMethod(getProperty(property));
	}
	else if (property == Ids::luaPanelLoaded)
	{
		if (getProperty(property) == String::empty)
			return;

		luaPanelLoadedCbk = getCtrlrLuaManager().getMethodManager().getMethod(getProperty(property));
	}
	else if (property == Ids::luaPanelGlobalChanged)
	{
		if (getProperty(property) == String::empty)
			return;

		luaPanelGlobalChangedCbk = getCtrlrLuaManager().getMethodManager().getMethod(getProperty(property));
	}
	else if (property == Ids::luaPanelBeforeLoad)
	{
		if (getProperty(property) == String::empty)
			return;

		luaPanelBeforeLoadCbk = getCtrlrLuaManager().getMethodManager().getMethod(getProperty(property));
	}
	else if (property == Ids::luaPanelProgramChanged)
	{
		if (getProperty(property) == String::empty)
			return;

		luaPanelProgramChangedCbk = getCtrlrLuaManager().getMethodManager().getMethod(getProperty(property));
	}
	else if (property == Ids::luaPanelResourcesLoaded)
	{
		if (getProperty(property) == String::empty)
			return;

		luaPanelResourcesLoadedCbk = getCtrlrLuaManager().getMethodManager().getMethod(getProperty(property));
	}
	else if (property == Ids::panelGlobalVariables)
	{
		globalVariables = globalsFromString (getProperty(property));
	}
	else if (property == Ids::panelResources)
	{
		panelResources = globalsFromString (getProperty(property));
	}
	else if (property == Ids::panelMidiSnapshotDelay)
	{
		snapshot.setDelay(getProperty(property));
	}
	else if (property == Ids::panelMidiProgram || property == Ids::panelMidiBankLsb || property == Ids::panelMidiBankMsb)
	{
		sendMidiProgramChange();
	}
	else if (property == Ids::panelUID)
	{
		resourceManager.panelUIDChanged();
	}
	else if (property == Ids::panelMidiGlobalDelay)
	{
		globalMidiDelay = getProperty(property);
	}
}