summaryrefslogtreecommitdiff
path: root/portaudio/bindings/cpp/source/portaudiocpp/Stream.cxx
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2022-08-27 23:52:56 -0500
committersanine <sanine.not@pm.me>2022-08-27 23:52:56 -0500
commita4dd0ad63c00f4dee3b86dfd3075d1d61b2b3180 (patch)
tree13bd5bfa15e6fea2a12f176bae79adf9c6fd0933 /portaudio/bindings/cpp/source/portaudiocpp/Stream.cxx
parentbde3e4f1bb7b8f8abca0884a7d994ee1c17a66b1 (diff)
add plibsys
Diffstat (limited to 'portaudio/bindings/cpp/source/portaudiocpp/Stream.cxx')
-rw-r--r--portaudio/bindings/cpp/source/portaudiocpp/Stream.cxx195
1 files changed, 0 insertions, 195 deletions
diff --git a/portaudio/bindings/cpp/source/portaudiocpp/Stream.cxx b/portaudio/bindings/cpp/source/portaudiocpp/Stream.cxx
deleted file mode 100644
index ba16e03..0000000
--- a/portaudio/bindings/cpp/source/portaudiocpp/Stream.cxx
+++ /dev/null
@@ -1,195 +0,0 @@
-#include "portaudiocpp/Stream.hxx"
-
-#include <cstddef>
-
-#include "portaudiocpp/Exception.hxx"
-#include "portaudiocpp/System.hxx"
-
-namespace portaudio
-{
-
- // -----------------------------------------------------------------------------------
-
- Stream::Stream() : stream_(NULL)
- {
- }
-
- Stream::~Stream()
- {
- // (can't call close here,
- // the derived class should atleast call
- // close() in it's deconstructor)
- }
-
- // -----------------------------------------------------------------------------------
-
- //////
- /// Closes the Stream if it's open, else does nothing.
- //////
- void Stream::close()
- {
- if (isOpen() && System::exists())
- {
- PaError err = Pa_CloseStream(stream_);
- stream_ = NULL;
-
- if (err != paNoError)
- throw PaException(err);
- }
- }
-
- //////
- /// Returns true if the Stream is open.
- //////
- bool Stream::isOpen() const
- {
- return (stream_ != NULL);
- }
-
- // -----------------------------------------------------------------------------------
-
- void Stream::setStreamFinishedCallback(PaStreamFinishedCallback *callback)
- {
- PaError err = Pa_SetStreamFinishedCallback(stream_, callback);
-
- if (err != paNoError)
- throw PaException(err);
- }
-
- // -----------------------------------------------------------------------------------
-
- void Stream::start()
- {
- PaError err = Pa_StartStream(stream_);
-
- if (err != paNoError)
- throw PaException(err);
- }
-
- void Stream::stop()
- {
- PaError err = Pa_StopStream(stream_);
-
- if (err != paNoError)
- throw PaException(err);
- }
-
- void Stream::abort()
- {
- PaError err = Pa_AbortStream(stream_);
-
- if (err != paNoError)
- throw PaException(err);
- }
-
- bool Stream::isStopped() const
- {
- PaError ret = Pa_IsStreamStopped(stream_);
-
- if (ret < 0)
- throw PaException(ret);
-
- return (ret == 1);
- }
-
- bool Stream::isActive() const
- {
- PaError ret = Pa_IsStreamActive(stream_);
-
- if (ret < 0)
- throw PaException(ret);
-
- return (ret == 1);
- }
-
- // -----------------------------------------------------------------------------------
-
- //////
- /// Returns the best known input latency for the Stream. This value may differ from the
- /// suggested input latency set in the StreamParameters. Includes all sources of
- /// latency known to PortAudio such as internal buffering, and Host API reported latency.
- /// Doesn't include any estimates of unknown latency.
- //////
- PaTime Stream::inputLatency() const
- {
- const PaStreamInfo *info = Pa_GetStreamInfo(stream_);
- if (info == NULL)
- {
- throw PaException(paInternalError);
- return PaTime(0.0);
- }
-
- return info->inputLatency;
- }
-
- //////
- /// Returns the best known output latency for the Stream. This value may differ from the
- /// suggested output latency set in the StreamParameters. Includes all sources of
- /// latency known to PortAudio such as internal buffering, and Host API reported latency.
- /// Doesn't include any estimates of unknown latency.
- //////
- PaTime Stream::outputLatency() const
- {
- const PaStreamInfo *info = Pa_GetStreamInfo(stream_);
- if (info == NULL)
- {
- throw PaException(paInternalError);
- return PaTime(0.0);
- }
-
- return info->outputLatency;
- }
-
- //////
- /// Returns the sample rate of the Stream. Usually this will be the
- /// best known estimate of the used sample rate. For instance when opening a
- /// Stream setting 44100.0 Hz in the StreamParameters, the actual sample
- /// rate might be something like 44103.2 Hz (due to imperfections in the
- /// sound card hardware).
- //////
- double Stream::sampleRate() const
- {
- const PaStreamInfo *info = Pa_GetStreamInfo(stream_);
- if (info == NULL)
- {
- throw PaException(paInternalError);
- return 0.0;
- }
-
- return info->sampleRate;
- }
-
- // -----------------------------------------------------------------------------------
-
- PaTime Stream::time() const
- {
- return Pa_GetStreamTime(stream_);
- }
-
- // -----------------------------------------------------------------------------------
-
- //////
- /// Accessor (const) for PortAudio PaStream pointer, useful for interfacing with
- /// PortAudio add-ons such as PortMixer for instance. Normally accessing this
- /// pointer should not be needed as PortAudioCpp aims to provide all of PortAudio's
- /// functionality.
- //////
- const PaStream *Stream::paStream() const
- {
- return stream_;
- }
-
- //////
- /// Accessor (non-const) for PortAudio PaStream pointer, useful for interfacing with
- /// PortAudio add-ons such as PortMixer for instance. Normally accessing this
- /// pointer should not be needed as PortAudioCpp aims to provide all of PortAudio's
- /// functionality.
- //////
- PaStream *Stream::paStream()
- {
- return stream_;
- }
-
- // -----------------------------------------------------------------------------------
-
-} // namespace portaudio