Skip to content

anttihirvonen/rocket

 
 

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. These can be downloaded from the
following web-sites:

http://www.libsdl.org/
http://www.un4seen.com/

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/inclide/, and all .dll files to the example_bass/.

Once the prerequisites are installed, the example can be compiled much like
the editor; by opening examples.sln and selecting "Build" -> "Build Solution"
from the menu.

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:

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:
rocket-users@lists.sourceforge.net

Patches or technical questions can be sent to the developer-list:
rocket-developers@lists.sourceforge.net

Packages

No packages published

Languages

  • C++ 75.6%
  • C 16.4%
  • C# 7.2%
  • Other 0.8%