{"id":13418370,"url":"https://github.com/rocket/rocket","last_synced_at":"2025-04-05T11:12:31.992Z","repository":{"id":771297,"uuid":"456405","full_name":"rocket/rocket","owner":"rocket","description":"Rocket","archived":false,"fork":false,"pushed_at":"2023-10-30T19:16:03.000Z","size":8230,"stargazers_count":375,"open_issues_count":10,"forks_count":39,"subscribers_count":28,"default_branch":"main","last_synced_at":"2025-03-29T10:09:10.354Z","etag":null,"topics":["c","c-plus-plus","demoscene","rocket"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":"Unmaintained","scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rocket.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2010-01-02T22:39:59.000Z","updated_at":"2025-03-08T18:25:56.000Z","dependencies_parsed_at":"2023-07-05T15:17:20.121Z","dependency_job_id":"2ecd676f-932e-40f8-84e8-be59dd174402","html_url":"https://github.com/rocket/rocket","commit_stats":{"total_commits":733,"total_committers":18,"mean_commits":40.72222222222222,"dds":0.07230559345156895,"last_synced_commit":"0c351e18a007ed43e2baa7df479105df6e1f20d8"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocket%2Frocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocket%2Frocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocket%2Frocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocket%2Frocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rocket","download_url":"https://codeload.github.com/rocket/rocket/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325694,"owners_count":20920714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","c-plus-plus","demoscene","rocket"],"created_at":"2024-07-30T22:01:01.518Z","updated_at":"2025-04-05T11:12:31.962Z","avatar_url":"https://github.com/rocket.png","language":"C++","funding_links":[],"categories":["C++","TODO scan for Android support in followings","Demomaking"],"sub_categories":["Tools"],"readme":"# Rocket\n\n[![Build status](https://ci.appveyor.com/api/projects/status/dfq8qaedc6mtsefg/branch/main?svg=true)](https://ci.appveyor.com/project/kusma/rocket/branch/main)\n[![Build status](https://github.com/rocket/rocket/actions/workflows/ci.yml/badge.svg)](https://github.com/rocket/rocket/actions/workflows/ci.yml)\n[![Gitter](https://badges.gitter.im/rocket/rocket.svg)](https://gitter.im/rocket/rocket?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n[![license: Zlib](https://img.shields.io/github/license/rocket/rocket.svg)](LICENSE.txt)\n\nRocket is an intuitive new way of... bah, whatever. It's a sync-tracker, a\ntool for synchronizing music and visuals in demoscene productions. It\nconsists of a GUI editor (using [Qt5](https://www.qt.io/)), and an ANSI C\nlibrary that can either communicate with the editor over a network socket,\nor play back an exported data-set.\n\n## Compile Editor\n\nThe Rocket editor uses qmake as a build-system abstraction, which can be\nused to output Makefiles, Microsoft Visual Studio project files or can be\nbuilt directly from QtCreator. See the [qmake\ndocumentation](http://doc.qt.io/qt-5/qmake-manual.html) for details.\n\n## Compile Example\n\nRocket contains an example client called `example_bass`. This is a simple\nOpenGL, SDL 1.2 and BASS audio library application, that demonstrates how to\nuse the Rocket API.\n\nBefore compiling the example, you need to make sure you have recent\n[SDL](http://www.libsdl.org/) and [BASS](http://www.un4seen.com/) libraries\nand includes.\n\nIf you're using Microsoft Visual Studio 2013 or above, this should happen\nautomatically, as these libraries are consumed through NuGet.\n\nThe header files and libraries can be installed local to the project by\ncopying all .lib-files to `examples/lib/`, all .h files to\n`examples/include/`, and all .dll files to `examples/`.\n\nOnce the prerequisites are installed, the example can be compiled either by\nopening examples.sln and selecting `Build` -\u003e `Build Solution` from Visual\nStudio 2008 or 2013, or by doing `make examples/example_bass` on Unix-based\nsystems.\n\n## JavaScript\n\nThanks to the excellent work of [mog](http://github.com/mog), there's now\nJavaScript support. Have a look at [js/README.md](js/README.md) for more\ninformation.\n\n## GameCube, Wii\n\nRocket should work out-of-the-box using\n[devkitPPC](https://devkitpro.org/wiki/Getting_Started). However, before\ncalling `sync_create_device`, you should init the FAT filesystem and the\nnetwork interface, eg. by calling respectively `fatInitDefault` and `if_config`.\nMake sure DNS is also set up correctly when testing on real hardware.\n\n## Using the editor\n\nThe Rocket editor is laid out like a music-tracker; tracks (or columns) and\nrows. Each track represents a separate \"variable\" in the demo, over the entire\ntime-domain of the demo. Each row represents a specific point in time, and\nconsists of a set of key frames. The key frames are interpolated over time\naccording to their interpolation modes.\n\n### Interpolation modes\n\nEach key frame has an interpolation mode associated with it, and that\ninterpolation mode is valid until the next key frame is reached. The different\ninterpolation modes are the following:\n\n* Step   : This is the simplest mode, and always returns the key's value.\n* Linear : This does a linear interpolation between the current and the next\n           key's values.\n* Smooth : This interpolates in a smooth fashion, the exact function is what\n           is usually called \"smoothstep\". Do not confuse this mode with\n           splines; this only interpolates smoothly between two different\n           values, it does not try to calculate tangents or any such things.\n* Ramp   : This is similar to \"Linear\", but additionally applies an\n           exponentiation of the interpolation factor.\n\n### Keyboard shortcuts\n\nSome of the Rocket editor's features are available through the menu and some\nkeyboard shortcut. Here's a list of the supported keyboard shortcuts:\n\n| Shortcut                 | Action                       |\n|:-------------------------|:-----------------------------|\n| Up/Down/Left/Right       | Move cursor                  |\n| PgUp/PgDn                | Move cursor 16 rows up/down  |\n| Home/End                 | Move cursor to begining/end  |\n| Ctrl+Left/Right          | Move track                   |\n| Enter                    | Enter key frame value        |\n| Del                      | Delete key frame             |\n| i                        | Enumerate interpolation mode |\n| k                        | Toggle row-bookmark          |\n| Alt+PgUp/PgDn            | Go to prev/next row-bookmark |\n| Space                    | Pause/Resume demo            |\n| Shift+Up/Down/Left/Right | Select                       |\n| Ctrl+C                   | Copy                         |\n| Ctrl+V                   | Paste                        |\n| Ctrl+Z                   | Undo                         |\n| Shift+Ctrl+Z             | Redo                         |\n| Ctrl+B                   | Bias key frames              |\n| Shift+Ctrl+Up/Down       | Quick-bias by +/- 0.1        |\n| Ctrl+Up/Down             | Quick-bias by +/- 1          |\n| Ctrl+PgUp/PgDn           | Quick-bias by +/- 10         |\n| Shift+Ctrl+PgUp/PgDn     | Quick-bias by +/- 100        |\n\n## Alternatives and ports\n\n* [PBRocket](https://github.com/dartcode/pbrocket), a PureBasic port of the\n  Rocket editor, client and player.\n* [RocketEditor](https://github.com/emoon/rocket), an\n  alternative editor written in pure C using OpenGL for the GUI.\n* [GroundControl](https://github.com/edoreshef/ground-control), an alternative\n  editor written in C# using WPF for the GUI.\n* [RocketNet](https://github.com/kebby/RocketNet), a pure .NET implementation\n  of the client and player.\n* [Moonlander](https://github.com/anttihirvonen/moonlander), a Java\n  implementation of the client and player, for integration with\n  [Processing](https://processing.org/).\n* [pyrocket](https://github.com/Contraz/pyrocket), a Python 3\n  implementation of the client and player.\n* [Rust Rocket](https://github.com/demoscene-rs/rust-rocket), a Rust\n  implementation of the client and player. Crate available\n  [here](https://crates.io/crates/rust-rocket).\n\n## Bugs and feedback\n\nPlease report bugs or other feedback to the Rocket mailing list:\n\u003crocket-dev@googlegroups.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocket%2Frocket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocket%2Frocket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocket%2Frocket/lists"}