Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support more than one MIDI In/Out #297

Open
wants to merge 28 commits into
base: develop
Choose a base branch
from

Commits on Sep 27, 2023

  1. Support having more than one Midi In/Out port open

    Background only: the UI hasn't been altered yet
    s0600204 committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    a0c87a2 View commit details
    Browse the repository at this point in the history
  2. Change to dict instead of list

    To permit eventual retention of patching within cues (instead of using {n}th device, which may change between file loads)
    s0600204 committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    3633bc9 View commit details
    Browse the repository at this point in the history
  3. Begin the UI with which multiple MIDI devices may be patched

    Whilst it gets populated, and the UI reacts to user input, changes made are not saved.
    s0600204 committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    ed79241 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c6587eb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1304504 View commit details
    Browse the repository at this point in the history
  6. Add a "received" signal to the MIDI plugin

    Which emits whenever any input patch receives a new message. This allows
    listeners to receive from all patched inputs easily, rather than having to
    connect to them all individually. (And have to track when new patches are
    added and handle when patches they're listening are removed.)
    s0600204 committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    8b6e7ca View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    946679b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d185c5a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    86e90c9 View commit details
    Browse the repository at this point in the history
  10. Ensure that the currently selected device is an option

    Sven if it doesn't match an available device
    s0600204 committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    d90edb3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    ee91a2c View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    de2d0f5 View commit details
    Browse the repository at this point in the history
  13. Remove old device setting UI

    s0600204 committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    0adb644 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    84b36fa View commit details
    Browse the repository at this point in the history
  15. Support removing MIDI patches again

    This is a bit of an odd solution, as whilst LiSP's configuration code detects
    whether a config (sub)key has been added or had its associated value changed,
    it doesn't pick up on key deletions.
    
    Thus, we null the stored device name, and just treat any device patches with a
    null'd name as if it doesn't exist.
    
    Another odd quirk with LiSP's Signal class in that it doesn't like to be
    connected to a slot belonging to a Qt5 widget, due to not being able to see
    the slot's method signature. Hopefully the use of PyQt5's pyqtSignal class
    instead doesn't cause any problems.
    s0600204 committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    c63d601 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    bee55e9 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    b31abb6 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    4a1476a View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    d045a11 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    8bae30d View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    0630413 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2023

  1. Alias "Default" device name

    s0600204 committed Nov 26, 2023
    Configuration menu
    Copy the full SHA
    ccc6f27 View commit details
    Browse the repository at this point in the history
  2. Correct reverse-compatibility fallback

    In the case that no patches are defined in `inputDevices` and `inputDevice`
    doesn't exist in the config, don't create a default input patch.
    
    Ditto for outputs.
    s0600204 committed Nov 26, 2023
    Configuration menu
    Copy the full SHA
    b50c775 View commit details
    Browse the repository at this point in the history
  3. Support changing to a (currently) non-available MIDI in/out

    1) So we don't throw an error about connecting to a non-existent port
    
    whilst,
    
    2) If it becomes available later, it should connect automagically (assuming rtmidi and ALSA backends)
    s0600204 committed Nov 26, 2023
    Configuration menu
    Copy the full SHA
    4f295dd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    73874b3 View commit details
    Browse the repository at this point in the history
  5. Use the Patch Name (shortened) in the Controller UI

    Really need a wider Preferences UI!
    s0600204 committed Nov 26, 2023
    Configuration menu
    Copy the full SHA
    3221c34 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4c90177 View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2024

  1. Configuration menu
    Copy the full SHA
    bcfd7af View commit details
    Browse the repository at this point in the history