Class: AudioToolbox::MusicPlayer

Inherits:
Object
  • Object
show all
Defined in:
ext/music_player/midiosx.c

Instance Method Summary collapse

Constructor Details

#initializeObject



132
133
134
135
136
137
138
139
140
141
142
143
# File 'ext/music_player/midiosx.c', line 132

static VALUE
player_init (VALUE self)
{
    MusicPlayer *player;
    OSStatus err;
    Data_Get_Struct(self, MusicPlayer, player);
    require_noerr( err = NewMusicPlayer(player), fail );
    return self;
    
    fail:
    RAISE_OSSTATUS(err, "NewMusicPlayer()");
}

Instance Method Details

#host_time_for_beatsObject



280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
# File 'ext/music_player/midiosx.c', line 280

static VALUE
player_host_time_for_beats (VALUE self, VALUE rb_beats)
{
  MusicTimeStamp beats = NUM2ULONG(rb_beats);
  
  MusicPlayer *player;
  Data_Get_Struct(self, MusicPlayer, player);

  UInt64 host_time = 0;
  OSStatus err;
  
  require_noerr( err = MusicPlayerGetHostTimeForBeats(*player, beats, &host_time), fail );
  return rb_float_new(host_time);
  
 fail:
  RAISE_OSSTATUS(err, "MusicPlayerGetHostTimeForBeats()");
}

#play_rate_scalarObject



246
247
248
249
250
251
252
253
254
255
256
257
258
259
# File 'ext/music_player/midiosx.c', line 246

static VALUE
player_get_play_rate_scalar (VALUE self)
{
    MusicPlayer *player;
    Float64 scalar;
    OSStatus err;
    
    Data_Get_Struct(self, MusicPlayer, player);
    require_noerr( err = MusicPlayerGetPlayRateScalar(*player, &scalar), fail );
    return rb_float_new(scalar);

    fail:
    RAISE_OSSTATUS(err, "MusicPlayerGetPlayRateScalar()");
}

#play_rate_scalar=Object



261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
# File 'ext/music_player/midiosx.c', line 261

static VALUE
player_set_play_rate_scalar (VALUE self, VALUE rb_scalar)
{
    if (!PRIM_NUM_P(rb_scalar))
        rb_raise(rb_eArgError, "Expected scalar to be a number.");
    
    MusicPlayer *player;
    Float64 scalar;
    OSStatus err;

    scalar = NUM2DBL(rb_scalar);
    Data_Get_Struct(self, MusicPlayer, player);
    require_noerr( err = MusicPlayerSetPlayRateScalar(*player, scalar), fail );
    return Qnil;
    
    fail:
    RAISE_OSSTATUS(err, "MusicPlayerSetPlayRateScalar()");
}

#playing?Boolean

Returns:

  • (Boolean)


145
146
147
148
149
150
151
152
153
154
155
156
157
158
# File 'ext/music_player/midiosx.c', line 145

static VALUE
player_is_playing (VALUE self)
{
    MusicPlayer *player;
    Boolean playing;
    OSStatus err;
    
    Data_Get_Struct(self, MusicPlayer, player);
    require_noerr( err = MusicPlayerIsPlaying(*player, &playing), fail );
    return playing ? Qtrue : Qfalse;
    
    fail:
    RAISE_OSSTATUS(err, "MusicPlayerIsPlaying()");
}

#sequenceObject



160
161
162
163
164
# File 'ext/music_player/midiosx.c', line 160

static VALUE
player_get_sequence (VALUE self)
{
    return rb_iv_get(self, "@sequence");
}

#sequence=Object



166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# File 'ext/music_player/midiosx.c', line 166

static VALUE
player_set_sequence (VALUE self, VALUE rb_seq)
{
    MusicPlayer *player;
    MusicSequence *seq;
    OSStatus err;
    
    Data_Get_Struct(self, MusicPlayer, player);
    Data_Get_Struct(rb_seq, MusicSequence, seq);
    rb_iv_set(self, "@sequence", rb_seq);
    
    require_noerr( err = MusicPlayerSetSequence(*player, *seq), fail );
    return rb_seq;
    
    fail:
    RAISE_OSSTATUS(err, "MusicPlayerSetSequence()");
}

#startObject



184
185
186
187
188
189
190
191
192
193
194
195
196
# File 'ext/music_player/midiosx.c', line 184

static VALUE
player_start (VALUE self)
{
    MusicPlayer *player;
    OSStatus err;
    
    Data_Get_Struct(self, MusicPlayer, player);
    require_noerr( err = MusicPlayerStart(*player), fail );
    return Qnil;
    
    fail:
    RAISE_OSSTATUS(err, "MusicPlayerStart()");
}

#stopObject



198
199
200
201
202
203
204
205
206
207
208
209
210
# File 'ext/music_player/midiosx.c', line 198

static VALUE
player_stop (VALUE self)
{
    MusicPlayer *player;
    OSStatus err;
    
    Data_Get_Struct(self, MusicPlayer, player);
    require_noerr( err = MusicPlayerStop(*player), fail );
    return Qnil;
    
    fail:
    RAISE_OSSTATUS(err, "MusicPlayerStop()");
}

#timeObject



212
213
214
215
216
217
218
219
220
221
222
223
224
225
# File 'ext/music_player/midiosx.c', line 212

static VALUE
player_get_time (VALUE self)
{
    MusicPlayer *player;
    MusicTimeStamp ts;
    OSStatus err;
    
    Data_Get_Struct(self, MusicPlayer, player);
    require_noerr( err = MusicPlayerGetTime(*player, &ts), fail );
    return rb_float_new((Float64) ts);
    
    fail:
    RAISE_OSSTATUS(err, "MusicPlayerGetTime()");
}

#time=Object



227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
# File 'ext/music_player/midiosx.c', line 227

static VALUE
player_set_time (VALUE self, VALUE rb_ts)
{
    if (!PRIM_NUM_P(rb_ts))
        rb_raise(rb_eArgError, "Expected argument to be a number.");
    
    MusicPlayer *player;
    MusicTimeStamp ts;
    OSStatus err;
    
    ts = rb_num2dbl(rb_ts);
    Data_Get_Struct(self, MusicPlayer, player);
    require_noerr( err = MusicPlayerSetTime(*player, ts), fail );
    return Qnil;
    
    fail:
    RAISE_OSSTATUS(err, "MusicPlayerSetTime()");
}