Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Aayush
purr-data
Commits
5ddd91c7
Commit
5ddd91c7
authored
May 04, 2009
by
Miller Puckette
Browse files
remove 32-channel limit for portaudio I/O
parent
2736926f
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/s_audio_pa.c
View file @
5ddd91c7
...
...
@@ -13,9 +13,12 @@
#include <stdlib.h>
#include <portaudio.h>
#include "s_audio_pablio.h"
#ifdef MSW
#include <malloc.h>
#else
#include <alloca.h>
#endif
#define MAX_PA_CHANS 32
#define MAX_SAMPLES_PER_FRAME (MAX_PA_CHANS * DEFDACBLKSIZE)
/* LATER try to figure out how to handle default devices in portaudio;
the way s_audio.c handles them isn't going to work here. */
...
...
@@ -196,16 +199,6 @@ int pa_open_audio(int inchans, int outchans, int rate, t_sample *soundin,
/* fprintf(stderr, "open callback %d\n", (callbackfn != 0)); */
pa_init
();
/* post("in %d out %d rate %d device %d", inchans, outchans, rate, deviceno); */
if
(
inchans
>
MAX_PA_CHANS
)
{
post
(
"input channels reduced to maximum %d"
,
MAX_PA_CHANS
);
inchans
=
MAX_PA_CHANS
;
}
if
(
outchans
>
MAX_PA_CHANS
)
{
post
(
"output channels reduced to maximum %d"
,
MAX_PA_CHANS
);
outchans
=
MAX_PA_CHANS
;
}
if
(
inchans
>
0
)
{
...
...
@@ -288,10 +281,15 @@ void pa_close_audio( void)
int
pa_send_dacs
(
void
)
{
float
samples
[
MAX_SAMPLES_PER_FRAME
],
*
fp1
,
*
fp2
;
unsigned
int
framesize
=
(
sizeof
(
float
)
*
DEFDACBLKSIZE
)
*
(
pa_inchans
>
pa_outchans
?
pa_inchans
:
pa_outchans
);
float
*
samples
,
*
fp1
,
*
fp2
;
int
i
,
j
;
double
timebefore
;
samples
=
alloca
(
framesize
);
timebefore
=
sys_getrealtime
();
if
((
pa_inchans
&&
GetAudioStreamReadable
(
pa_stream
)
<
DEFDACBLKSIZE
)
||
(
pa_outchans
&&
GetAudioStreamWriteable
(
pa_stream
)
<
DEFDACBLKSIZE
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment