sidfactory2
sidfactory2 copied to clipboard
Support for ASID playback over MIDI, interfacing SIDs on hardware (#178)
- When new configuration item is set to a MIDI interface name, ASID will be sent out in parallel with the reSID audio
- Tested with MacOS and Windows
- Non-tested support for Linux included
- Based on compiled-in RtMidi
- Fixes #28
TODO:
- [x] Toggle ReSID/ASID from the UI
- [x] Mute/init ASID when switching off/on
- [x] Visual feedback
- [ ] Stop sending messages to ASID when SF2 is not playing
- [ ] Use a default MIDI device if configured device is not found
Documentation
- MIDI interface must be selected with
Playback.ASID.MidiInterface
config option in theuser.ini
- Switch between RESID and ASID with
Alt-O
(visible in top bar. If it doesn't change, there is no MIDI device found)
Example for macOS
In ~/.config/sidfactory2/user.ini
:
Playback.ASID.MidiInterface = "MIDISPORT 2x2 Port A"
A way to find out the available values, is to run SF2 from the terminal and check the logging:
/Applications/SIDFactoryII.app/Contents/MacOS/SIDFactoryII
2024-07-02 11:03:49.665 SIDFactoryII[56993:1090015] INFO: [FOUND] MIDI output port 0: MPK Mini Mk II
2024-07-02 11:03:49.665 SIDFactoryII[56993:1090015] INFO: [FOUND] MIDI output port 1: MiniFuse 4
2024-07-02 11:03:49.665 SIDFactoryII[56993:1090015] INFO: [FOUND] MIDI output port 2: MIDISPORT 2x2 Port A
2024-07-02 11:03:49.665 SIDFactoryII[56993:1090015] INFO: [FOUND] MIDI output port 3: MIDISPORT 2x2 Port B
About the toggle:
- We can have a toggle in the statusbar to select ReSID and/or ASID, similar to the other toggles in the status bar
- values: ReSID/ASID/ReSID+ASID
- What do we call it? Device? Engine?
- Combination settings will explode if we ever introduce another engine
- We can have a toggle per 'engine'
- ReSID On/Off and ASID On/Off
- Both off is a nonsense setting
- For ASID, SID model is n.a., do we disable that toggle when ASID is selected?