falconchristmas / fpp-midi Goto Github PK
View Code? Open in Web Editor NEWFPP MIDI Plugin
License: GNU General Public License v2.0
FPP MIDI Plugin
License: GNU General Public License v2.0
FPPv8 master on Raspberry Pi v3+
When I plug in the midi device, it is not reflected in the FPP Plugin UI. (see Picture)
If I ssh into the Pi and run aseqdump -l I get the following, so the operating system sees it.
fpp@FPPv3p-1:~ $ aseqdump -l
Port Client name Port name
0:0 System Timer
0:1 System Announce
14:0 Midi Through Midi Through Port-0
24:0 LPD8 LPD8 MIDI 1
If I run aseqdump -p LPD8 from the ssh session, the device is sending commands.
fpp@FPPv3p-1:~ $ aseqdump -p LPD8
Waiting for data. Press Ctrl+C to end.
Source Event Ch Data
24:0 Note on 0, note 40, velocity 14
24:0 Note off 0, note 40, velocity 127
24:0 Note on 0, note 40, velocity 10
24:0 Note off 0, note 40, velocity 127
24:0 Note on 0, note 36, velocity 11
24:0 Note off 0, note 36, velocity 127
24:0 Note on 0, note 36, velocity 26
24:0 Note off 0, note 36, velocity 127
24:0 Note on 0, note 36, velocity 4
24:0 Note off 0, note 36, velocity 127
Let me know if you need anything else
I turned up logging levels and no errors found
When I install the plugin I get the following message and FPP stops working.
"Abnormal Conditions - May Cause Poor Performance"
"FPPD Daemon is not running"
Restarting and Rebooting do not fix the issue.
Removing the plugin restores it to normal operation
I removed all other plugins, just in case, same issue.
Here is my Version Info
FPP Version: 5.3.1
Platform: Raspberry Pi (Pi 3 Model B+)
FPP OS Build: v5.0
OS Version: Raspbian GNU/Linux 10 (buster)
Kernel Version: 5.10.52-v7+
Local Git Version: 8aaa6e2
Am I doing something wrong? Do I need to configure or set up something before installing the plugin?
I looked for more documentation on the plugin but didn't find anything
It did detect the USB Midi controller keyboard I plugged in and listed it on the plug in configuration page.
But it didn't see any events when I pressed any keys, but I suspect this is because FFPD wasn't running?
(clicking the enable box didn't seem to have any effect)
The install_librtmidi.sh
script is broken (I think during recent FFP8 development, if I understand how the "blame" thing on GitHut works ๐
)
Symptoms
Here's the install log:
Get:1 http://mirrors.ircam.fr/pub/raspbian/raspbian bullseye/main armhf librtmidi-dev armhf 4.0.0-1 [39.3 kB]
Fetched 39.3 kB in 1s (59.5 kB/s)
dpkg-deb: building package 'librtmidi-dev' in './librtmidi-dev.deb'.
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
librtmidi-dev : Depends: librtmidi6 but it is not installable
E: Unable to correct problems, you have held broken packages.
librtmidi-dev was already set on hold.
ccache g++ -fpch-preprocess -O3 -Wno-psabi -pipe -I /opt/fpp/src -fpic -DPLATFORM_PI -I. -std=gnu++2a -c src/FPPMIDI.cpp -o src/FPPMIDI.o
src/FPPMIDI.cpp:22:10: fatal error: rtmidi/RtMidi.h: No such file or directory
22 | #include <rtmidi/RtMidi.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:25: src/FPPMIDI.o] Error 1
{"Status":"Error","Message":"Could not properly install plugin"}
Proposed Fix
I think the problem lies in line 24
:
elif (( DEBVER < 11 )); then
which instead should be :
elif (( DEBVER < 12 )); then
While we're here
I also noticed that sed on line 20
isn't doing what it's supposed to do
sed -i -e "s/Version\(.*\)+\(.*\)/Version\1~fpp/g" deb/DEBIAN/control
should probably be just
sed -i -e "s/Version\(.*\)/Version\1~fpp/g" deb/DEBIAN/control
Cheers !
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.