aboutsummaryrefslogtreecommitdiffstats
path: root/cli-project/src/solo_tool_cli.py
blob: 34d88dd8a4bedf5665f9c235620a4a6b41add6d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import sys
import time

from solo_tool import SoloTool
from solo_tool.midi_controller_launchpad_mini import MidiController
from solo_tool.session_manager import getSessionManager

def main():
    args = sys.argv[1:]
    if len(args) < 2:
        print("Usage: solo_tool_cli <path_to_sessions> <session_id>")
        sys.exit(1)

    sessionManager = getSessionManager(args[0])
    soloTool = sessionManager.loadSession(args[1])

    midiController = MidiController(soloTool)
    try:
        midiController.connect()
    except:
        print("Failed to connect to MIDI controller")
        sys.exit(1)

    try:
        while True:
            raw = input("> ")
            if raw == "q":
                break
    except KeyboardInterrupt:
        pass
    finally:
        midiController.disconnect()
        
if __name__ == '__main__':
    main()