midisport-firmware: add package
Add package with user-space loaded firmware for M-Audio USB MIDI interfaces. Implement OpenWrt-specific hotplug script which uses 'fxload' from libusb examples. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
parent
65aa0cde1d
commit
eca1338ebc
2 changed files with 94 additions and 0 deletions
57
multimedia/midisport-firmware/Makefile
Normal file
57
multimedia/midisport-firmware/Makefile
Normal file
|
@ -0,0 +1,57 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=midisport-firmware
|
||||
PKG_VERSION:=1.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL:=@SF/usb-midi-fw/$(PKG_NAME)/$(PKG_VERSION)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_HASH:=2aa82ef0bf26647fbdda4c2e9ed0033b41bd0f1b4020b87fa073e4462a048b2d
|
||||
|
||||
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
|
||||
PKG_LICENSE_FILES:=LICENCE
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/midisport-firmware
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
URL:=https://sourceforge.net/projects/usb-midi-fw
|
||||
TITLE:=M-Audio USB MIDI Firmware
|
||||
DEPENDS:=+fxload
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/midisport-firmware/description
|
||||
This package allows you to use the MidiSport USB MIDI interfaces from
|
||||
M-Audio/Midiman.
|
||||
|
||||
Supported devices:
|
||||
- MidiSport 1x1
|
||||
- MidiSport 2x2
|
||||
- MidiSport 4x4
|
||||
- MidiSport 8x8
|
||||
- MidiSport Uno
|
||||
- Keystation
|
||||
- Oxygen
|
||||
- Radium
|
||||
|
||||
(You don't need a firmware download for the USB Audio Quattro, Duo, or
|
||||
MidiSport 2x4.)
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
true
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
true
|
||||
endef
|
||||
|
||||
define Package/midisport-firmware/install
|
||||
$(INSTALL_DIR) $(1)/usr/share/usb/maudio $(1)/etc/hotplug.d/usb
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/*.ihx $(1)/usr/share/usb/maudio
|
||||
$(INSTALL_DATA) ./files/midisport-firmware.hotplug $(1)/etc/hotplug.d/usb/50-midisport-firmware
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,midisport-firmware))
|
37
multimedia/midisport-firmware/files/midisport-firmware.hotplug
Executable file
37
multimedia/midisport-firmware/files/midisport-firmware.hotplug
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/bin/sh
|
||||
|
||||
midisport_load() {
|
||||
local MIDISPORT_FWDIR="/usr/share/usb/maudio"
|
||||
local FXLOAD="/usr/sbin/fxload"
|
||||
case "$DEVPATH" in "/"*".[1-9]") return 0 ;; esac
|
||||
[ "$BUSNUM" ] || return 19
|
||||
[ "$DEVNUM" ] || return 19
|
||||
[ -x "$FXLOAD" ] || return 2
|
||||
"$FXLOAD" -V | grep -q libusb || return 95
|
||||
$FXLOAD -t an21 -p $BUSNUM,$DEVNUM \
|
||||
-s "$MIDISPORT_FWDIR/MidiSportLoader.ihx" \
|
||||
-I "$MIDISPORT_FWDIR/MidiSport${1}.ihx"
|
||||
}
|
||||
|
||||
if [ "$ACTION" = "add" ]; then
|
||||
case "$PRODUCT" in
|
||||
"763/1001/"*)
|
||||
midisport_load 2x2
|
||||
;;
|
||||
"763/1010/"*)
|
||||
midisport_load 1x1
|
||||
;;
|
||||
"763/1014/"*)
|
||||
midisport_load KS
|
||||
;;
|
||||
"763/1020/"*)
|
||||
midisport_load 4x4
|
||||
;;
|
||||
"763/1031/110")
|
||||
midisport_load 8x8-2.10
|
||||
;;
|
||||
"763/1031/121")
|
||||
midisport_load 8x8-2.21
|
||||
;;
|
||||
esac
|
||||
fi
|
Loading…
Reference in a new issue