sidfactory2 icon indicating copy to clipboard operation
sidfactory2 copied to clipboard

Support for ASID playback over MIDI, interfacing SIDs on hardware (#178)

Open micheldebree opened this issue 1 year ago • 1 comments

  • 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 the user.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

micheldebree avatar Dec 13 '23 14:12 micheldebree

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?

micheldebree avatar Jan 19 '24 20:01 micheldebree