cbdevnet / midimonster

Multi-protocol control & translation software (ArtNet, MIDI, OSC, sACN, ...)
https://midimonster.net/
BSD 2-Clause "Simplified" License
506 stars 50 forks source link

Banana PI m2+ (ARM PORT) #25

Closed Spacelord09 closed 5 years ago

Spacelord09 commented 5 years ago

@cbdevnet can you make a port of midimonster for ARM?

cbdevnet commented 5 years ago

Is there a problem building on ARM? I tested on a Raspberry Pi some time ago and it worked, I might have broken something when working on the Windows build. It should work, as there are currently no architecture-specific instructions being used.

I think it should just work, can you post a failure output?

Spacelord09 commented 5 years ago

Yea I can post it tomorrow ""switch to german😉""

Spacelord09 commented 5 years ago

root@MIDIMONSTER:/midimonster# ./midimonster ./configs/test.cfg Registered backend osc Registered backend lua Registered backend artnet Registered backend evdev Registered backend loopback ALSA lib seq_hw.c:466:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory Failed to open ALSA sequencer Plugin ./backends/midi.so failed to initialize Failed to initialize a backend OSC backend shut down Lua backend shut down ArtNet backend shut down root@MIDIMONSTER:/midimonster#

cbdevnet commented 5 years ago

Sieht aus als waere ALSA nicht richtig konfiguriert, hast du die Pakete

installiert? Kannst du ueber den Kopfhoereranschluss Musik hoeren?

Spacelord09 commented 5 years ago

@cbdevnet "alsa-tools" fehlte aber trotzdessen selber fehler..

cbdevnet commented 5 years ago

Ich hab die checks im MIDI-Backend mal nach hinten verschoben, es sollte jetzt starten (wenn keine MIDI-Instanzen verwendet werden). Problem liegt aber irgendwo in der ALSA-Config.

Falls MIDI hier wichtig ist, kannst du mal den Output von aconnect -io reinpasten?

Spacelord09 commented 5 years ago

root@MIDIMONSTER:~# aconnect -io ALSA lib seq_hw.c:466:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory can't open sequencer root@MIDIMONSTER:~#

Spacelord09 commented 5 years ago

Das Lua Backend macht auch Probleme..

root@MIDIMONSTER:/midimonster# ./midimonster ./configs/test.cfg Registered backend osc Registered backend lua Registered backend artnet Registered backend evdev Registered backend loopback Registered backend midi Registered backend sacn Registered backend maweb Created maweb instance ma Created lua instance generator Internal error resolving glob wave{1..6} Internal error resolving glob page1.fader{1..6} Failed to map channel generator.wave{1..6} to ma.page1.fader{1..6} Failed to read configuration file ./configs/test.cfg OSC backend shut down Lua backend shut down ArtNet backend shut down evdev backend shut down Loopback backend shut down MIDI backend shut down sACN backend shut down maweb backend shut down MIDIMonster v0.1 Usage: ./midimonster <configfile> root@MIDIMONSTER:/midimonster#

cbdevnet commented 5 years ago

Ich vermute dass der MIDI-Kerneltreiber fehlt, probier mal modinfo snd-seq-midi. Da sollte dann sowas kommen wie

filename:       /lib/modules/4.19.0-5-amd64/kernel/sound/core/seq/snd-seq-midi.ko
license:        GPL
description:    Advanced Linux Sound Architecture sequencer MIDI synth.
author:         Frank van de Pol <fvdpol@coil.demon.nl>, Jaroslav Kysela <perex@perex.cz>
depends:        snd-seq-midi-event,snd-seq,snd-rawmidi,snd-seq-device

Wenn das Modul fehlt, musst mal gucken ob du einen anderen Kernel findest (oder einen eigenen bauen kannst), dann wurde beim laufenden Kernel wohl das MIDI-Modul deaktiviert

Das zweite ist interessant, das ist eigentlich eine Fehlermeldung aus dem Config-Parser, kannst du mir dafuer mal die Config geben?

Spacelord09 commented 5 years ago

Ich denke da hast du recht:

root@MIDIMONSTER:~# modinfo snd-seq-midimodinfo snd-seq-midi modinfo: ERROR: Module snd-seq-midimodinfo not found. modinfo: ERROR: Module snd-seq-midi not found. root@MIDIMONSTER:~#

Spacelord09 commented 5 years ago

Config kommt noch.

jelimoore commented 5 years ago

FYI, I've noticed this too, but running as root seems to fix it. I think it's some midi permissions thing. Although I'm on the version before this so it may be different... but try running as root

Spacelord09 commented 5 years ago

@jelimoore Are you running a Banana PI? What OS/Image you're using?

jelimoore commented 5 years ago

Raspberry pi, raspbian

cbdevnet commented 5 years ago

The latest commits move some checks in the MIDI backend to a later point, so it does not fail to start when MIDI is not being used (it will still fail if you want to use MIDI and ALSA has problems for some reason). In @Spacelord09's case, it was a missing kernel MIDI driver.

@jelimoore If running as root fixes it, maybe another solution would be to add your user to the audio group, to allow access to the sequencer.

Try running adduser <youruser> audio as root and then rebooting :)

Spacelord09 commented 5 years ago

Hier ist deine config:

; Create a 'flying faders' effect using lua and output it onto maweb faders 1..6

[maweb ma] ; That's the IP of your console or OnPC. host = 10.23.42.21 80 ; If a Dot2 is used, the username is automatically set to "remote". user = midimonster password = midimonster

[lua generator] script = configs/flying-faders.lua

[map] ; Fader 1 to 6 (Core Wing) generator.wave{1..6} > ma.page1.fader{1..6} ; Fader 7 to 14 (F-wing1 on Dot2) ;generator.wave{7..14} > ma.page1.fader{7..14]}

Spacelord09 commented 5 years ago

Mit der config geht es:

[maweb ma] host = 10.23.42.21 80 user = midimonster password = midimonster

[map] ma.page1.fader1 > ma.page1.fader2

Nur die config mit den klammern läuft nicht:

[maweb ma] host = 10.23.42.21 80 user = midimonster password = midimonster

[map] ma.page1.fader{1..2} > ma.page1.fader{3..4}

cbdevnet commented 5 years ago

OK das Problem sollte mit 49855046f683deb7fdadc2c3d8caf513099b4803 auch behoben sein, war ein bisschen tiefer versteckt.