MCPcopy Create free account
hub / github.com/BespokeSynth/BespokeSynth / ConnectDevice

Method ConnectDevice

Source/MidiController.cpp:2291–2381  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2289}
2290
2291void MidiController::ConnectDevice()
2292{
2293 mDevice.DisconnectInput();
2294 mDevice.DisconnectOutput();
2295 ResyncControllerState();
2296
2297 std::string deviceInName = mControllerList->GetLabel(mControllerIndex);
2298 std::string deviceOutName = String(deviceInName).replace("Input", "Output").replace("input", "output").replace(" In ", " Out ").toStdString();
2299 bool hasOutput = false;
2300 for (const auto& device : MidiOutput::getAvailableDevices())
2301 {
2302 if (device.name.toStdString() == deviceOutName)
2303 {
2304 hasOutput = true;
2305 break;
2306 }
2307 }
2308 mDeviceIn = deviceInName;
2309 mDeviceOut = hasOutput ? deviceOutName : "";
2310 mModuleSaveData.SetString("devicein", mDeviceIn);
2311 mModuleSaveData.SetString("deviceout", mDeviceOut);
2312
2313 if (mDeviceIn == "xboxcontroller")
2314 {
2315 //TODO_PORT(Ryan)
2316
2317 //Xbox360Controller* xbox = new Xbox360Controller(this);
2318 //mNonstandardController = xbox;
2319 }
2320 else if (mDeviceIn == "keyboard")
2321 {
2322 if (dynamic_cast<Monome*>(mNonstandardController) == nullptr)
2323 {
2324 QwertyController* qwerty = new QwertyController(this);
2325 mNonstandardController = qwerty;
2326 }
2327 }
2328 else if (mDeviceIn == "monome")
2329 {
2330 if (dynamic_cast<Monome*>(mNonstandardController) == nullptr)
2331 {
2332 Monome* monome = new Monome(this);
2333 monome->UpdateDeviceList(mMonomeDeviceDropdown);
2334 mNonstandardController = monome;
2335 }
2336 }
2337 else if (mDeviceIn == "osccontroller")
2338 {
2339 if (dynamic_cast<OscController*>(mNonstandardController) == nullptr)
2340 {
2341 OscController* osc = new OscController(this, "", -1, mOscInPort);
2342 mNonstandardController = osc;
2343 }
2344 }
2345 else if (mDeviceIn == "midicapturer")
2346 {
2347 if (dynamic_cast<MidiCapturerDummyController*>(mNonstandardController) == nullptr)
2348 {

Callers

nothing calls this directly

Calls 10

StringClass · 0.85
DisconnectInputMethod · 0.80
DisconnectOutputMethod · 0.80
SetStringMethod · 0.80
UpdateDeviceListMethod · 0.80
lengthMethod · 0.80
ConnectInputMethod · 0.80
GetLabelMethod · 0.45
ConnectOutputMethod · 0.45
SetLayoutDataMethod · 0.45

Tested by

no test coverage detected