152 lines
7.9 KiB
Plaintext
152 lines
7.9 KiB
Plaintext
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 Mac OS X 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 on Windows) 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.
|
||
|
||
Source Code
|
||
-----------
|
||
|
||
Now uses a UI system called 'Emugi' which is an intermediate mode UI that was developed at the same time as the editor.
|
||
Emui uses OpenGL as the rendering API for the UI making it possible to port to many platforms but using a diffrent backend is also very possible.
|
||
The code is written in C and has currently been compiled with clang on Mac and Visual Studio 2012 (Express) on Windows.
|
||
I have tried to keep the code as platform independent as possible and platform files are (mostly) in the src/macosx and src/windows directories.
|
||
Some parts of the code could need some cleanup but should hopefully be quite easy to follow and understand.
|
||
|
||
Building the code
|
||
-----------------
|
||
|
||
Both Mac and Windows version uses the Tundra build system (https://github.com/deplinenoise/tundra) so in order to build the code you need a tundra executable for your OS
|
||
I have made two of the available here for your convenience if you don't want to build the code yourself.
|
||
|
||
...path to mac version...
|
||
...path to windows version..
|
||
|
||
Mac
|
||
---
|
||
|
||
To build on mac enter the rocket/ogl_rocket directory and run "tundra 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
|
||
-------
|
||
|
||
Easiest is to run VS2010-GenerateSln.cmd and open the generated solution (it's in the tundra-output directory) in Visual Studio.
|
||
Note that you will need to setup your paths/variables so cl is included and can be started from command line. VS2012 Express seems to do this automatically but it may different depending on your compiler.
|
||
In that case run the "vsvars32.bat" included with Visual Studio from a command prompt and start Visual Studio from there.
|
||
|
||
If you want to build from command line that works just as fine as well (just set vsvars32 (as seen above) and run "tundra win32-msvc-debug" for the debug build.
|
||
|
||
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
|
||
----
|
||
|
||
OSX:
|
||
|
||
Editing:
|
||
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:
|
||
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
|
||
Tab - Jump between Row, Start Row, End Row, Track editing
|
||
|
||
Files:
|
||
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:
|
||
|
||
Editing:
|
||
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
|
||
|
||
View:
|
||
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
|
||
Tab - Jump between Row, Start Row, End Row, Track editing
|
||
|
||
Files:
|
||
Ctrl+O - Open file
|
||
Ctrl+S - Quicksave
|
||
Ctrl+Shift+S - Save as
|
||
Ctrl+1/2/3/4 - Quickload recent files
|
||
Ctrl+E - Remote export
|
||
|