Widi --- The Midi Player for Advanced Linux Sound Architecture(ALSA)/Open Sound System(OSS)
Japanese version
Experimental Support Advanced Linux Sound Architecture(ALSA)
Support Sherry Wrd!
File Selector module!
Support .wrd!
Contents
- What's Widi?
Midi Players for Advanced Linux Sound Architecture/Open Sound System
- Features, Screen Shots
- Technical Notes
- Related Resources
- History
- Contact
What's Widi? The Midi Player for Advanced Linux Sound Architecture(ALSA)/Open Sound System(OSS).
Widi 19990529 SNAP source
Fixed some bugs. Followed the change of ALSA sequencer API.
Widi 19990302 SNAP source
Widi 19990218 SNAP source
fixed some bugs.
Widi 19990204 SNAP source
Improved ALSA Sequencer support.
Widi 19990131 SNAP source
updated documentation
Widi 19990121 SNAP source
experimental ALSA support
Widi 19981119 SNAP source
Support sherry wrd!.
Support .wrd!.
Widi is MIDI player for Advanced Linux Sound Architecutre(ALSA)/Open Sound System(OSS).
It is able to play mid(SMF),rcp,.r36,.wrd file.
Platforms
Debian GNU/Linux kernel 2.2.3 + XFree86 3.3.2
FreeBSD 2.2.7R
Requirements
- pthread library
- ncureses(optinal)
- thread-safe X library(optional)
- GTK+ (version 1.1.0 or later, compiled with --with-threads=posix:optional)
- libpng (version 1.0.2 or later:optional)
- zlib (version 1.1.3 or later:optional)
- external MIDI device
Widi supports only external MIDI device, does not supports FM,GUS,SB AWE yet.
(How about Soft OSS?)
So you need external MIDI device.
Without sound,able to play.(for playing .wrd)
Pthread is needed.And libX11 is needed to be thread-safe.
For details,see the document in the linux-threads.
On FreeBSD, it is reported that widi can be compiled and play.
(Thanx to sonoda@kyusyu-u)
Widi may be compiled on FreeBSD.But not verified.If someone test it,please
let me know.
On pthread library and threaded X libraries
- Linux glibc+XFree86 3.3.2(You are Luckey!)
Nothing to do about this.
- Linux glibc+XFree86 3.3.1(or older)
pthread library(linux-threads) is installed.
XFree86 does not supports multi-thread,we recommend you
that versoin upto 3.3.2.
- Linux libc5
At First install linux-threads.
Then, following to the document in the linux-threads,
install thread-safe X libraries.
- FreeBSD 2.2.7R
You have already pthreads library.
Since X libraries are not threaded,according to followings,
install threaded X libraries.
- FreeBSD 2.2.6R(or older)
It is reported that there exets some probles with pthreads.
We recommend that version up to 2.2.7R.
If you stay older release, at first install pthread library(libc_r).
And then, according to followings, install thread-safe X libraries.
How to install thread safe X libraries on FreeBSD
Sonoda@kyushu-u provies binary of them.(thanx!)
XF86-3323-MTSAFE_lib.tar.gz
Expands the source of XFree86, add followings to xc/config/cf/FreeBSD.cf,
then make World
#define HasPosixThreads YES
#define ThreadedX YES
#define HasThreadSafeAPI YES
#define ThreadsLibraries -lc_r
#define SystemMTDefines -D_THREAD_SAFE -D_REENTRANT
You don't have to change X Server.
So after build in xc/lib directory,stop compiling,
It is safe to skip compile servers as follows
% cd xc/lib
% cp */*.so.?.? /usr/X11R6/lib
% ldconfig
How to load ALSA Serial Driver
Load ALSA serial driver as followings.
% setserial /dev/ttyS1 uart none
(In case you connected the midi device to com2.
If you connected to com1, replace /dev/ttyS1 by /dev/ttyS0)
% modprobe snd-serial
Freatures
Screen Shots
TODO
- Seeking.(play from any position)
- dynamicaly chage of parameters(key,tempo,volume,program.control,RPN,NRPN)
- support more formats
- bug fix .g18,.g36
- recomposer tempo graduation
- streaming
- netscape plug-in
- more modules(GTK?,Qt?)
- dynamicaly,(un)mapping modules
- wrd,Sherry wrd
- .el for editing .wrd
- Sherry wrd compiler
- support more midi-device(FM,SB AWE,GUS,ALSA)
- timidity
- configuration file
- multi port
- make light
- make autoconf,automake nicer
Technical Notes
Related Resources
If you know interesting page,let me know.