Tape Timeline
Control tape timeline visibility and display
void tape_timeline_show(bool state)
Show or hide the tape timeline widget
| bool | state | true to show, false to hide |
void tape_timeline_show_time_display(bool state)
Show or hide the time display on the timeline
| bool | state | true 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_t | tracks | Number of tracks to display (1-4) |
| int_fast16_t | x | X position on screen |
| int_fast16_t | y | Y position on screen |
| uint_fast16_t | w | Width in pixels |
| uint_fast16_t | h | Height 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
| bool | state | true to enable loop shading, false to disable |
void tape_timeline_switch_track(uint8_t tr)
Switch to a different track
| uint8_t | tr | Track index (0-3) |
void tape_timeline_attach_default(uint8_t tracks)
Bind the global tape playhead/loop/waveform to the timeline tracks
| uint8_t | tracks | Number 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_t | track | Track index (0-3), within the count given to tape_timeline_setup() |
| params_t* | pos | Playhead position, in tape positions (frames / 64) |
| params_t* | start | Loop/selection start |
| params_t* | end | Loop/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);