• Stars
    star
    109
  • Rank 319,077 (Top 7 %)
  • Language
    Lua
  • License
    zlib License
  • Created over 12 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

GNU Rocket Git mirror

GNU Rocket OpenGL editor

Beta Disclaimer

First a screenshot of how it looks: screenshot

Regular disclaimer: Backup your stuff before using the software :)

If you encounter any issues please try to report them at https://github.com/emoon/rocket/issues as this would make my life much easier and I will try to fix them given time. Hopefully the editor should be useful even if still not 100% finalized bug wise. Also the documentation hasn't been completed yet.

Here are the links to the current version of the editor:

About

RocketEditor is coded by Daniel 'emoon' Collin with documentation and testing by Heine 'bstrr' Gundersen. Daniel Collin can be contacted at daniel aat collin dot com

Latest version of this program should be available at https://github.com/emoon/rocket

The SDL-based linux support is written by Konsta 'sooda' HΓΆlttΓ€ at https://github.com/sooda/rocket, and later updated to use SDL2 by Lauri 'gustafla' Gustafsson at https://github.com/gustafla/rocket

Motivation

About a year ago me and Heine 'bstrr' Gundersen (at Revision 2012) started to talk about that having an editor for GNU Rocket that worked on macOS would be great as we both used Mac as our primary development platform. This was the start of this another version of the editor. I (Daniel 'emoon' Collin) also wanted some features that weren't in the old editor (such as folding of tracks, having it cross platform, etc) Some small work was started on the editor during spring and summer but not much happened. It was really during last autumn 2012 I started to work on it for real to get in the features I want to have.

Features:

  • Includes (or should at least :) all features from the old editor (except track re-arrangement)
  • More optimized for laptop keyboards (no usage of page up/down and similar keys)
  • Group support. It's now possible to group channels together that makes sense (maybe a group for each part) The syntax for this is to name the tracks "mygroup:mytrack"
  • Folding support for both groups and tracks. Something I found annoying in the old editor was that you had to scroll around quite a bit to get to channel you wanted. Now with folding you use the screen space better.
  • Faster navigation: Can jump between key values, jump in step of 8 and also with bookmarks.
  • Other features such as using more of the keyboard for biasing of values (see key layout below)
  • Trackpad support (OS X only, mouse wheel elsewhere) to scroll around (can only be used with biasing)
  • Cross platform. Read more about the code in the next section.
  • Navigation while play-backing. It's now possible to jump forward/backward when playing the demo (demo "scratching")
  • Fast way to insert a interpolated value by just pressing return on an empty row.

Building the code

All macOS, Windows and Linux versions use the Tundra build system (https://github.com/deplinenoise/tundra) so in order to build the code you need a tundra executable for your OS. For macOS and Windows the binaries are included within the repo, but for Linux see the build instructions bellow.

macOS

To build on mac enter the rocket/ogl_rocket directory and run "bin/mac/tundra2 macosx-clang-debug" (or -release for release build) and in tundra-output you will find the app to run. To use Xcode to build (or code in) use the XCode3-GenerateProj.sh file (works with Xcode 4.x also) and open the generated project in xcode (it's inside the tundra-output directory)

Windows

To build the code run in debug run: scripts\win32_build_debug.cmd and run the executable in t2-output\win32-msvc-debug-default\editor.exe (Visual Studio 2019 required) If you want a VS solution instead you can run scripts\win32_gen_vs_solution.cmd and scripts\win32_launch_vs.cmd

git clone --depth=1 --recursive https://github.com/emoon/rocket
cd rocket
scripts\win32_build_debug.cmd
t2-output\win32-msvc-debug-default\editor.exe

Linux

The following was tested on Ubuntu 16.10 (yakkety).

Install SDL-dev:

sudo apt-get install libsdl1.2-dev

Install tundra:

git clone --depth=1 --recursive https://github.com/deplinenoise/tundra
cd tundra
make
sudo checkinstall make install

Build rocket:

git clone --depth=1 --recursive https://github.com/emoon/rocket
cd rocket
tundra2 linux-gcc-release

(optional) Install libbass.so from the repo folder:

sudo cp external/bass/linux/libbass.so /usr/local/lib/
sudo chmod a+rx /usr/local/lib/libbass.so
sudo ldconfig

Start rocket:

LD_LIBRARY_PATH=external/bass/linux/ ./t2-output/linux-gcc-release-default/editor 

Start the basic example:

./t2-output/linux-gcc-release-default/basic_example

Tips & tricks

  • Fold away tracks or groups you are not currently working with using Alt+Left/Right and Ctrl+Alt+Left/Right

  • Use Return to insert current interpolated value - also sets the interpolation type to what the previous key uses.

  • A good way of bundling parameters for effects is by naming your tracks 'groupname:trackname', as this will group them together, thus making better tracknames than "logo-x-pos", "logo-y-pos", "title-x-pos", "title-y-pos". Groups can also be folded, so they don't take up screen estate when you are working on a different part of the demo.

  • Insert bookmarks using the B key to easily jump between parts in the demo.

  • To rename a track (or add it to a group), close the editor and open the .rocket xml file, which should be nicely formatted. Locate the track and rename it - then rename it in your demo.

  • Bias using Alt+trackpad/scrollwheel. Add the Shift-key to bias even faster.

  • Use selection to bias multiple keys - even across multiple tracks!

Keys

macOS:

Editing:

Key Action
0-9 Edit value
Esc Cancel edit
QWERTY Bias selection +0.01, +0.1, +1, +10, +100, +1000
ASDFGH Bias selection -0.01, -0.1, -1, -10, -100, -1000
Alt+Trackpad scroll Bias selection +1/-1
Shift+Alt+Trackpad Bias selection +10/-10
I Toggle interpolation (step/linear/smooth/ramp)
Return Insert current interpolated value
Shift+Arrows Select
Cmd+T Select all keys in track
Cmd+X Cut
Cmd+C Copy
Cmd+V Paste
Cmd+Z Undo
Cmd+Shift+Z Redo
Delete Delete key

View:

Key Action
Space Start/Stop
Arrows Move cursor around
Alt+Up/Down Jump 8 rows
Alt+Cmd+Up/Down Jump to StartRow/NextBookmark - PrevBookmark/EndRow
Cmd+Left/Right Jump to first/last track
Ctrl+Up/Down Jump to Previous/Next key in current track
Alt+Left/Right Fold/Unfold track
Ctrl+Alt+Left/Right Fold/Unfold group
Trackpad scroll Scroll
B Toggle Bookmark
Cmd+B Clear all Bookmarks
Tab Jump between Row, Start Row, End Row, Track editing

Files:

Key Action
Cmd+O Open file
Cmd+S Quicksave
Cmd+Shift+S Save as
Cmd+1/2/3/4 Quickload recent files
Cmd+E Remote export

Windows and Linux:

Editing:

Key Action
0-9 Edit value
Esc Cancel edit
QWERTY Bias selection +0.01, +0.1, +1, +10, +100, +1000
ASDFGH Bias selection -0.01, -0.1, -1, -10, -100, -1000
I Toggle interpolation (step/linear/smooth/ramp)
Return Insert current interpolated value
Shift+Arrows Select
Ctrl+T Select all keys in track
Ctrl+X Cut
Ctrl+C Copy
Ctrl+V Paste
Ctrl+Z Undo
Ctrl+Shift+Z Redo
Delete Delete key
Ctrl-I Invert selection
M Mute Track

View:

Key Action
Space Start/Stop
Arrows Move cursor around
Alt+Up/Down Jump 8 rows
Ctrl+Alt+Up/Down Jump to StartRow/NextBookmark - PrevBookmark/EndRow
Ctrl+Left/Right Jump to first/last track
Ctrl+Up/Down Jump to Previous/Next key in current track
Alt+Left/Right Fold/Unfold track
Ctrl+Alt+Left/Right Fold/Unfold group
Trackpad scroll Scroll
B Toggle Bookmark
Ctrl+B Clear all Bookmarks
Tab Jump between Row, Start Row, End Row, Track editing

Files:

Key Action
Ctrl+O Open file
Ctrl+S Quicksave
Ctrl+Shift+S Save as
Ctrl+1/2/3/4 Quickload recent files
Ctrl+E Remote export

More Repositories

1

minifb

MiniFB is a small cross platform library to create a frame buffer that you can draw pixels in
C
969
star
2

rust_minifb

Cross platfrom window and framebuffer crate for Rust
Rust
887
star
3

ProDBG

Debugging the way it's meant to be done
C++
513
star
4

dynamic_reload

Dynamic reloading of shared libraries
Rust
351
star
5

bgfx-rs

Rust wrapper for BGFX
Rust
84
star
6

Score

Score! is a new programming language based on the ideas from GOAL
Common Lisp
46
star
7

Rute

Rute is a UI library implemented on top of Qt
Rust
39
star
8

evfs

Virtual File System written in Rust
Rust
37
star
9

remotery-rs

Realtime CPU Profiler with web browser viewer
Rust
31
star
10

AmigaHunkParser

Parser written in C for Amiga Hunk (executable) files
C
13
star
11

cfixed-string

Pass Rust strings to C with potentially not needing heap allocation
Rust
13
star
12

ps2dev_tools

Binaries of the ps2dev toolchain (for win32 and osx)
C
12
star
13

remotelink

Remote running executables on a Linux style system
Rust
9
star
14

wrui

C wrapper for UI libraries (like Qt, wxWidgets, dear imgui) with a common C API
Lua
8
star
15

sico

SICO - SImple COmpute
Lua
8
star
16

Arika

Arika is a cross-platform UI library written in C and Lua
C
7
star
17

usb2snes

Rust crate for talking with SD2SNES over USB
Rust
6
star
18

csimd

Cross platform SIMD intrinsics in C
5
star
19

bgfx-sys

Rust FFI bindings for bgfx
C
5
star
20

m68k_cpu_tester_api

Uses data from the (Win)UAE cpu test generator
C
4
star
21

flowi

Flowi is a research UI aimed at speed, good looks and ease of use
C
4
star
22

amiga_hunk_parser

Parses Amiga exceutable (hunk files) in Rust
Rust
4
star
23

text_render

Fiddling around with Text Rendering to make something that looks less crap
Rust
4
star
24

modland_hash

Rust
3
star
25

68k_disassemble_gen

68k disassembler for C made in Rust
Rust
3
star
26

dotvim

vimconfig files and plugins
Vim Script
2
star
27

prodbg_addons

Addons/Plugins to ProDBG
C++
2
star
28

ssagen

Playing around with SSA form
C
2
star
29

wrui_rust

Rust wrapper for WRUI
Rust
2
star
30

prodbg-web

Webpages for ProDBG
JavaScript
2
star
31

68k_documentation_gen

Generate documentation including cycle tables for Motorola 680x0
C
2
star
32

docking_system

Docking system based on the i3wm code
Lua
1
star
33

apigen

Basic API/data description lang + parser that can be used for generating API/data interfaces, etc
Rust
1
star
34

extract-opencl-docs-dash

Script that is used for generating OpenCL docs for Dash
Python
1
star
35

bgfx-rs-bindgen

Rust binding generator for bgfx
Rust
1
star
36

IMCocoa

Experimental project to try to do Immediate mode GUI in Cocoa (Mac OS X)
Objective-C
1
star
37

flowi_rust

Lets do Flowi in Rust instead
1
star
38

prodbg-third-party

Third Party libs used by ProDBG
C++
1
star
39

dms-rs

DMS (Amiga Disk Masher System) unpacker written in Rust
Rust
1
star
40

anidb-rs

Rust crate that makes using the AniDB API easier
Rust
1
star
41

fx68x_verilator

verilator testing of fx68k
C++
1
star
42

scintilla

Scintilla is a free source code editing component.
C++
1
star