Feature Request: Add all OSC features @ Tape Operation
dogefreak opened this issue · 1 comments
I'm missing quite a few features from the tape operation menu, and I would like them all to be added. Would that be possible or is there a reason why a few were left out? It would be nice to skip ahead to the next track. It would also be nice to fetch the name of the current track that's playing.
Maybe it would also be handy to add the /‐stat/tape/ variables.
OSC Tape Operation (highlighted is missing):
0: Stop
1: Play
2: Record
3: Pause
4: Play/Stop
5: Play/Pause
6: Rec/Stop
7: Rec/Pause
8: Prev. Track
9: Next Track
hi @dogefreak
Reading through this ticket and I'm not fully understanding. If I look at the code the following are in the code base
0: Stop
1: Pause
2: Play
3: Pause Record
4: Record
5: FF
6: REW
as per the mapping of /‐stat/tape/state
in OSC doc
I'm not too sure where you got the above list which seems to be an extended version of the one in the OSC doc but also the mappings don't match?
You also say that 4: Play/Stop, 5: Play/Pause, 6: Rec/Stop, 8: Prev. Track and 9: Next Track are missing but these aren't in OSC command.
Also I don't think 3: Pause Record
does what you think it does.1: Pause
pauses playback and 3: Pause Record
pauses recording. It doesn't toggle it
I could probably create "Play/Stop", "Play/Pause" and "Rec/Stop" and "Rec/Pause Rec" but behaviors aren't necessary clear:
When you press "Play/Stop", what happens when the state is 1: Pause
, 3: Pause Record
, or 4: Record
?
When you press "Play/Pause", what happens when the state is 0: Stop
,3: Pause Record
, or 4: Record
?
When you press "Rec/Stop", what happens when the state is 1: Pause
, 2: Play
, or 3: Pause Record
?
When you press "Rec/Pause", what happens when the state is 0: Stop
, 1: Pause
, or 2: Play
?
In terms of
8: Prev. Track and 9: Next Track
not really sure how to implement this, I see there is /‐stat/tape/file
which is the file path perhaps that could be set?
I also see we can read contents of usb with /-usb
commands. But not really sure how we will know if the file is playable (maybe it only lists playable files and directories?) and how we would handle directories (maybe we can ignore directories and only say next and prev on the actual audio?) this would need some serious experimenting and testing though
finally what variables do you want? The name of the state, file name and remaining time? We already have elapsed time ($(x32:tape_time_hms)
and $(x32:tape_time_ms)
)