From 78621620c9497046550ea69652cb053e36462bb3 Mon Sep 17 00:00:00 2001 From: Brandon Taylor Date: Wed, 9 Mar 2022 16:52:50 -0500 Subject: [PATCH] work with vector buffers --- src/PortAudio.jl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/PortAudio.jl b/src/PortAudio.jl index a9138fa..7d00a05 100644 --- a/src/PortAudio.jl +++ b/src/PortAudio.jl @@ -1005,6 +1005,9 @@ function exchange(messenger, arguments...) take!(messenger.output_channel) end +as_matrix(matrix::Matrix) = matrix +as_matrix(vector::Vector) = reshape(vector, length(vector), 1) + # these will only work with sampledsignals scribes function unsafe_write( sink::PortAudioSink{<:Messenger{<:Any, <:SampledSignalsWriter}}, @@ -1012,7 +1015,7 @@ function unsafe_write( already, frame_count, ) - exchange(sink.stream.sink_messanger, julia_buffer, already, frame_count) + exchange(sink.stream.sink_messanger, as_matrix(julia_buffer), already, frame_count) end function unsafe_read!( @@ -1021,7 +1024,7 @@ function unsafe_read!( already, frame_count, ) - exchange(source.stream.source_messanger, julia_buffer, already, frame_count) + exchange(source.stream.source_messanger, as_matrix(julia_buffer), already, frame_count) end end # module PortAudio