diff options
author | Valeriy Kamyshniy <vkamyshniy@wavesglobal.com> | 2015-03-02 14:42:06 +0200 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-03-31 17:29:42 -0400 |
commit | 91f5eb9fef75804937a6be1c5223ecd4d767c022 (patch) | |
tree | ac0e375c978d352257ec892808f86ca4764e24c2 /libs | |
parent | 47adf3ba37c4bbb1c8ddde72aeba075b94169522 (diff) |
[Summary] Audio Backend code cleanup - PORTION A
Conflicts:
libs/backends/wavesaudio/waves_midi_device.cc
Diffstat (limited to 'libs')
-rw-r--r-- | libs/backends/wavesaudio/waves_midi_device.cc | 94 | ||||
-rw-r--r-- | libs/backends/wavesaudio/waves_midi_device_manager.cc | 9 |
2 files changed, 7 insertions, 96 deletions
diff --git a/libs/backends/wavesaudio/waves_midi_device.cc b/libs/backends/wavesaudio/waves_midi_device.cc index eacf30b070..04570218b0 100644 --- a/libs/backends/wavesaudio/waves_midi_device.cc +++ b/libs/backends/wavesaudio/waves_midi_device.cc @@ -108,7 +108,8 @@ WavesMidiDevice::open (PmTimeProcPtr time_proc, void* time_info) if (is_output () ) { std::cout << "WavesMidiDevice::open (): OUTPUT" << _pm_output_id << "-[" << name () << "]!" << std::endl; - if (_output_queue) { + + if (!_output_queue) { _output_queue = Pm_QueueCreate (QUEUE_LENGTH, sizeof (const WavesMidiEvent*)); if (NULL == _output_queue) { std::cerr << "WavesMidiDevice::open (): _output_queue = Pm_QueueCreate () failed for " << _pm_output_id << "-[" << name () << "]!" << std::endl; @@ -135,102 +136,13 @@ WavesMidiDevice::open (PmTimeProcPtr time_proc, void* time_info) } } - if (is_output () && !_output_pm_stream) { - if (pmNoError != Pm_OpenOutput (&_output_pm_stream, - _pm_output_id, - NULL, - 1024, - time_proc, - time_info, - LATENCY)) { - std::cerr << "WavesMidiDevice::open (): Pm_OpenOutput () failed for " << _pm_output_id << "-[" << name () << "]!" << std::endl; - _output_pm_stream = NULL; - _pm_output_id = pmNoDevice; - return -1; - } - _output_queue = Pm_QueueCreate (QUEUE_LENGTH, sizeof (const WavesMidiEvent*)); - if (NULL == _output_queue) { - std::cerr << "WavesMidiDevice::open (): _output_queue = Pm_QueueCreate () failed for " << _pm_output_id << "-[" << name () << "]!" << std::endl; - close (); - return -1; - } - } - return 0; + return 0; } void WavesMidiDevice::close () { - DEBUG_TRACE (DEBUG::WavesMIDI, string_compose ("WavesMidiDevice::close (): %1\n", name ())); - WavesMidiEvent *waves_midi_event; - -<<<<<<< HEAD - if (_input_pm_stream) { - PmError err = Pm_Close (_input_pm_stream); - - if (err != pmNoError) { - std::cerr << "WavesMidiDevice::close (): Pm_Close () failed for " << _pm_input_id << "-[" << name () << "]!" << std::endl; - char* err_msg = new char[256]; - Pm_GetHostErrorText(err_msg, 256); - std::cerr << "Error: " << err_msg << std::endl; - std::cerr << "Aborting!" << std::endl; - Pm_Abort (_input_pm_stream); - } - -======= - if (_input_queue) { ->>>>>>> b7d650c... [Summary] Very seldom crash. Cleared temp data gave almost stable work - while (1 == Pm_Dequeue (_input_queue, &waves_midi_event)) { - delete waves_midi_event; // XXX possible dup free in ~WavesMidiBuffer() (?) - } - - Pm_QueueDestroy (_input_queue); - _input_queue = NULL; - _input_pm_stream = NULL; - _pm_input_id = pmNoDevice; - } - - if (_input_pm_stream) { - PmError err = Pm_Close (_input_pm_stream); - -<<<<<<< HEAD - if (err != pmNoError) { - std::cerr << "WavesMidiDevice::close (): Pm_Close () failed for " << _pm_output_id << "-[" << name () << "]!" << std::endl; - char* err_msg = new char[256]; - Pm_GetHostErrorText(err_msg, 256); - std::cerr << "Error: " << err_msg << std::endl; - std::cerr << "Aborting!" << std::endl; - Pm_Abort (_output_pm_stream); - } - -======= - if (err != pmNoError) { - std::cerr << "WavesMidiDevice::close (): Pm_Close () failed for " << _pm_input_id << "-[" << name () << "]!" << std::endl; - std::cerr << "Error: " << err << std::endl; - } - } - - if (_output_queue) { ->>>>>>> b7d650c... [Summary] Very seldom crash. Cleared temp data gave almost stable work - while (1 == Pm_Dequeue (_output_queue, &waves_midi_event)) { - delete waves_midi_event; // XXX possible dup free in ~WavesMidiBuffer() (?) - } - - Pm_QueueDestroy (_output_queue); - _output_queue = NULL; - _output_pm_stream = NULL; - _pm_output_id = pmNoDevice; - } - - if ( _output_pm_stream ) { - PmError err = Pm_Close (_output_pm_stream); - - if (err != pmNoError) { - std::cerr << "WavesMidiDevice::close (): Pm_Close () failed for " << _pm_output_id << "-[" << name () << "]!" << std::endl; - std::cerr << "Error: " << err << std::endl; - } - } } void diff --git a/libs/backends/wavesaudio/waves_midi_device_manager.cc b/libs/backends/wavesaudio/waves_midi_device_manager.cc index dc57b0ddc2..4066c533de 100644 --- a/libs/backends/wavesaudio/waves_midi_device_manager.cc +++ b/libs/backends/wavesaudio/waves_midi_device_manager.cc @@ -208,10 +208,9 @@ WavesMidiDeviceManager::_create_devices () { device = new WavesMidiDevice (pm_device_info->name); _devices.push_back (device); - } - - if (device->open (__get_time_ms, (void*)&_audiobackend)) { - std::cerr << "WavesMidiDeviceManager::_create_devices (): [" << device->name () << "]->open () failed!" << std::endl; + if (device->open (__get_time_ms, (void*)&_audiobackend)) { + std::cerr << "WavesMidiDeviceManager::_create_devices (): [" << device->name () << "]->open () failed!" << std::endl; + } } } @@ -235,7 +234,7 @@ WavesMidiDeviceManager::_delete_devices () void WavesMidiDeviceManager::_close_devices () { - // COMMENTED DBG LOGS */ std::cout << "WavesMidiDeviceManager::_delete_devices ():" << std::endl; + // COMMENTED DBG LOGS */ std::cout << "WavesMidiDeviceManager::_close_devices ():" << std::endl; for (size_t i = 0; i < _devices.size (); i++) { _devices[i]->close (); } |