diff options
author | grm <grm@eyesin.space> | 2025-03-02 13:53:54 +0200 |
---|---|---|
committer | grm <grm@eyesin.space> | 2025-03-02 13:53:54 +0200 |
commit | 9847614871e861c216425b95a8300dba37b0f6e6 (patch) | |
tree | f319cc5ebd58d2247d546a3c2149ce85559be6d8 /src/midi.c | |
parent | d5e9beaf5cc38c0e57bbc555a6e3054f3bf000d8 (diff) | |
download | synth-project-9847614871e861c216425b95a8300dba37b0f6e6.tar.gz synth-project-9847614871e861c216425b95a8300dba37b0f6e6.tar.bz2 synth-project-9847614871e861c216425b95a8300dba37b0f6e6.zip |
Also improve midi and add tt for templating
Diffstat (limited to 'src/midi.c')
-rw-r--r-- | src/midi.c | 20 |
1 files changed, 5 insertions, 15 deletions
@@ -161,22 +161,14 @@ init_midi(midi_t *m, synth_t *synth) printf("midi devs: %d\n", Pm_CountDevices()); const PmDeviceInfo *info; - int i, c=0; + int i=0; for (i = 0; i < Pm_CountDevices(); i++) { info = Pm_GetDeviceInfo(i); if (!info->input) { continue; } printf("%d: %s [input: %d output: %d opened: %d is_virt:%d] (interf: %s) -- %d\n", i, info->name, info->input, info->output, info->opened, info->is_virtual, info->interf, Pm_GetDefaultInputDeviceID()); - if (synth->midi_device_id == c) { - break; - } - c++; - //if (!strcmp("MPK225 MIDI", info->name) && !info->input) break; - //if (!strcmp("MPK225 Port A", info->name) && info->input == 1) break; - //if (!strcmp("CH345 MIDI 1", info->name) && info->input == 1) break; - //if (!strcmp("Midi Through Port-0", info->name) && info->input == 1) break; - //if (!strcmp("DigitalKBD MIDI 1", info->name) && info->input == 1) break; + if (!strcmp(synth->midi_device.name, info->name) && !info->input) break; } Pt_Start(1, midiCallback, m); @@ -190,6 +182,7 @@ init_midi(midi_t *m, synth_t *synth) enable = 1; } +// unused int get_midi_device_id(const char * name) { @@ -211,23 +204,20 @@ get_midi_device_id(const char * name) char * get_midi_devices() { - //Pm_Initialize(); int i; char *ret = (char *)malloc(sizeof(char) * 4096); - strcpy(ret, ""); + strcpy(ret, "Select Midi Device;"); const PmDeviceInfo *info; for (i = 0; i < Pm_CountDevices(); i++) { info = Pm_GetDeviceInfo(i); if (!info->input) { continue; } - printf("!!!!!!!!!!!!!!!!!!!!!!!!! ==> %s ========\n", info->name); strcat(ret, info->name); strcat(ret, ";"); } ret[strlen(ret) - 1] = '\0'; - //Pm_Terminate(); - + return ret; } |