if (_active || _run) {
PBD::error << _("AlsaAudioBackend: already active.") << endmsg;
- return -1;
+ return BackendReinitializationError;
}
if (_ports.size()) {
if (_input_audio_device == get_standard_device_name(DeviceNone) && _output_audio_device == get_standard_device_name(DeviceNone)) {
PBD::error << _("AlsaAudioBackend: At least one of input or output device needs to be set.");
- return -1;
+ return AudioDeviceInvalidError;
}
if (_input_audio_device != _output_audio_device) {
if (_input_audio_device != get_standard_device_name(DeviceNone) && _output_audio_device != get_standard_device_name(DeviceNone)) {
PBD::error << _("AlsaAudioBackend: Cannot use two different devices.");
- return -1;
+ return AudioDeviceInvalidError;
}
if (_input_audio_device != get_standard_device_name(DeviceNone)) {
get_alsa_audio_device_names(devices, HalfDuplexIn);
}
if (alsa_device == "") {
PBD::error << _("AlsaAudioBackend: Cannot find configured device. Is it still connected?");
- return -1;
+ return AudioDeviceNotAvailableError;
}
acquire_device(alsa_device.c_str());
PBD::error << _("AlsaAudioBackend: failed to register system ports.") << endmsg;
delete _pcmi; _pcmi = 0;
release_device();
- return -1;
+ return PortRegistrationError;
}
engine.sample_rate_change (_samplerate);
PBD::error << _("AlsaAudioBackend: Could not re-establish ports.") << endmsg;
delete _pcmi; _pcmi = 0;
release_device();
- return -1;
+ return PortReconnectError;
}
engine.reconnect_ports ();
delete _pcmi; _pcmi = 0;
release_device();
_run = false;
- return -1;
+ return ProcessThreadStartError;
} else {
PBD::warning << _("AlsaAudioBackend: cannot acquire realtime permissions.") << endmsg;
}
delete _pcmi; _pcmi = 0;
release_device();
_run = false;
- return -1;
+ return ProcessThreadStartError;
}
- return 0;
+ return NoError;
}
int
if (_active_ca || _active_fw || _run) {
PBD::error << _("CoreAudioBackend: already active.") << endmsg;
- return -1;
+ return BackendReinitializationError;
}
if (_ports.size()) {
break;
case -1:
PBD::error << _("CoreAudioBackend: Invalid Device ID.") << endmsg;
- error_code = BackendInitializationError; // XXX
+ error_code = AudioDeviceInvalidError;
break;
case -2:
PBD::error << _("CoreAudioBackend: Failed to resolve Device-Component by ID.") << endmsg;
- error_code = BackendInitializationError; // XXX
+ error_code = AudioDeviceNotAvailableError;
break;
case -3:
PBD::error << _("CoreAudioBackend: failed to open device.") << endmsg;
break;
case -8:
PBD::error << _("CoreAudioBackend: Cannot allocate buffers, out-of-memory.") << endmsg;
- error_code = BackendInitializationError; // XXX
+ error_code = OutOfMemoryError;
break;
case -9:
PBD::error << _("CoreAudioBackend: Failed to set device-property listeners.") << endmsg;
break;
case -10:
PBD::error << _("CoreAudioBackend: Setting Process Callback failed.") << endmsg;
- error_code = BackendInitializationError; // XXX
+ error_code = AudioDeviceIOError;
break;
case -11:
PBD::error << _("CoreAudioBackend: cannot use requested period size.") << endmsg;
if (register_system_audio_ports()) {
PBD::error << _("CoreAudioBackend: failed to register system ports.") << endmsg;
_run = false;
- return -1;
+ return PortRegistrationError;
}
engine.sample_rate_change (_samplerate);
if (engine.reestablish_ports ()) {
PBD::error << _("CoreAudioBackend: Could not re-establish ports.") << endmsg;
_run = false;
- return -1;
+ return PortReconnectError;
}
if (pthread_create (&_freeewheel_thread, NULL, pthread_freewheel, this))
PBD::error << _("CoreAudioBackend: failed to create process thread.") << endmsg;
delete _pcmio; _pcmio = 0;
_run = false;
- return -1;
+ return ProcessThreadStartError;
}
int timeout = 5000;
unregister_ports();
_active_ca = false;
_active_fw = false;
- return -1;
+ return FreewheelThreadStartError;
}
if (!_active_ca) {
PBD::error << _("CoreAudioBackend: failed to start coreaudio.") << endmsg;
stop();
_run = false;
- return -1;
+ return ProcessThreadStartError;
}
engine.reconnect_ports ();
_pcmio->set_xrun_callback (xrun_callback_ptr, this);
_preinit = false;
- return 0;
+ return NoError;
}
int
{
if (_running) {
PBD::error << _("DummyAudioBackend: already active.") << endmsg;
- return -1;
+ return BackendReinitializationError;
}
if (_ports.size()) {
if (register_system_ports()) {
PBD::error << _("DummyAudioBackend: failed to register system ports.") << endmsg;
- return -1;
+ return PortRegistrationError;
}
engine.sample_rate_change (_samplerate);
if (engine.reestablish_ports ()) {
PBD::error << _("DummyAudioBackend: Could not re-establish ports.") << endmsg;
stop ();
- return -1;
+ return PortReconnectError;
}
engine.reconnect_ports ();
if (timeout == 0 || !_running) {
PBD::error << _("DummyAudioBackend: failed to start process thread.") << endmsg;
- return -1;
+ return ProcessThreadStartError;
}
- return 0;
+ return NoError;
}
int
if (running()) {
DEBUG_AUDIO("Already started.\n");
- return -1;
+ return BackendReinitializationError;
}
if (_ports.size()) {
if (register_system_midi_ports () != 0) {
DEBUG_PORTS("Failed to register system midi ports.\n")
_run = false;
- return -1;
+ return PortRegistrationError;
}
DEBUG_AUDIO ("Registering Audio ports\n");
if (register_system_audio_ports()) {
DEBUG_PORTS("Failed to register system audio ports.\n");
_run = false;
- return -1;
+ return PortRegistrationError;
}
engine.sample_rate_change (_samplerate);
if (engine.reestablish_ports ()) {
DEBUG_PORTS("Could not re-establish ports.\n");
_run = false;
- return -1;
+ return PortReconnectError;
}
engine.reconnect_ports ();
_port_change_flag = false;
if (!start_blocking_process_thread()) {
- return -1;
+ return ProcessThreadStartError;
}
- return 0;
+ return NoError;
}
bool