baines / MiniGBS

Small .gbs chiptune player for Linux
MIT License
19 stars 4 forks source link

Interface Suggestions #1

Open miblodelcarpio opened 7 years ago

miblodelcarpio commented 7 years ago
baines commented 7 years ago

For point 1: The order the notes display is currently to line up with the associated registers, but a mode that changes them based on pitch could be interesting. I imagine the only way of doing this in a stable manner would be to silently simulate the track and analyse the values being written to each channel's frequency register for a short time before playing the track proper.

Point 2: A vertical display could be fun, I imagine it could track the notes over time as a sort of "line" graph (within ncurses limitations).

Point 3: Currently each frequency is simply mapped to a single note string, using only sharps. This is similar to what I've seen in programs like milkytracker, but I imagine if some simulation was done beforehand like in Point 1, then the track's key could maybe be determined, and the note strings chosen accordingly. I'm not particularly knowledgeable of the music theory side of things, so don't exactly know what I would be looking for here :P

Point 4: It would be nice, but the files don't provide any metadata about repeat points, and since the songs are arbitrary programs with their own sound drivers, I don't think there would be a reliable way of determining when one is repeating. However, the end of a song can be found by seeing if no registers change or the volume is 0 for N seconds, at which point it could repeat or move on to the next song. I had implemented the first of these two checks, but I think I broke it recently.

baines commented 7 years ago

I've added a vertical UI mode, toggle-able with the v key. It's a bit hacky at the moment, but still quite fun.