playumidi - play standard midi-file format 0/1 for FreeBSD USB-MIDI device Version 0.8.0 [Introduction]-------------------------------------------------------------- "playumidi" is the "SIMPLE" MIDI file player for USB MIDI device on FreeBSD. This software is able to direct control for FreeBSD-umidi device(/dev/umidi*.*) in the "uaudio" driver. Therefore, You don't need to use the "/dev/sequencer" device or the other software when listening the MIDI-file music. And, Support for auto-judge MIDI-file XG/GS/GM mode & auto add the Tone-Generator ReSet code when the ReSet code isn't exist in a MIDI-file. [Requirement]--------------------------------------------------------------- "playumid" is able to running following environment. * OS: FreeBSD * Available /dev/umidi*.* driver Only(integrated uaudio driver) (But Can't use /dev/sequencer (old midi driver)) * USB-MIDI Device (Support by FreeBSD uaudio driver) * MIDI Tone generator or Compatible Device (e.g. YAMAMA MU1000/2000/128/etc... or Roland SC-88xx) * Depends on libpthread (Usually, libpthread is FreeBSD-default library. So, You don't neet to install this library.) * Depends on libiconv (However, only if you want to play MIDI files with embedded languages other than English) Reference Environment: * FreeBSD 9.1-RELEASE * uaudio driver (patched by http://lists.freebsd.org/pipermail/freebsd-usb/2012-December/011702.html "Thank you!! for public this patch!") * YAMAHA MU1000 Tone Generator (Integrated USB) [Install]------------------------------------------------------------------- Please read INSTALL text. [Usage]--------------------------------------------------------------------- playumidi is command-line software. SYNOPSIS: "playumidi [option] file" OPTIONS: -d device_name * Set the USB MIDI device name (Device Number & Port Number is auto-search) (If you want to use the "/dev/umidi0.0" device, you set "-d umidi". Don't set the Device Number & Port Number("0.0") ) * playumidi use the midi device that the device directory is "/dev/DeviceNumber.Number". * DEFAULT: "umidi" -0 device_fullname * playumidi use the indicate device as the port-0 midi device. * Can't use the "-d"option same time. (When use both "-d" option and "-0/1/2/3"option, playumidi terminate process) * DEFAULT: "umidiX.0" (X is serarched by playumidi from 0 to 15.) -1 device_fullname * playumidi use the indicate device as the port-1 midi device. * Can't use the "-d"option same time. (When use both "-d" option and "-0/1/2/3"option, playumidi terminate process) * DEFAULT: "umidiX.1" (X is serarched by playumidi from 0 to 15.) -2 device_fullname * playumidi use the indicate device as the port-2 midi device. * Can't use the "-d"option same time. (When use both "-d" option and "-0/1/2/3"option, playumidi terminate process) * DEFAULT: "umidiX.2" (X is serarched by playumidi from 0 to 15.) -3 device_fullname * playumidi use the indicate device as the port-3 midi device. * Can't use the "-d"option same time. (When use both "-d" option and "-0/1/2/3"option, playumidi terminate process) * DEFAULT: "umidiX.3" (X is serarched by playumidi from 0 to 15.) -r * Disable Auto-Insert XG/GS/GM Reset code. -q * Quiet Mode : Don't output the Meta-Event Text to the terminal stdout." -v * Verbose Mode : Output the playumidi running status.(DEBUG mode)" -h * Output Command-Line Help Message (Usage) The following Playing-Operation are available "Ctrl + C" Key * Stop playing music & Terminate playumidi. [CAUTION!!]----------------------------------------------------------------- playumidi directly opens, writes midi-event data, and closes the /dev/. So, it is necessary to grant the R/W privileges(666) to /dev/ before use playumidi. But, the FreeBSD umidi-driver (integraed by uaudio driver) is not granted permission only of the root-user R/W and others user/group read-only (permission 644) at the default. Therefore, there is a need to grant permissions to R/W prior to use. I will show some examples below. * (Example 1) set permissions every use time Do the following command as the root user. (Of course, can use sudo command also.) "chmod -R 755 /dev/umidi*" * (Example 2) Set permanently R/W permission for usb-midi device. (FreeBSD 8/9 only) Do the following operation as the root user. (Of course, can use sudo command also.) 1. Append to /etc/devfs.rules the following two lines. (Making /etc/devfs.rules when there is not existing this file.) ------------------------------------------ [devfsrules_common=7] add path 'umidi*' mode 0666 group wheel ------------------------------------------ 2. Append to /etc/rc.conf the following three lines. ------------------------------------------ devd_enable="YES" devfs_enable="YES" devfs_system_ruleset="devfsrules_common" ------------------------------------------ 3. Reboot FreeBSD (shutdown -r now) [AUTHORS]---------------------------------------------------------------- Koine Yuusuke (koinec@users.sourceforge.jp) [LICENSE]---------------------------------------------------------------- playumidi presented by the "FreeBSD License". Please read LICENSE text file. END of README ***********************************************************