Skip to content

yonglehou/rocket-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GNU Rocket

GNU Rocket is an intuitive new way of... bah, whatever. It's a sync-tracker, a tool for synchronizing music and visuals in demoscene productions. It consists of a GUI editor (using Qt), and an ANSI C library that can either communicate with the editor over a network socket, or play back an exported data-set.

Compile Editor

The GNU Rocket editor uses qmake as a build-system abstraction, which can be used to output Makefiles, Visual Studio project files or can be built directly from QtCreator. See the qmake documentation for details.

Compile Example

GNU Rocket contains an example client called example_bass. This is a simple OpenGL, SDL 1.2 and BASS audio library application, that demonstrates how to use the GNU Rocket API.

Before compiling the example, you need to make sure you have recent SDL and BASS libraries and includes.

The header files and libraries can be installed local to the project by copying all .lib-files to the example_bass/lib/, all .h files to example_bass/include/, and all .dll files to the example_bass/.

Once the prerequisites are installed, the example can be compiled either by opening examples.sln and selecting "Build" -> "Build Solution" from Visual Studio 2008, or by doing "make example_bass/example_bass" on Unix-base systems.

Using the editor

The GNU Rocket editor is laid out like a music-tracker; tracks (or columns) and rows. Each track represents a separate "variable" in the demo, over the entire time-domain of the demo. Each row represents a specific point in time, and consists of a set of key frames. The key frames are interpolated over time according to their interpolation modes.

Interpolation modes

Each key frame has an interpolation mode associated with it, and that interpolation mode is valid until the next key frame is reached. The different interpolation modes are the following:

  • Step : This is the simplest mode, and always returns the key's value.
  • Linear : This does a linear interpolation between the current and the next key's values.
  • Smooth : This interpolates in a smooth fashion, the exact function is what is usually called "smoothstep". Do not confuse this mode with splines; this only interpolates smoothly between two different values, it does not try to calculate tangents or any such things.
  • Ramp : This is similar to "Linear", but additionally applies an exponentiation of the interpolation factor.

Keyboard shortcuts

Some of the GNU Rocket editor's features are available through the menu and some keyboard shortcut. Here's a list of the supported keyboard shortcuts:

Shortcut Action
Up/Down/Left/Right Move cursor
PgUp/PgDn Move cursor 16 rows up/down
Home/End Move cursor to begining/end
Ctrl+Left/Right Move track
Enter Enter key frame value
Del Delete key frame
i Enumerate interpolation mode
k Toggle bookmark
Alt+PgUp/PgDn Go to prev/next bookmark
Space Pause/Resume demo
Shift+Up/Down/Left/Right Select
Ctrl+C Copy
Ctrl+V Paste
Ctrl+Z Undo
Shift+Ctrl+Z Redo
Ctrl+B Bias key frames
Shift+Ctrl+Up/Down Quick-bias by +/- 0.1
Ctrl+Up/Down Quick-bias by +/- 1
Ctrl+PgUp/PgDn Quick-bias by +/- 10
Shift+Ctrl+PgUp/PgDn Quick-bias by +/- 100

Bugs and feedback

Please report bugs or other feedback to the GNU Rocket mailing list: gnu-rocket@googlegroups.com

Packages

No packages published

Languages

  • C++ 76.4%
  • C 14.5%
  • C# 6.9%
  • Makefile 1.5%
  • Other 0.7%