Bedtime. /Tape Timeline

Tape Timeline

Control tape timeline visibility and display

void tape_timeline_show(bool state)

Show or hide the tape timeline widget

boolstatetrue to show, false to hide
void tape_timeline_show_time_display(bool state)

Show or hide the time display on the timeline

boolstatetrue to show, false to hide
void tape_timeline_setup(uint8_t tracks, int_fast16_t x, int_fast16_t y, uint_fast16_t w, uint_fast16_t h)

Configure timeline geometry and track count

uint8_ttracksNumber of tracks to display (1-4)
int_fast16_txX position on screen
int_fast16_tyY position on screen
uint_fast16_twWidth in pixels
uint_fast16_thHeight in pixels
void tape_timeline_zoom_out(void)

Zoom out to show entire tape

void tape_timeline_zoom_in(void)

Zoom in to follow playhead

void tape_timeline_zoom_out_to_loop(void)

Zoom to fit loop region in view

void tape_timeline_set_loop(bool state)

Enable or disable loop mode visualization

boolstatetrue to enable loop shading, false to disable
void tape_timeline_switch_track(uint8_t tr)

Switch to a different track

uint8_ttrTrack index (0-3)
void tape_timeline_attach_default(uint8_t tracks)

Bind the global tape playhead/loop/waveform to the timeline tracks

uint8_ttracksNumber of tracks to bind (match tape_timeline_setup)
void tape_timeline_attach_params(uint8_t track, params_t* pos, params_t* start, params_t* end)

Bind YOUR params to a timeline track, instead of the tapehead singleton

uint8_ttrackTrack index (0-3), within the count given to tape_timeline_setup()
params_t*posPlayhead position, in tape positions (frames / 64)
params_t*startLoop/selection start
params_t*endLoop/selection end
tape_timeline_setup(1, 8, 206, SCREEN_WIDTH - 16, 28);
tape_timeline_attach_params(0, &m->tl_pos, &m->tl_start, &m->tl_end);
tape_timeline_switch_track(0);
tape_timeline_show(true);