osune / midijoystick Goto Github PK
View Code? Open in Web Editor NEWMidiJoystick is a MIDI client for the Jack Audio Connection Kit on Linux, which lets you use your joystick to emit MIDI commands
License: MIT License
MidiJoystick is a MIDI client for the Jack Audio Connection Kit on Linux, which lets you use your joystick to emit MIDI commands
License: MIT License
When using Note-On/Off messages with an axis you cannot play in a specific key. By implementing a scale system one could configure a scale which is used to translate input values to notes in the specified scale.
The current deadzone code just ignores event values inside the deadzone. This results in a jump of the value when leaving the deadzone. Smooth transitions are not possible.
(this comes from reddit user 'nosepol' in this thread
"For years I've been using SuperCollider's GeneralHID class to generate midi out of various stuff, and I'd love to have something less overkill. Oh and while you're at it add possibility for OSC output :P "
MidiJoystick currently uses the old joystick api, which restricts its uses to only joystick like input devices. By moving to the 'new' evdev api MidiJoystick could support Joysticks and any HID inpu device.
$ make all
gsc-script -debug -warnings -verbose -cc-options "-std=c11 -Wall -g -O0" -ld-options -ljack -exe -o midijoystick midijack.c joystick.c midijoystick.scm
*** WARNING -- Unknown or improperly placed option: "debug"
*** WARNING -- Unknown or improperly placed option: "warnings"
*** WARNING -- Unknown or improperly placed option: "verbose"
*** WARNING -- Unknown or improperly placed option: "cc-options"
*** WARNING -- Unknown or improperly placed option: "std=c11 -Wall -g -O0"
*** WARNING -- Unknown or improperly placed option: "ld-options"
*** WARNING -- Unknown or improperly placed option: "ljack"
*** WARNING -- Unknown or improperly placed option: "exe"
*** WARNING -- Unknown or improperly placed option: "o"
*** ERROR IN "midijoystick.scm"@1.1 -- Interpreter does not support ##c-declare
Ubuntu 16.04
Gambit v4.2.8
Suggestions?
Compilation finished.
gcc -O1 -g -O2 -ffile-prefix-map=/build/gambc-YYEQDb/gambc-4.9.3=. -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -fomit-frame-pointer -fPIC -fno-common -mpc64 -D___SINGLE_HOST -I"/usr/include" -c -o "midijoystick.o" -std=c11 -Wall -g -O0 midijoystick.c
In file included from midijoystick.c:452:
/usr/include/gambit.h:8493:5: error: unknown type name ‘sigset_t’
8493 | ___sigset_type sigset[3]; /* increase if other interrupts are added */
| ^~~~~~~~~~~~~~
*** ERROR IN ##main -- target compilation or link failed while compiling "/home/guru/src/MidiJoystick/midijoystick.c"
make: *** [Makefile:5: midijoystick] Error 70
Ubuntu 22.04
reproducible.
Am I missing some #defines?
Hi,
I'm interesting by your projet. I'm newbie on GitHub, I cannot find how contact you but by this issue :-(
I really want to use button to activate some effects in guitarix. I never learn Scheme, so I try some test and I can detect Release button but cannot catch them in your function. In fact, button send 64 (0x40) to MIDI, no 127 (0x7F) like you said in your README.
I deleted all, and starting with a C program (Haaaaaa, so easy).
Some hours after testing, I have a little program. This program is useful for buttons and axes. He is very ugly, specially about configuration.
If you are interresting by, I can send you my C program and .scm modify to print release event.
Bye
Enhance the configuration syntax with 'keywords' which are scheme functions.
Here two objectives are important:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.