52 minutes ago, kliepatsch said:
CPU, wise it depends really on what you are doing. If you are using the tracker with the UI, playback will use significantly more CPU power than if you are "just" playing back without any visual feedback. And how much CPU is taken up by playback itself also depends on how much of the sound engine's capabilities you are using. That includes, how many voices are playing and especially if the sounds are using a lot of modulation and effects.
Yep this is correct. Actually the UI update on playback is very lightweight - it just scrolls the lower layer and does some small character updates (like the row #). The stalls come from updating the pattern layer in VERA all at once. I know how I'm going to fix that, but for now I'll likely make a simpler UI when playing the full song until I implement a better solution there. Otherwise the main lift on the tracker side is stepping through a pattern via a timed interrupt (currently a multiple of vsync - that's the song speed) and evaluating the row. I haven't measured it but I think that part is pretty lightweight.
55 minutes ago, kliepatsch said:
Edit: I should mention that at the moment, as far as I know, the tracker exists only in conjunction with the UI. But maybe later a player-only version could be made that could be used inside other applications.
This is also correct, however I *do* plan on a decoupled "tracker engine" that can playback songs, ideally in a sparse/streaming format. Currently the songs are comparatively HUGE in RAM because all uncompressed patterns are being read to high RAM and with 25 channels, it's a lot! But in reality the amount of data for most songs will be much much smaller. I have a sparse file format idea in the docs in the project. It's based on a combination of Ron Hubbard's solution and GoatTracker. It's probably not the most compact though - a VGM file might be even better, though the sparse format would be convenient as it would be compatible with both the tracker itself and an embedded playback engine (for games and such). I won't be tackling this for a while though. It will be after the tracker itself is mature enough to make some sensible music with it
?