Skip to content

Commit

Permalink
Merge pull request #5 from pipelined/bump-deps
Browse files Browse the repository at this point in the history
Bump deps
  • Loading branch information
dudk authored Oct 23, 2020
2 parents c06ad20 + 1418e9c commit dd90103
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 36 deletions.
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
module pipelined.dev/audio/portaudio

require (
github.com/gordonklaus/portaudio v0.0.0-20180817120803-00e7307ccd93
pipelined.dev/audio/wav v0.5.0
pipelined.dev/pipe v0.8.4
pipelined.dev/signal v0.8.0
github.com/gordonklaus/portaudio v0.0.0-20200911161147-bb74aa485641
pipelined.dev/audio/wav v0.6.0
pipelined.dev/pipe v0.9.0
pipelined.dev/signal v0.9.0
)

go 1.13
16 changes: 8 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ github.com/go-audio/riff v1.0.0 h1:d8iCGbDvox9BfLagY94fBynxSPHO80LmZCaOsmKxokA=
github.com/go-audio/riff v1.0.0/go.mod h1:l3cQwc85y79NQFCRB7TiPoNiaijp6q8Z0Uv38rVG498=
github.com/go-audio/wav v1.0.0 h1:WdSGLhtyud6bof6XHL28xKeCQRzCV06pOFo3LZsFdyE=
github.com/go-audio/wav v1.0.0/go.mod h1:3yoReyQOsiARkvPl3ERCi8JFjihzG6WhjYpZCf5zAWE=
github.com/gordonklaus/portaudio v0.0.0-20180817120803-00e7307ccd93 h1:TSG+DyZBnazM22ZHyHLeUkzM34ClkJRjIWHTq4btvek=
github.com/gordonklaus/portaudio v0.0.0-20180817120803-00e7307ccd93/go.mod h1:HfYnZi/ARQKG0dwH5HNDmPCHdLiFiBf+SI7DbhW7et4=
pipelined.dev/audio/wav v0.5.0 h1:5f+ooQK20lUdfbNV0G5zhAfbhapOlUx+xuZXVZKGtOQ=
pipelined.dev/audio/wav v0.5.0/go.mod h1:zuCzfX/Wz0IXPqiziXraB0O/LgOdsKbg6u7EtW62GKQ=
pipelined.dev/pipe v0.8.4 h1:UFyH26AWW3GkVOWIla9zQYqDzbWW6NwdFDnvsrCKwVg=
pipelined.dev/pipe v0.8.4/go.mod h1:VF3EecmES6UYXmO2yloIYgGgeCctUq2Dz0/h4GMjwAY=
pipelined.dev/signal v0.8.0 h1:L66vzenF0F6R2XhFy0pOftb83mFDkVqVugKnvs0eS7M=
pipelined.dev/signal v0.8.0/go.mod h1:wi0YlA20+rinS9o+7IMZHH3/YsO3jkahHNLSCCfaEA0=
github.com/gordonklaus/portaudio v0.0.0-20200911161147-bb74aa485641 h1:B7ADnac3Yy6Vtcp2mstnsjUtarYcjy4AL0R6eNEhZAk=
github.com/gordonklaus/portaudio v0.0.0-20200911161147-bb74aa485641/go.mod h1:HfYnZi/ARQKG0dwH5HNDmPCHdLiFiBf+SI7DbhW7et4=
pipelined.dev/audio/wav v0.6.0 h1:SpBWOI2p4s/1C6dUA3JTH5gOMGeCrgcBirUP52IvWn0=
pipelined.dev/audio/wav v0.6.0/go.mod h1:+WBX7mjYVeoQjq+otmO1uNhqycg4Vh8rXK2T/BTgx0Q=
pipelined.dev/pipe v0.9.0 h1:lZK1z2j7MT4p49/YG5ixdwm9SZR3ob6WRJRoyWOPS0o=
pipelined.dev/pipe v0.9.0/go.mod h1:GExMBEAGrfgMAXM3RRwZepzL+VSrAfq2iUeBMbOkTzw=
pipelined.dev/signal v0.9.0 h1:1tmBYsBQCP4TXYy+wCbv6LH3aiRrigqcx4i7dwSAd9U=
pipelined.dev/signal v0.9.0/go.mod h1:wi0YlA20+rinS9o+7IMZHH3/YsO3jkahHNLSCCfaEA0=
17 changes: 7 additions & 10 deletions portaudio.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ import (
"fmt"

"github.com/gordonklaus/portaudio"

"pipelined.dev/pipe"
"pipelined.dev/pipe/pooling"
"pipelined.dev/pipe/mutable"
"pipelined.dev/signal"
)

Expand All @@ -32,12 +33,8 @@ type Device struct {
// is provided, the current system default will be used. Sink returns new
// portaudio sink allocator closure.
func Sink(d Device) pipe.SinkAllocatorFunc {
return func(bufferSize int, props pipe.SignalProperties) (pipe.Sink, error) {
pool := pooling.Get(signal.Allocator{
Channels: props.Channels,
Length: bufferSize,
Capacity: bufferSize,
})
return func(mut mutable.Context, bufferSize int, props pipe.SignalProperties) (pipe.Sink, error) {
pool := signal.GetPoolAllocator(props.Channels, bufferSize, bufferSize)
output := make(chan signal.Floating, 1)
stream, err := portaudio.OpenStream(
portaudio.StreamParameters{
Expand Down Expand Up @@ -65,21 +62,21 @@ func Sink(d Device) pipe.SinkAllocatorFunc {
}
}

func сallback(output <-chan signal.Floating, pool *signal.Pool) func([]float32, portaudio.StreamCallbackTimeInfo, portaudio.StreamCallbackFlags) {
func сallback(output <-chan signal.Floating, pool *signal.PoolAllocator) func([]float32, portaudio.StreamCallbackTimeInfo, portaudio.StreamCallbackFlags) {
return func(out []float32, timeInfo portaudio.StreamCallbackTimeInfo, flags portaudio.StreamCallbackFlags) {
select {
case floats, ok := <-output:
if !ok {
return
}
signal.ReadFloat32(floats, out)
pool.PutFloat32(floats)
floats.Free(pool)
default:
}
}
}

func sink(output chan<- signal.Floating, pool *signal.Pool) pipe.SinkFunc {
func sink(output chan<- signal.Floating, pool *signal.PoolAllocator) pipe.SinkFunc {
return func(floats signal.Floating) error {
buf := pool.GetFloat32()
signal.FloatingAsFloating(floats, buf)
Expand Down
24 changes: 10 additions & 14 deletions portaudio_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,23 @@ func TestPipe(t *testing.T) {
defer portaudio.Terminate()
device, err := portaudio.DefaultOutputDevice()
if err != nil {
t.Errorf("unexpected error: %v", err)
t.Errorf("PA error: %v", err)
}

// create sink with empty device
line, err := pipe.Routing{
Source: wav.Source(inFile),
Sink: portaudio.Sink(device),
}.Line(bufferSize)
p, err := pipe.New(bufferSize,
pipe.Routing{
Source: wav.Source(inFile),
Sink: portaudio.Sink(device),
},
)
if err != nil {
t.Errorf("unexpected error: %v", err)
t.Errorf("pipe error: %v", err)
}

p := pipe.New(context.Background(), pipe.WithLines(line))
err = p.Wait()
a := p.Async(context.Background())
err = a.Await()
if err != nil {
t.Errorf("unexpected error: %v", err)
}
}

// func TestDevices(t *testing.T) {
// devices, err := portaudio.Devices()
// assert.Nil(t, err)
// assert.NotNil(t, devices)
// }

0 comments on commit dd90103

Please sign in to comment.