Skip to content

Releases: gianlucarenzi/RITMO-Music-Tracker

RITMO 2.6 – the XEX with the RMT player, RITMO PLAYER and the fixes of RMT 1.36

Choose a tag to compare

@gianlucarenzi gianlucarenzi released this 15 Oct 10:16

RITMO 2.6 exports an Atari executable that holds the RMT player and the module itself, with RITMO PLAYER on the Atari screen, and brings over the fixes of RMT 1.36 by Peter Dell (JAC!): the frequency tables of every driver, the MIDI input, the WAV export with the older drivers, the tuning after a change of driver. The settings that belong to the module (video standard, tracker driver, tuning) have a dialog of their own, and there are AppImages for more Linux architectures.

Downloads

System Package How to start it
Linux x86_64 (Debian 11, Ubuntu 20.04 and newer) Ritmo-2.6-x86_64.AppImage chmod +x Ritmo-2.6-x86_64.AppImage, then run it (needs libfuse2; without it add --appimage-extract-and-run). AppImageUpdate updates it (.zsync)
Linux aarch64: Raspberry Pi 3/4/5 with a 64 bit system (Raspberry Pi OS 13, Debian 13, Ubuntu 24.04 and newer) Ritmo-2.6-aarch64.AppImage as the x86_64 one
Linux riscv64, ppc64 (big endian), ppc64le Ritmo-2.6-riscv64.AppImage, Ritmo-2.6-ppc64.AppImage, Ritmo-2.6-ppc64le.AppImage as the x86_64 one
Linux riscv64, ppc64, ppc64le with apt (Debian 13, Debian ports) ritmo_2.6_riscv64.deb, ritmo_2.6_ppc64.deb, ritmo_2.6_ppc64el.deb sudo apt install ./ritmo_2.6_riscv64.deb (apt installs Qt 6 and the other libraries), then ritmo
Linux riscv64, ppc64, ppc64le, any distribution Ritmo-Linux-riscv64-2.6.tar.gz, Ritmo-Linux-ppc64-2.6.tar.gz, Ritmo-Linux-ppc64el-2.6.tar.gz unpack it, install the few packages its README.txt lists, run ./ritmo (Qt, PortAudio and RtMidi are inside)
Windows 64 bit Ritmo-Windows-x64-Setup-2.6.exe the installer: Start menu entry, optional desktop icon and .rmt file type. It is not signed, so Windows may ask to confirm
Windows 64 bit Ritmo-Windows-x64-2.6.zip the same files without the installer: unzip it anywhere and run Ritmo.exe
macOS 12 or later, Apple Silicon Ritmo-macOS-arm64-2.6.dmg drag Ritmo.app to Applications; it is not notarized, so the first time open it with right click → Open
macOS 12 or later, Intel Ritmo-macOS-x86_64-2.6.dmg as above; also runs on Apple Silicon through Rosetta 2
All Ritmo-User-Manual-2.6.pdf the user manual

The names of the packages carry the version now, so that several versions can be kept side by side. The riscv64, ppc64 and ppc64le packages have been built and started (without a display) in an emulator, not on real machines: if you try them, please tell how it went.

What changed

  • XEX with the RMT player. File > Export As > "XEX Atari executable + RMT player" (script format xex-rmt) writes an XEX with the player of the tracker driver (RMT 1.28 Unpatched or Patch16) and the module of the song, not the stream of the POKEY registers: the file is smaller, and a long or stereo song at a high instrument speed fits. On the Atari, RITMO PLAYER shows the name, the author and the date, one volume bar per channel (8 on two POKEYs for a stereo song), the POKEY registers, the song line, the row, the speed and the play time, and keeps up with the frame at instrument speed 4.
  • The fixes of RMT 1.36, thanks to JAC! Peter Dell's RMT 1.36 found and fixed several bugs that RITMO shared, and they are all here:
    • the ASM export with the notes as frequencies wrote a wrong value for every note, and with the drivers other than Patch16 it had no tables at all;
    • the MIDI input of channel 16 played the wrong pitch, and with the older drivers it overwrote the driver itself;
    • with a driver other than Patch16 the WAV export was silent and damaged the driver;
    • after a change of driver the driver's own tables replaced those of the tuning until a song was opened;
    • a missing driver file was not reported: RITMO went on with another driver, or in silence;
    • the Patch16 player of asm/ had an empty Distortion 4 page, so a song assembled with it outside the tracker lost those notes;
    • on Windows the errors of a script run were lost in its log file, and a script run could write the settings of the user.
  • Module Properties. File > Properties... (Alt+Enter) shows what the module holds and sets what belongs to it: the NTSC system speed, the RMT driver version and the tuning (the Tuning... button, enabled for Patch16, the only driver the tuning reaches). These settings left Tools > Options. A song that uses the Autofilter, opened with the RMT 1.28 Unpatched driver at the question RITMO asks, plays with it for itself only.
  • SAP type B loops for ever, as it was meant to: from the third pass the song played a volume step lower.
  • Sound on Linux. RITMO is a client of the sound server (PulseAudio, or PipeWire): it follows the output chosen in the desktop, Bluetooth headphones included, and asks for a latency that does not underflow on PipeWire.
  • Help (F1) opens the user manual of RITMO, Online Help (Shift+F1) the reference of RMT: both pointed to a page that is gone.
  • Scripting. RMT_CONFIG_DIR=<folder> runs RITMO with the ritmo.ini and tuning.ini of that folder instead of the user's settings, on every system.
  • Qt 6 only: Qt 5 is no longer supported.

As always, please tell me how it works for you by opening an issue. The whole list of changes is in the change history.

Credits

A special thanks to Peter Dell (JAC!) once more: RITMO stands on his work on RMT, and the fixes of RMT 1.36 went straight into this release.

Radek Štěrba (Raster/C.P.U., R.I.P.), Robert Petruzela (Bob!k/C.P.U.) and JirkaS/C.P.U., Vin Samuel (VinsCool), Peter Dell (JAC!) and everyone listed in the README; the Qt port and the RITMO fork by Gianluca Renzi.

RITMO 2.6 Release Candidate 9

Pre-release

Choose a tag to compare

@gianlucarenzi gianlucarenzi released this 14 Oct 16:38

RC9: Complete XEX export with RMT player and RITMO PLAYER visualizer

This release includes:

  • ✅ XEX Atari executable + RMT player export format
  • ✅ RITMO PLAYER visualizer with full information display
  • ✅ Support for stereo music (8 channels on 2 POKEYs)
  • ✅ Comprehensive documentation with screenshots
  • ✅ Frame-by-frame validation with atari800 emulator

New Features:

  • Export to XEX with embedded RMT player (File > Export As)
  • NAME, AUTHOR, DATE parameters for XEX export
  • 8-bar volume display for stereo playback
  • POKEY registers visualization (AUDF, AUDC, AUDCTL)
  • Interactive playback controls (SPACE, R, ESC)

This is a pre-release. Use for testing purposes.

v2.6-rc8

v2.6-rc8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Oct 07:06
Manual PDF built again: no overfull boxes, the comments after Qt 6 only

v2.6-rc7

v2.6-rc7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 23:39
README and manual: ppc64le has packages from 2.6

Both still said that there were no packages for ppc64le, against the tables
of the packages. The section of the README on riscv64 and ppc64 covers
ppc64le too (its title, the links to it, the examples with the names of 2.6
and of ppc64el), and the AppImage of these architectures carries its
libraries as the .tar.gz. The PDF of the manual built again.

v2.6-rc6

v2.6-rc6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 23:16
Docs: AppImages for riscv64, ppc64 and ppc64le, the packages of ppc64le

The manual (chapter 2: the table of the packages, the AppImage of these
architectures, ppc64le with the .deb and the archive) and rmt_changes.md;
the PDF of the manual built again.

v2.6-rc5

v2.6-rc5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 19:54
Manual PDF built again: the name of the AppImage, AppImageUpdate

v2.6-rc4

v2.6-rc4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 15:10
Manual PDF built again: Help, Online Help and the About window

v2.6-rc3

v2.6-rc3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 13:39
Docs: RITMO plays on the default device of ALSA when it goes to the s…

v2.6-rc2

v2.6-rc2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 07:42
Merge branch 'pulseaudio-output': the AppImage plays through the soun…

v2.6-rc1

v2.6-rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Oct 07:26
Audio: ask the device for a latency of at least 3 callbacks

Pa_OpenDefaultStream asked the low latency of the device, and through
ALSA on PipeWire that is a single quantum (21.3 ms): the output
underflowed at the least delay of the sound server, with any size of the
callbacks, while the ring of PokeyRenderer.cpp was still full (logs of
issue #2). The stream is now opened with Pa_OpenStream and a suggested
latency of 3 callbacks (60 ms with the 20 ms buffer of Linux), never less
than the low latency of the device. RMT_AUDIO_LATENCY_MS sets another
latency for one session, up to 200 ms.