Repository navigation
Releases: gianlucarenzi/RITMO-Music-Tracker
Release list
RITMO 2.6 – the XEX with the RMT player, RITMO PLAYER and the fixes of RMT 1.36
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 theritmo.iniandtuning.iniof 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
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
Manual PDF built again: no overfull boxes, the comments after Qt 6 only
v2.6-rc7
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
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
Manual PDF built again: the name of the AppImage, AppImageUpdate
v2.6-rc4
Manual PDF built again: Help, Online Help and the About window
v2.6-rc3
Docs: RITMO plays on the default device of ALSA when it goes to the s…
v2.6-rc2
Merge branch 'pulseaudio-output': the AppImage plays through the soun…
v2.6-rc1
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.