Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simple timeline editor and system #51

Open
einarf opened this issue Aug 10, 2018 · 1 comment
Open

Simple timeline editor and system #51

einarf opened this issue Aug 10, 2018 · 1 comment
Milestone

Comments

@einarf
Copy link
Member

einarf commented Aug 10, 2018

Editor

We have rocket support, but rocket is not necessarily made for creating a timeline. While it is possible to add rocket tracks for this, it might make more sense to separate the two systems.

  • Rocket or other sync trackers are responsible for interpolating values for effects
  • The timeline system is responsible for knowing what effect should be rendering at what point in time

This also means we can jump around in the timeline directly in demosys. A fairly useful feature. That alone should at least be a minimal requirement.

The idea was to render a simple overlay when pressing TAB showing a column for each runnable effect instance. There will be vertical rows showing row numbers in the currently configured RPS. The user can toggle effects being enabled or disabled by pressing a key and we visualize the intervals with boxes.

This system should of course be entirely optional and based on the currently configured TIMELINE in settings. We can also support having the timeline in rocket tracks by creating a track for each runnable effect instance and determine their state by looking at positive and negative values.

Timline system

  • The Timeline class should have an internal system for keeping track of start/stop events that can also be overriden. This way people don't have to reinvent the wheel. A use case might be just having some hardcoded events toggling a small set of effects and make them cycle by doing an fmod on time.
  • The timeline should be based on a deque of events and be able to do playback and seeking backward and forward.
  • The timeline data should be able to be serialized and deserialized from different formats. I suggest supporting json and a simple binary format.

The user should be able to make their own timeline system as well, so we need to make sure the base class is generic.

@einarf einarf changed the title Simple timeline editor Simple timeline editor and system Aug 10, 2018
@einarf
Copy link
Member Author

einarf commented Aug 10, 2018

This also assumes we fix the accuracy of seeking in music position.. 😱 It will work if the rocket editor is open and playing the music at least.

.. but we'll attack that problem later.

@einarf einarf added this to the 2.1.0 milestone Aug 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant