Rename several methods in PortAudioIO class
authorTim Mayberry <mojofunk@gmail.com>
Mon, 24 Aug 2015 10:31:47 +0000 (20:31 +1000)
committerTim Mayberry <mojofunk@gmail.com>
Wed, 2 Sep 2015 02:07:15 +0000 (12:07 +1000)
return ErrorCode's and handle them where necessary

libs/backends/portaudio/portaudio_backend.cc
libs/backends/portaudio/portaudio_io.cc
libs/backends/portaudio/portaudio_io.h

index 882fb47487badf40eeb809a0ddb05eb4c3bc63fb..ddbf9d422b7a60a2011d5c838aa7667a2e7b2a59 100644 (file)
@@ -458,10 +458,10 @@ PortAudioBackend::_start (bool for_latency_measurement)
 
        PortAudioIO::ErrorCode err;
 
-       err = _pcmio->pcm_setup(name_to_id(_input_audio_device),
-                               name_to_id(_output_audio_device),
-                               _samplerate,
-                               _samples_per_period);
+       err = _pcmio->open_blocking_stream(name_to_id(_input_audio_device),
+                                          name_to_id(_output_audio_device),
+                                          _samplerate,
+                                          _samples_per_period);
 
        switch (err) {
        case PortAudioIO::NoError:
@@ -558,7 +558,7 @@ PortAudioBackend::_start (bool for_latency_measurement)
 
        if (timeout == 0 || !_active) {
                DEBUG_AUDIO("Failed to start main audio thread\n");
-               _pcmio->pcm_stop();
+               _pcmio->close_stream();
                _run = false;
                unregister_ports();
                _active = false;
@@ -1387,8 +1387,8 @@ PortAudioBackend::main_process_thread ()
        manager.registration_callback();
        manager.graph_order_callback();
 
-       if (_pcmio->pcm_start()) {
-               _pcmio->pcm_stop ();
+       if (_pcmio->start_stream() != PortAudioIO::NoError) {
+               _pcmio->close_stream ();
                _active = false;
                engine.halted_callback(get_error_string(AudioDeviceIOError).c_str());
        }
@@ -1496,7 +1496,7 @@ PortAudioBackend::main_process_thread ()
 
                        /* call engine process callback */
                        if (engine.process_callback (_samples_per_period)) {
-                               _pcmio->pcm_stop ();
+                               _pcmio->close_stream ();
                                _active = false;
                                return 0;
                        }
@@ -1559,7 +1559,7 @@ PortAudioBackend::main_process_thread ()
                        // TODO clear midi or stop midi recv when entering fwheelin'
 
                        if (engine.process_callback (_samples_per_period)) {
-                               _pcmio->pcm_stop ();
+                               _pcmio->close_stream();
                                _active = false;
                                return 0;
                        }
@@ -1604,7 +1604,7 @@ PortAudioBackend::main_process_thread ()
                }
 
        }
-       _pcmio->pcm_stop ();
+       _pcmio->close_stream();
        _active = false;
        if (_run) {
                engine.halted_callback(get_error_string(AudioDeviceIOError).c_str());
index 18eae36fd9b8936462dfb2ce7edbee6f084f72c8..4e7013f0600b4ed5b8205c92ea1bce76dd4a3a70 100644 (file)
@@ -56,7 +56,7 @@ PortAudioIO::PortAudioIO ()
 
 PortAudioIO::~PortAudioIO ()
 {
-       pcm_stop();
+       close_stream();
 
        pa_deinitialize ();
        clear_device_lists ();
@@ -548,11 +548,15 @@ PortAudioIO::reset_stream_dependents ()
        _cur_output_latency = 0;
 }
 
-void
-PortAudioIO::pcm_stop ()
+PortAudioIO::ErrorCode
+PortAudioIO::close_stream()
 {
-       if (_stream) {
-               Pa_CloseStream (_stream);
+       if (!_stream) return NoError;
+
+       PaError err = Pa_CloseStream (_stream);
+
+       if (err != paNoError) {
+               return StreamCloseError;
        }
        _stream = NULL;
 
@@ -560,17 +564,18 @@ PortAudioIO::pcm_stop ()
 
        free (_input_buffer); _input_buffer = NULL;
        free (_output_buffer); _output_buffer = NULL;
+       return NoError;
 }
 
-int
-PortAudioIO::pcm_start()
+PortAudioIO::ErrorCode
+PortAudioIO::start_stream()
 {
        PaError err = Pa_StartStream (_stream);
 
        if (err != paNoError) {
-               return -1;
+               return StreamStartError;
        }
-       return 0;
+       return NoError;
 }
 
 bool
@@ -730,10 +735,10 @@ PortAudioIO::pre_stream_open(int device_input,
 }
 
 PortAudioIO::ErrorCode
-PortAudioIO::pcm_setup(int device_input,
-                       int device_output,
-                       double sample_rate,
-                       uint32_t samples_per_period)
+PortAudioIO::open_blocking_stream(int device_input,
+                                  int device_output,
+                                  double sample_rate,
+                                  uint32_t samples_per_period)
 {
        PaStreamParameters inputParam;
        PaStreamParameters outputParam;
@@ -761,12 +766,12 @@ PortAudioIO::pcm_setup(int device_input,
 
        if (!set_sample_rate_and_latency_from_stream()) {
                DEBUG_AUDIO ("PortAudio failed to query stream information.\n");
-               pcm_stop();
+               close_stream();
                return StreamOpenError;
        }
 
        if (!allocate_buffers_for_blocking_api(samples_per_period)) {
-               pcm_stop();
+               close_stream();
                return StreamOpenError;
        }
        return NoError;
index 7b54f676fefc25f52df2622eafbc382267b6bd6c..e98f15451e432b6cb88ba84ea0e0bfecce19cee2 100644 (file)
@@ -83,13 +83,13 @@ public:
        std::string control_app_name (int device_id) const;
        void launch_control_app (int device_id);
 
-       void     pcm_stop (void);
-       int      pcm_start (void);
+       ErrorCode open_blocking_stream(int device_input,
+                                      int device_output,
+                                      double sample_rate,
+                                      uint32_t samples_per_period);
+       ErrorCode start_stream(void);
 
-       ErrorCode pcm_setup(int device_input,
-                           int device_output,
-                           double sample_rate,
-                           uint32_t samples_per_period);
+       ErrorCode close_stream(void);
 
        uint32_t n_playback_channels (void) const { return _playback_channels; }
        uint32_t n_capture_channels (void) const { return _capture_channels; }