Platforms to show: All Mac Windows Linux Cross-Platform
PortAudioStreamMBS class
Super class: PortAudioStreamBaseMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
class | Audio | MBS Audio Plugin | 6.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | All |
A stream provides access to audio hardware represented by one or more devices. Depending on the underlying Host API, it may be possible to open multiple streams using the same device, however this behavior is implementation defined. Portable applications should assume that a device may be simultaneously used by at most one PortAudioStreamMBS.
You can use this class in two ways:
- with Callback event: Get event call when new data is needed or received.
- without Callback event: Use read/write methods to access buffers and move samples.
- 2 events
- 3 methods
- method Constructor
- method OpenDefaultStream(numInputChannels as Integer, numOutputChannels as Integer, sampleFormat as Integer, sampleRate as Double, framesPerBuffer as Integer, Flags as Integer) as Integer
- method OpenStream(inputParameters as PortAudioStreamParametersMBS, outputParameters as PortAudioStreamParametersMBS, sampleRate as Double, framesPerBuffer as Integer, streamFlags as Integer) as Integer
Super class PortAudioStreamBaseMBS
- 9 properties
- property CPULoad as Double
- property IsStreamActive as Integer
- property IsStreamStopped as Integer
- property MacCoreAudioStreamInputDevice as Integer
- property MacCoreAudioStreamOutputDevice as Integer
- property ReadAvailable as Integer
- property Time as Double
- property WriteAvailable as Integer
- property UseSafeThreading as boolean
- 14 methods
- method Abort as Integer
- method AsioSetStreamSampleRate(sampleRate as double) as integer
- method Close as Integer
- method Constructor Private
- method HostError as PortAudioHostErrorInfoMBS
- method Info as PortAudioStreamInfoMBS
- method Read(Buffer as Ptr, frameCount as integer) as integer
- method Start as Integer
- method Stop as Integer
- method WinMMEStreamInputHandle(index as Integer) as Ptr
- method WinMMEStreamInputHandleCount as integer
- method WinMMEStreamOutputHandle(index as Integer) as Ptr
- method WinMMEStreamOutputHandleCount as integer
- method Write(Buffer as Ptr, frameCount as integer) as integer
- 6 constants
Flags
Constant | Value | Description |
---|---|---|
kFlagsClipOff | 1 |
Disable default clipping of out of range samples. |
kFlagsDitherOff | 2 |
Disable default dithering. |
kFlagsNeverDropInput | 4 |
Flag requests that where possible a full duplex stream will not discard overflowed input samples without calling the stream callback. This flag is only valid for full duplex callback streams and only when used in combination with the paFramesPerBufferUnspecified (0) framesPerBuffer parameter. Using this flag incorrectly results in a paInvalidFlag error being returned from OpenStream and OpenDefaultStream. |
kFlagsNoFlag | 0 |
No flags. |
kFlagsPlatformSpecificFlags | &hFFFF0000 |
A mask specifying the platform specific bits. |
kFlagsPrimeOutputBuffersUsingStreamCallback | 8 |
Call the stream callback to fill initial output buffers, rather than the default behavior of priming the buffers with zeros (silence). This flag has no effect for input-only and blocking read/write streams. |
This class has no sub classes.
Some examples using this class:
Blog Entries
- MBS Xojo Plugins, version 20.1pr4
- MBS Xojo Plugins, version 20.1pr1
- MBS Xojo Plugins, version 19.2pr3
Release notes
- Version 20.1
- Added explicit constructors for PortAudioStreamMBS and PortAudioStreamBufferedMBS class.
- Added Read and Write methods and ReadAvailable and WriteAvailable properties to PortAudioStreamBaseMBS class and removed them from PortAudioStreamMBS class.
- Version 19.2
- Rewrote callback part for PortAudioStreamMBS class on MacOS and updated PortAudio example.
The items on this page are in the following plugins: MBS Audio Plugin.
PortAudioStreamInfoMBS - PortAudioStreamParametersMBS