emoon / rocket

GNU Rocket Git mirror
rocket.sf.net
zlib License
107 stars 21 forks source link

Shortcut to "purge" inactive tracks #116

Open yupferris opened 7 years ago

yupferris commented 7 years ago

My demotool creates/deletes a lot of sync tracks while it's running, and it'd be nice to be able to get rid of all of the intermediate ones once in awhile without restarting the sync tool :)

emoon commented 7 years ago

My question then is what is an "inactive" track? A demo can query any given track at any point in time so the tool has no concept of inactive tracks really. A demo can have tons of tracks but you only pay the cost (at run-time) to for those you query at a given point in the demo.

Usually when you sync a demo is that you work on a certain limited amount of tracks and the others will just be around (they can contain data so you don't want to throw them away) so the best way then is usually to group tracks per par or similar and just collapse the group so it will consume small amount of of screen space.

In the end all tracks will have data on them (otherwise they are pointless) when you load up the XML and they will all be there (but can be hidden under a group)

yupferris commented 7 years ago

By "inactive" track I really just mean tracks that are in the sync data that the demo hasn't asked for since it's been connected this time. In the standard editor and the GL editor, these are simply "greyed out", but their data is kept around in the hopes the demo will ask for them with the relevant part comes along.

So I definitely understand the usual case, which is you only really create tracks your demo will only ask for tracks it actually needs when it needs them. However, I've found it's quite typical to ask for a track and find that modifying that parameter didn't really work out or had a poor name, or similar. Also, if you run through the whole demo in the tracker, it's common the demo will have asked for all tracks it cares about, but there are still a few left over from development that don't need to be there anymore.

In my current editor (which is an extreme case of this), you ask for sync tracks on the fly, change their names, etc while the demo is running. This creates a lot of temporary tracks that will never be asked for again. Also noteworthy is the tool will always ask for all the tracks it knows about for the entire demo every frame, so at any given moment, if there are unused track in the tracker, they will never be used for the current demo. For the tracks to become inactive, however, you do need to restart the tool or reconnect to the tracker anyways, so perhaps it's not that valuable of an example.

Ofc it is possible to work around this a bit when using the tool. It's also entirely possible to remove these old tracks by hand in the xml or something, and it also makes sense not to ever do anything like that automatically. I also think my use case is a bit fringe, but it might be a helpful feature nonetheless. Certainly not necessary, but I thought I'd ask :)

emoon commented 7 years ago

So what you really ask for is a way to delete a track from the editor? :)

yupferris commented 7 years ago

That could work too, yeah. I mean, I know it's not a vital part of the standard way someone might use the tool, but it could be useful :)