@@ -69,42 +69,35 @@ func (buffer *Buffer) Gen(routine string, flags int, args ...float32) error {
69
69
70
70
// sendGenMsg sends a /b_gen command.
71
71
func (buffer * Buffer ) sendGenMsg (routine string , flags int , args ... float32 ) error {
72
- gen , err := osc .NewMessage (bufferGenAddress )
73
- if err != nil {
74
- return err
75
- }
76
- if err := gen .WriteInt32 (buffer .Num ); err != nil {
77
- return err
78
- }
79
- if err := gen .WriteString (routine ); err != nil {
80
- return err
81
- }
82
- if err := gen .WriteInt32 (int32 (flags )); err != nil {
83
- return err
72
+ msg := osc.Message {
73
+ Address : bufferGenAddress ,
74
+ Arguments : osc.Arguments {
75
+ osc .Int (buffer .Num ),
76
+ osc .String (routine ),
77
+ osc .Int (int32 (flags )),
78
+ },
84
79
}
85
80
for _ , arg := range args {
86
- if err := gen .WriteFloat32 (arg ); err != nil {
87
- return err
88
- }
81
+ msg .Arguments = append (msg .Arguments , osc .Float (arg ))
89
82
}
90
- if err := buffer .client .oscConn .Send (gen ); err != nil {
83
+ if err := buffer .client .oscConn .Send (msg ); err != nil {
91
84
return err
92
85
}
93
86
return nil
94
87
}
95
88
96
89
// awaitGenReply waits for a reply to the /b_gen command
97
90
func (buffer * Buffer ) awaitGenReply () error {
98
- var done * osc.Message
91
+ var done osc.Message
99
92
select {
100
93
case done = <- buffer .client .doneChan :
101
94
case err := <- buffer .client .errChan :
102
95
return err
103
96
}
104
- if done .CountArguments ( ) != 2 {
97
+ if len ( done .Arguments ) != 2 {
105
98
return errors .New ("expected two arguments to /done message" )
106
99
}
107
- addr , err := done .ReadString ()
100
+ addr , err := done .Arguments [ 0 ]. ReadString ()
108
101
if err != nil {
109
102
return err
110
103
}
@@ -113,7 +106,7 @@ func (buffer *Buffer) awaitGenReply() error {
113
106
buffer .client .doneChan <- done
114
107
return nil
115
108
}
116
- bufnum , err := done .ReadInt32 ()
109
+ bufnum , err := done .Arguments [ 1 ]. ReadInt32 ()
117
110
if err != nil {
118
111
return err
119
112
}
0 commit comments