
This is a radio application for FM tuners built into some TV cards,
such as the Hauppauge Win/TV.

FreeBSD (Hi, Roger and Juha!) and NetBSD (Hi, Tron and Veego!!)
provide support for these cards via /dev/tuner. (NetBSD as of
version 1.4)
Ti Kan (ti@amb.org) provided linux support. I don't know,
if or how good it works, all I know is, that the linux driver
doesn't support AFC and it can't switch to mono. And the worst,
it can't get/calculate the field strength of the current
signal. Thus, the seeking functionality doesn't work!

There is a compile time option enabling xmradio to connect to an
lcdproc server (http://lcdproc.omnipotent.net/), you have to
manually edit the Imakefile to enable this support.

Starting with version 0.8 there is support for Juha's 
alternative driver for FreeBSD. That beast can scan *very*
fast (~7-10 times faster!) Edit the Imakefile to add
-DJUHA_DRIVER for this.

----------------------
Notes from Ti Kan:

For Linux, you should be installed with the bttv driver suite in order
to use xmradio.  Information about bttv and downloads are via the bttv
web site:

        http://www.thp.uni-koeln.de/~rjkm/linux/bttv.html

I ported and tested xmradio on a system running the Linux 2.0.33 kernel
and bttv-0.6.4.  Supposedly xmradio should also work on a Linux 2.2 kernel
with Video4Linux but I did not try this.  If you have any success/failure
report I'd like to hear about it. (ti@amb.org)
----------------------


Starting with version 0.7 we have a GUI for the station list
configuration. I think, it's simple enough to not write a
huge handbook ;) but one hint: if you press shift while clicking
on "Delete Entry" all stations will get erased. Just for your
convenience if you want to make a complete new scan.
You can check online, if there is a newer version available.
This feature isn't available in linux.

New in version 0.6 is a remote control. You can now control
an xmradio running on your desktop using some special command
line options. The functionality is *very* similar to netscapes
remote mechanism, so if you have a running xmradio and type

 xmradio -remote StationUp

then it will tune to the next registered station. Here is a
list of all supported commands:

- StationUp
- StationDown
- StationSeekUp  (doesn't work on linux)
- StationSeekDown  (doesn't work on linux)
- Frequency=<freq in MHz>
- Station=<registered name>
- AFC=<on|off>  (doesn't work on linux)
- Stereo=<on|off>  (doesn't work on linux)
- Mute=<on|off>
- Balance=<new_value>  between and including -100 and +100
- Treble=<new_value>   between and including 0 and 100
- Bass=<new_value>     between and including 0 and 100
- Volume=<new_value>   between and including 0 and 100
- ShowAbout
- ShowAnalyzer
- Iconify
- Deiconify
- Withdraw
- Raise
- Lower
- Quit

I think, the commands are self explaining. You can add as many
commands as you like in one line, say something like this:

 xmradio -remote Station="Delta Radio" -remote Volume=30 -remote Stereo=off

Thats it. Mail me, if you want/need more ;)

Apart from the standard command line options you've got these with
xmradio:

 -station <name>    to tell it a specific start station.
 -frequency <freq>  to tell it a specific start frequency.
 -volume <value>    to tell it a specific start volume.

If you send xmradio a SIGUSR1 or SIGUSR2, it will seek or
switch to the next/previous station depending on the
configuration. (Not available in linux)

I'm sorry, if you have problems with the fact, that I use motif
for xmradio. I was a motif fan for a lot of years, but I realize
what happens with other toolkits. And it's a pity, but motif
is really dead. Other toolkits provide more flexibility, ease
of use and extensibility. So this is probably my last project
using motif. But as it took a lot of work until now, I won't
change it right now.

FreeBSD only:
The sound driver in FreeBSD 4.x (newpcm driver) has huge problems
with recording/sampling. Don't blame me, it works quite nice on NetBSD
and did with FreeBSD 3.x with the following patch:

There is a bug in luigi's soundcode. (At least, upto FreeBSD 3.2)
If you get an error while recording audio, you most probably
have that bug.
Go to /usr/src/sys/i386/isa/snd and find this around line
1027 (FreeBSD 3.2) in sound.c:

        if (ask_init(d))
            *(int *)arg = d->play_fmt ; 

and replace it with this:

        if (ask_init(d))
        {
         if (d->play_fmt)
            *(int *)arg = d->play_fmt ;
         if (d->rec_fmt)
            *(int *)arg = d->rec_fmt ;
        }

This is only a quick fix, better look out for a new driver.
A bugreport is already submitted.

Btw. I haven't testet with OSS. Any reports welcome.

This software is provided under BSD licence.

If you really like it, I'd like to get a post card of
your home-town/county/country. You can find my address on
my webpage.
Submitted post cards as of version 1.2: 4 (four) with
 >> 2000 downloads

Thank you all, who sent cards! :-)

Tom
coto@core.de

http://core.de/~coto/

