@@ -380,7 +380,9 @@ void mk2_subcode_init(struct mk2_subcode *sc)
380380 sc -> avg_slope = INT_MAX /2 ;
381381 sc -> bit = U128_ZERO ;
382382
383- delayline_init (& sc -> readings );
383+ sc -> readings = rb_alloc (5 , sizeof (int ));
384+ assert (sc -> readings );
385+
384386
385387 /* Initialise smoothing filters */
386388 ema_init (& sc -> ema_reading , 0.01 );
@@ -397,7 +399,8 @@ static void init_mk2_channel(struct timecoder_channel *ch)
397399 ch -> mk2 .rms = INT_MAX /2 ;
398400 ch -> mk2 .rms_deriv = 0 ;
399401
400- delayline_init (& ch -> mk2 .delayline );
402+ ch -> mk2 .delayline = rb_alloc (5 , sizeof (int ));
403+ assert (ch -> mk2 .delayline );
401404
402405 ema_init (& ch -> mk2 .ema_filter , 3e-1 );
403406 derivative_init (& ch -> mk2 .differentiator );
@@ -495,10 +498,10 @@ void timecoder_clear(struct timecoder *tc)
495498 assert (tc -> mon == NULL );
496499
497500 if (tc -> def -> flags & TRAKTOR_MK2 ) {
498- delayline_init ( & tc -> primary .mk2 .delayline );
499- delayline_init ( & tc -> secondary .mk2 .delayline );
500- delayline_init ( & tc -> upper_bitstream .readings );
501- delayline_init ( & tc -> lower_bitstream .readings );
501+ rb_destroy ( tc -> primary .mk2 .delayline );
502+ rb_destroy ( tc -> secondary .mk2 .delayline );
503+ rb_destroy ( tc -> upper_bitstream .readings );
504+ rb_destroy ( tc -> lower_bitstream .readings );
502505 }
503506}
504507
@@ -783,7 +786,7 @@ static void process_sample(struct timecoder *tc,
783786 if (tc -> def -> flags & TRAKTOR_MK2 ) {
784787 if (tc -> secondary .swapped )
785788 {
786- int reading = * delayline_at ( & tc -> secondary .mk2 .delayline , 3 );
789+ int reading = * ( int * ) rb_at ( tc -> secondary .mk2 .delayline , 3 );
787790 mk2_process_timecode (tc , reading );
788791 }
789792 } else {
0 commit comments