You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Enable platform-specific features from PortAudio #4
It would be interesting to be able to select arbitrary channels for input and output. On Windows this is needed with ASIO. If you currently want to send data to output channels 9 and 10, you have to send data to all channels below 11. This means that sharing the soundcard with other applications becomes impossible.
The hostapis WDM-KS, MME, Directsound, normally only present 2 channels so it is not a problem there.
Would love to be able to fetch PaAsio_GetInputChannelName and PaAsio_GetOutputChannelName though it looks like there hasn't been much movement on this feature?
Activity
mgeier commentedon Jul 29, 2015
One possible feature would be the "exclusive mode" of WASAPI, see http://stackoverflow.com/questions/31306010/how-to-enable-wasapi-exclusive-mode-in-pyaudio
mgeier commentedon Mar 20, 2016
PaAlsa_EnableRealtimeSchedulingmight be interesting for ALSA: http://portaudio.com/docs/v19-doxydocs-dev/pa__linux__alsa_8h.html#accc41e7fd89dc0a6163d54a4f25fb242raecke commentedon Aug 8, 2016
It would be interesting to be able to select arbitrary channels for input and output. On Windows this is needed with ASIO. If you currently want to send data to output channels 9 and 10, you have to send data to all channels below 11. This means that sharing the soundcard with other applications becomes impossible.
The hostapis WDM-KS, MME, Directsound, normally only present 2 channels so it is not a problem there.
WIP: Add extra_settings and AsioSettings
mgeier commentedon Aug 9, 2016
@raecke I created an experimental implementation in #34. Can you please check if it works for you and leave a comment there?
Add extra_settings and AsioSettings
Add extra_settings and AsioSettings
mgeier commentedon Jan 28, 2017
There is also
PaAlsa_SetNumPeriods, which is by default set to4, which seems random:http://portaudio.com/docs/v19-doxydocs-dev/pa__linux__alsa_8h.html#a76f60d6f1ba6a298c038a9f3a6dccc53
It looks like this has to be called before opening a stream.
mgeier commentedon Apr 28, 2017
OK, I'm trying to make an exhaustive list of the current host-API-specific settings, let's see if that works:
hostApiSpecificStreamInfoto be specified separately for the input and output device when creating a stream:paUseHostApiSpecificDeviceSpecification(a.k.a.-2)PaAsioStreamInfo::flagsto containpaAsioUseChannelSelectorsPaMacCore_SetupChannelMappaMacCoreChangeDeviceParameters,paMacCoreFailIfConversionRequired,paMacCoreConversionQuality*, ...paWinDirectSoundUseChannelMaskflagpaWinDirectSoundUseLowLevelLatencyParametersflagpaWinWasapiUseChannelMaskflagpaWinWasapiExclusive,paWinWasapiPollingpaWinWasapiRedirectHostProcessorflag, separate callback instead of "normal" audio callback?paWinWasapiThreadPriorityflag, cannot be different for input and output!paWinMmeUseMultipleDevicesflagpaWinMmeUseChannelMaskflagpaWinMmeDontThrottleOverloadedProcessingThread,paWinMmeWaveFormatDolbyAc3Spdif,paWinMmeWaveFormatWmaSpdifFunctions that are called with a stream pointer:
PaWasapiHostProcessorCallbackGlobal functions:
Pa_Initialize!PaWasapi_IsLoopback(will be in PortAudio 19.8), takes device indexphilipmountifield commentedon May 19, 2020
Would love to be able to fetch
PaAsio_GetInputChannelNameandPaAsio_GetOutputChannelNamethough it looks like there hasn't been much movement on this feature?mgeier commentedon May 20, 2020
@philipmountifield Can you please create a new issue with your request, including a suggestion how the new API should look like?