• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Pokecrystal] Crystal Tracker - A Gen 2 Song Editor

Danny-E 33

The Loneliest Cubone
259
Posts
12
Years
    • Seen May 3, 2024
    Crystal Tracker

    A song and sound editor for pokecrystal, pokegold, pokeyellow-crysaudio, pokered-crysaudio, and pokepinball.

    Crystal Tracker provides the ability to directly create and modify pokecrystal-based asm song files, with in-app immediate playback by dynamically loading and synthesizing custom channel 3 waveforms and channel 4 drumkits.

    The editor exports fully complete asm song files, so that you can "Save" your changes and then immediately `make` your project and instantly have a new ROM file with your modifications included — no additional conversion tools or steps required.

    screenshot.png


    Getting Started

    Windows

    Download the latest Windows executable from the Releases section.
    To build from source, see INSTALL.md.



    Linux

    See INSTALL.md to build from source or run the Windows executable via Wine.



    Mac

    Download the latest dmg from the Releases section or run the Windows executable via Wine.
    To build from source, follow the Linux instructions in INSTALL.md plus a dash of common sense (ie, perhaps use clang++ in place of g++-8 if building libopenmpt from source).



    The example/ directory contains crystaltracked.asm, an original composition by Mickey-A 42.

    Be sure to see the Help menu for a full explanation on how to use the editor.

    Upgrading a legacy project

    If your project uses the "legacy" macros (pre-2020), you will need to upgrade your project.

    Download tools/upgrade.py and put it at the root of your project.
    Run the upgrade script on your music folder, like:
    Code:
    python3 upgrade.py -v audio/music/
    It can also be used to upgrade individual files, like:
    Code:
    python3 upgrade.py -v audio/drumkits.asm
    The script also works with python2. Run `./upgrade.py -h` for all options.

    Be sure to make adequate backups of your song files (via git or otherwise) before upgrading, just in case.

    Then you must copy all modern audio macros from the latest macros/scripts/audio.asm and macros/legacy.asm into your project.

    Special Thanks

    This project takes a lot of inspiration (and a lot of backbone code structure) from Polished Map. A huge thank you to Rangi42!

    Additional thanks to mid-kid for the Mac port.
     
    Last edited:

    Danny-E 33

    The Loneliest Cubone
    259
    Posts
    12
    Years
    • Seen May 3, 2024
    Crystal Tracker v0.4.0 (2023-12-14)

    • Add rectangle select.
    • Improve tempo to bpm approximation for playback.
    • Improve playback of noise samples that never fade out. (See: Pinball's seelstage.asm)
    • More intuitive keyboard controls for the Note Properties panel.
      • Escape now aborts note property changes.
      • Enter now also deselects the textbox.
    • Fix playback of drum samples for songs that also use inline waves.
    • Warn for songs that use too many inline waves.
    • Using too many drums is now a warning and not an error.
    • Allow setting drumkit from Note Properties panel.
     

    Danny-E 33

    The Loneliest Cubone
    259
    Posts
    12
    Years
    • Seen May 3, 2024
    Crystal Tracker v0.6.0 (2024-02-11)

    By far the most feature-rich version of the editor yet. Full support for making and unmaking loops and calls. More efficient editing, better warnings and errors, more customizability.

    Full changelog for this release:

    • Add right-click context menu with loop and call functions.
      • Loops: Reduce, Extend, Unroll, Create
      • Calls: Delete, Unpack, Create, Insert
    • Add note label toggle.
    • Add key label toggle, note label toggle, and ruler toggle to toolbar.
    • Shorten and Lengthen now drag the cursor if the cursor is aligned to the right edge of a selected note.
    • Clicking into the measure ruler now sets the playhead.
    • Placing new notes now copies the speed of the previous note when possible.
    • Note properties panel now supports alt shortcut keyboard navigation.
    • Add Select Invert function.
    • Unreferenced labels are now visualized in the timeline with a gray line.
    • Add gray flag for misc/other settings changes.
    • Add warning when labels are used by multiple channels.
    • Add error when loading a song that contains unsupported rgbds keywords (eg, rept).
    • Add warning when note properties differ on the second iteration of the main loop.
    • Add menu option checkbox to disable main loop verification.
    • Increase max undo limit from 100 to 256.
     
    Back
    Top