diff options
author | vulonkaaz <7442677+vulonkaaz@users.noreply.github.com> | 2024-08-23 03:16:48 +0200 |
---|---|---|
committer | vulonkaaz <7442677+vulonkaaz@users.noreply.github.com> | 2024-08-23 03:16:48 +0200 |
commit | 7ca11677b3826e4f169dafb86b07439537060ffb (patch) | |
tree | f3f0380090aecc413a91538f26e14f043891b59c /main.c |
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -0,0 +1,32 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <alsa/asoundlib.h> + +int main() { + snd_rawmidi_t* midiout = NULL; + snd_rawmidi_open(NULL, &midiout, "virtual", 0); + + char line[100]; + int nbr = 0; + FILE *fp; + fp = popen("adb logcat", "r"); + while (1) { + fgets(line, sizeof(line), fp); + if (memcmp(line, "D/HexKey::p",11) == 0) { + snd_rawmidi_write(midiout, (char[]){0x90, atoi(line+23), 100}, 3); + printf("play :"); + printf(line+23); + } + if (memcmp(line, "D/HexKey::s",11) == 0) { + snd_rawmidi_write(midiout, (char[]){0x90, atoi(line+23), 0}, 3); + printf("stop :"); + printf(line+23); + } + } + + snd_rawmidi_close(midiout); + midiout = NULL; + return 0; +} + |