From a8be0d3d20f07d4561826b01f566ca307eb23526 Mon Sep 17 00:00:00 2001 From: erdgeist Date: Fri, 12 Aug 2016 14:46:51 +0200 Subject: commit as a backup --- midi.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 midi.c (limited to 'midi.c') diff --git a/midi.c b/midi.c new file mode 100644 index 0000000..7509859 --- /dev/null +++ b/midi.c @@ -0,0 +1,39 @@ +#include +#include +#include + +#include "midi.h" +#include "main.h" + +int midi_init() { + return 0; +} + +void midi_playnote( int channel, int note, int octave_offset ) { + char out[32]; + int b = sprintf(out,"M%02X0020\nM%02X%02X%02X\n", 0xe0 | channel, 0x90 | channel, note + 12 * octave_offset, 0x7f); + if (g_harfe_connected && (g_harfe_fd != -1)) + write(g_harfe_fd, out, b); +} + +void midi_silencenote( int channel, int note, int octave_offset ) { + char out[10]; + int b = sprintf(out,"M%02X%02X%02X\n", 0x80 | channel, note + 12 * octave_offset, 0); + if (g_harfe_connected && (g_harfe_fd != -1)) + write(g_harfe_fd, out, b); +} + +void midi_pitchbend( int channel, int pitch ) { + char out[10]; + pitch += 8192; + if (pitch < 0) + pitch = 0; + if (pitch > 16383) + pitch = 16383; + int b = sprintf(out,"M%02X%02X%02X\n", 0xe0 | channel, 0x7f & pitch, 0x7f & (pitch>>7)); + if (g_harfe_connected && (g_harfe_fd != -1)) + write(g_harfe_fd, out, b); +} + +//void midi_controller_event( int saite, int value ); + -- cgit v1.2.3