Re: About .... everything

2000-06-01 Thread Mayhem Chaos Coordinator

 I found freeamp recently and i really love it.

I'm glad you like it.

 Except for its numerous bugs and 20% more
 time consuming it beats winamp undoubtedly.
 Speed isn't something you should worry about
 (too much) but bugs  maybe you should clear
 all bugs before implementing new features...

Well, the tough part about fixing the bugs is that we don't really know what
they all are yet.

 About 2.1beta1
 2) there are still warnings wich could  should be resolved with casts
 (i think it's faster to do it yourself than to implement my changes
 so i'm not sending anything)
 3) you're not killing threads correctly. after few minutes there is more
 than 400 active threads

I haven't seen this happen -- does it still happen with beta 3? Beta 3 will
be released within a few hours -- please check it out.

 OK, this was a bug report. (Sorry, but I hate bugzilla.)

We would really prefer you to use bugzilla to report bugs. This way you will
not report bugs that have already been reported (and fixed!), which will
save you and us time.

 There are more bugs, but I'd like to have beta2 to continue testing.

Check out beta 3 -- the bugs you've mentioned may have already been fixed.

--ruaok   Hindsight is always 50/50.

Robert Kaye -- [EMAIL PROTECTED]  http://www.emusic.com




___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: after compile in VC6++

2000-06-01 Thread Mayhem Chaos Coordinator

 "Error, there isn't this file VSC6OD.dll", obviously if I had this file I
 can run without problem, but if I want redistribuite it to all my friends,
 all they will need this file, how can I do to fix it (for dont asking for
 this file)?

If you choose your build target to be the NASM Release and then rebuild the
entire codebase before giving it to friends, it should not ask for that file
anymore.


--ruaok   Hindsight is always 50/50.

Robert Kaye -- [EMAIL PROTECTED]  http://www.emusic.com

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Support for other file formats

2000-05-26 Thread Mayhem Chaos Coordinator

We've recently added support for Vorbis (http://www.xiph.org) and I will
also write a plugin that will do WAV files. However, that's the extend of it
right now


--ruaok   Hindsight is always 50/50.

Robert Kaye -- [EMAIL PROTECTED]  http://www.emusic.com
- Original Message -
From: Karl Ove Hufthammer [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, May 26, 2000 6:57 AM
Subject: Support for other file formats


 Are there any plans for supporting other music file formats (.mid, .xm,
 .mod)?

 --
 Karl Ove Hufthammer


 ___
 [EMAIL PROTECTED]
 http://www.freeamp.org/mailman/listinfo/freeamp-dev


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Localization

2000-05-01 Thread Mayhem Chaos Coordinator

We don't have any plans at this point in time. I very much would like to see
something like this, but unfortunately it is not a pripority for us at the
moment. If someone would like to jump in and help us out with this, we would
greatly appreciate it and we would be more than willing to help you with
this process.

Please remember that any solution in question needs to work on Win32, Linux
and Mac. Tall order. :-(


--ruaok   Hindsight is always 50/50.

Robert Kaye -- [EMAIL PROTECTED]  http://www.emusic.com

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: new version of id3lib available

2000-04-17 Thread Mayhem Chaos Coordinator

 I had heard remours that, starting with version 2.1, freeamp was planning
on
 using id3lib for its tagging needs.  If this is not the case, please let
me
 know.  If this is the case, I'd like to briefly take this opportunity to
 [snip]
 You'll notice that I've listed freeamp as a project that will be using
id3lib
 in the future.  Again, if this is not (or no longer) the case, please let
me
 know and I will remove this information ASAP.

After today it will not be a rumor anylonger -- my task for today is to
integrate your lib into our codebase. So today, perhaps tomorrow the freeamp
CVS will support ID3v2...

Thanks for taking this on -- you're saving me a lot of grief!

--ruaok   Hindsight is always 50/50.

Robert Kaye -- [EMAIL PROTECTED]  http://www.emusic.com

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Stripping out the code to get just teh playing functionality

2000-04-07 Thread Mayhem Chaos Coordinator

The decoder lives in the lmc/xingmp3 directory. In the towave.c file you'll
find example code on how to use the decoder. The streaming stuff can be
found in io/obs and io/http.

What are you going to use this for, if you don't mind me asking?


--ruaok   Hindsight is always 50/50.

Robert Kaye -- [EMAIL PROTECTED]  http://www.emusic.com
- Original Message -
From: Matthew C Camuto [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, April 03, 2000 10:32 AM
Subject: Stripping out the code to get just teh playing functionality


 Hi..

 I am interested in trying to strip the code down to just get a raw
 mp3 player and possibly implement streaming eventually.

 I am interested in learning from the ground up and trying
 to make a very light weight player to use and fool around with
 and possibly make my own interface to stream with in the
 future..

 If anybody has a very small subset of code just to do the
 mp3 playing/streaming or can at least give me some advice for
 stripping down all the freamp code it would be great.

 Thanks

 matt



 ___
 [EMAIL PROTECTED]
 http://www.freeamp.org/mailman/listinfo/freeamp-dev


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: DiskOut Output Plugin v0.0.1

2000-03-17 Thread Mayhem Chaos Coordinator

 I just loaded up the 2.0.5 release and select the DSound plugin.  I get no
 sound whatsoever, the volume bar is locked at 100 and i can't move it at
 all.  If I try to move the seek bar, it keeps resetting to the beginning
and
 starts playing again.  Never have I heard a single note from the sound.

Ok, the changes to the volume I made are in CVS, not in 2.0.5. Check out
branch-2-0-6-devel to get at my changes.

 More bad news.  FreeAmp did not close after I clicked the [x].  It
 disappears, but it still shown as running in Task Manager, so I have to do
 an End Task to get rid of it.

 This was simular to what happened to me when I ran WinNT4.0  SB Live! at
 home, so it maybe related to the drivers to, but I never have had a
problem
 with the regular audio plugin, so it really has to be related to the
dsound
 plugin.

I've seen this happen before but I can't reproduce it on a consistent basis.

People have been reporting various problems with regards to the DirectSound
plugin -- I don't know much about DirectSound so I don't know what's wrong.
If you guys have some spare time, could you guys please look into it?

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Documentation on debug functionality? Also, dev FAQ?

2000-03-17 Thread Mayhem Chaos Coordinator

 Hi. Is there any documentation on the debug functionality? I looked in
 player.cpp for relevant command-line options (none), and in debug.h
 and debug.cpp. How do I turn it on?

Not really -- the function Debug_v() is a function that I use as a
replacement to printf(). This is my primary debugging tool and it requires a
small executable to display the output. However, I usually remove my
debugging statements before checking in code to CVS, so there is nothing to
turn on.

We also have a logging facility, but we haven't really put many logging
statements into the code yet. The decode pipeline uses them, but not very
extensively either.

 BTW, I would like to maintain a development FAQ (because I ask so
 many questions?). Does such a thing exist, or should I just go
 ahead and start compiling it?

Go for it...

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Windows NT sound interface code

2000-03-16 Thread Mayhem Chaos Coordinator

 Now, I am ready to start debugging dual-processor NT hangs that I've
 been experiencing. I figure I will start with the Windows PMO, but first
 I have some questions:

Dual processor NT with a SB Live! card? If so, do you have another card that
you might stick in there just to see if the SB Live! is causing problems?
I've heard not so good things about SB Live on NT with multiple processors.

 0) There appear to be two PMOs for Win32, one using the Microsoft waveXXX
 functions, the other using DirectSound. How do I tell which one is being
 used on my machine?

Options-Plugins-Audio Output

Be default we're using the soundcard output PMO.

 1) What is the state of the DirectSound PMO? Is it actually used in the
 product (and if so, can it be used on NT 4?)?

The DirectSound PMO should work fine -- the only drawback is that there is
an extra memcpy in there which degrades performance. The way you write data
to direct sound is not compatible with the current buffering scheme that we
have (well, not cleanly anyways), which forces us to use an extra copy. :-(

 2) According to Microsoft, the latest version of DirectX for NT 4 is
 version 3. Is this the case?

Sounds about right.

 3) Who is the main person for these two PMOs?

Sylvain Rebaud wrote the DirectSound PMO and maintain that now. I've also
rewritten the soundcard PMO a couple of times, and I'm still not quite happy
with it. :-(


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Windows NT sound interface code

2000-03-16 Thread Mayhem Chaos Coordinator

 Well... :) The PMO model does not mesh well with DirectSound, nor are you
 happy with the soundcard PMO. Would generalizing the PMO model help at
 all?

Yes, we plan to do that for 3.0...

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Solaris!

2000-03-16 Thread Mayhem Chaos Coordinator

 Running a dual P-III 600 with SBLive, work fine with FreeAmp, however
 the system does seem to go unstable after a while, but I've been told
 that this is due to the number of cards I've got in the system (and it
 loses interrupts of something, ps NT4 SP6+).

 Steve

You're a Solaris guy, right? If you (and any Solaris folks) could please try
to check out the solaris-port-branch (cvs co -rsolaris-port-branch) and see
if you can compile/use Freeamp on Solaris? Tom Dilligan just completed the
port and we'd both like some feedback on it.

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: DiskOut Output Plugin v0.0.1

2000-03-16 Thread Mayhem Chaos Coordinator

I downloaded and massaged your code for a while. Its now checked in CVS.

 * How to I display a customize dialog from the preferences page when I
 select my plugin?

You don't. We need to implement something like that.

 * When the plugin is outputting the data, the time counter on the main
 window does not count down.  Where is the code that makes this happen at?
 Could I have messed something up that causes it not to count anymore?

Yeah, but its all fixed now. It doesn't show the time for every second, but
for every 10 seconds...

 Any comments/improvements are welcome.  I think I have the time
calculation
 messed up a bit because I used WinAmps disk outputter as a test, and none
of
 my output files matched in time or file size, so I still have a bit of
work
 to go, but at least I have a start I reckon.

Everything sounds and looks good to me.

Thanks for doing this -- you saved me quite a bit of time!

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Comments

2000-03-13 Thread Mayhem Chaos Coordinator

 1. When playing back mono recordings that have been compressed using the
mp3
 codec bundled with Media Player, FreeAmp reports the mono recording as
 stereo.

 2. FreeAmp does not minimize when the Minimize All Windows is activated.

 3. FreeAmp was then minimized by clicking on the Minimize button. Another
 application was then opened. When the FreeAmp button was clicked to
restore
 the FreeAmp window, only two small sections of the FreeAmp screen were
 refreshed. It seems like paint messages are not being processed properly.

Could you please enter these into Bugzilla, our bug tracking system. That
will ensure that we will fix them. For bug #1 could you please create an
attachment with a file that exhibits this problem?

 2. Greater control of all functions using the keyboard.
 I like the keyboard shortcuts in Windows Media Player.

Could you please make some suggestions? I refuse to install WMP.  :-)


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Download Manager Exception

2000-03-01 Thread Mayhem Chaos Coordinator

 Any ideas on what could be wrong before I got through the painful task of
 building a debug version of the files?

 FWIW, this is with the latest 2.0.4 version that was just released.

I haven't heard or seen anything about that. Please do build the debug
version and let us know what you can dig up...

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Michael Rich [EMAIL PROTECTED]
To: 'FreeAMP Dev' [EMAIL PROTECTED]
Sent: Tuesday, February 29, 2000 10:40 PM
Subject: Download Manager Exception


 For some reason i'm getting a "Floating point invalid operation" when I
try
 to bring up the download manager on my Alpha.  Does anyone know what might
 could be going wrong because the Alpha is very sensitive to that sort of
 thing, and its possible that the x86 CPUs could just be ignoring it, or
 maybe Windows is ignoring it.


 Michael Rich
 http://alphax86dev.cjb.net
 http://www.cdx.sk/userwebs/zdrpg

 ___
 [EMAIL PROTECTED]
 http://www.freeamp.org/mailman/listinfo/freeamp-dev


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: DiskOut Output Plugin v0.0.1

2000-02-26 Thread Mayhem Chaos Coordinator

 i can't answer the time stuff, Rob?

In each PMO, there is a function called:

void  HandleTimeInfoEvent(PMOTimeInfoEvent *pEvent);

Check this function out -- it sends the time info to the player. These
functions are complicated by the fact that they need to be accurate and that
the user can seek. Your case is a lot simpler -- just figure out how many
samples you've written and convert that to HH:MM:SS and send the event to
the player as the other HandleTimeInfoEvent functions do...

Let me know if you need more info than that.

 i think saving the file to the same directory as the source file is the
best
 solution right now.

Actually, we had decided that we wanted to save the wav files into a WAV
subdirectory of the users' MyMusic directory. To do that, simply call

Error GetSaveMusicDirectory(char* path, uint32* len);

on the preference object. A pointer to the prefs object is in the context
object, which each modules has. So,
m_context-prefs-GetSaveMusicDirectory(...) would get the music dir. Append
a 'WAV' and you've got your save place. Also, the output plugin should be
careful to not overwrite existing files -- it should append a -2, -3, .., to
the filename base.

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Slider Problem and Compiling question...

2000-02-25 Thread Mayhem Chaos Coordinator

 First, the slider (volume) problem.  When I attempt to adjust the volume
 using the slider, as soon as I move the control, it sends the actual
volume
 up and pans all the way to the right.  A subsequent adjustment of the
slider
 does nothing.  I have to open the windows audio panel to reset the volume
 and pan.  I noticed while doing this in the audio panel, the volume slider
 moves in sync with the volume slider in the window audio panel.

That bug has been fixed -- if you download the code from CVS or one of the
snapshots that code should work ok.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Wave output plugin

2000-02-24 Thread Mayhem Chaos Coordinator

Hmmm. A change of pace might be nice. :-)


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Michael Rich [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, February 24, 2000 1:42 PM
Subject: RE: Wave output plugin


  we are planning on doing this for 2.1, but if you wanna do it
  sooner then we
  would be glad to include it as always... grin

 Yea yea, i'd be happy to if someone will write this floppy disk driver for
 me i'm trying to figure out how to hack out.  ;)

 Its been giving me a headache for weeks now.

 mike

 ___
 [EMAIL PROTECTED]
 http://www.freeamp.org/mailman/listinfo/freeamp-dev


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Win32 minimize wierdness

2000-02-10 Thread Mayhem Chaos Coordinator

 Perhaps someone with more experience could figure out what messages
 are posted as a result of WINDOWS_KEY+M (maybe using Spy++ or a
 similar tool) and then figure out why Freeamp isn't handling them?

 This is the relevant portion of what I get from Spy++ when hitting the
 Windows Key +
  M:

 WM_WINDOWPOSCHANGING
 WM_MOVE xPos = 3000, yPos = 3000
 WM_SIZE fwSizeType = SIZE_MINIMIZED, nWidth = 0, nHeight = 0
 WM_WINDOWPOSCHANGING

 I'd say something needs to be done to handle the WM_SIZE with fwSizeType
==
 SIZE_MINIMIZED, like checking if the window is already minimized and if
not,
 minimizing it. Anyone?

Did you Spy on the FreeAmp window or some other window? I've observed the
same behaviour in other windows, but FreeAmp never gets these messages.
Otherwise I could simply handle them. The real question is how do I tell
windows that I want to get these messages?

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Any documentation on UI..

2000-02-08 Thread Mayhem Chaos Coordinator

 1) Input support for the LCD ui (either key pad or knop, remote etc.)
 2) Play-list support (list, update, etc.)
 3) Diplay the meta data (artist, album etc.)

First thing is to check out the ncurses ui -- it uses curses to display the
meta data of the current song -- you should be able to grab some code from
that. Playlist support is not hard either -- each UI gets an FAContext
object which contains a pointer m_plm to the playlist manager. Check out the
playlist.h in base/include for details on which operations you can perform
on the playlists. Elrod, which messages should he watch out for?


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: skipping to next song.. ( naive question )

2000-01-27 Thread Mayhem Chaos Coordinator

One of the others who had this problem said it went away when he switched
to
ALSA or ESD, I believe.  Would it be relevant that normally when I run con-
figure, I run it thus:

The problem is definitely in the soundcard (OSS and not ALSA, or ESD) stuff.
So switching to one of the other systems will cause the problem to go away.

I've checked the source out of CVS.  What next?

OK -- I just went back a few bugs in bugzilla and I recognized this problem
from another bug report. I had been sent a patch to fix this problem but it
never got committed to CVS. So, try checking it out now and see if the
problem goes away.

If you have trouble accessing CVS wait until tonight -- we're in the process
of moving to a new server.

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert




___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: skipping to next song.. ( naive question )

2000-01-24 Thread Mayhem Chaos Coordinator

snip author='Srinivas A' date='24.01.00'

  Freeamp stops once it played the first song. it  is
   not moving to the second song unless I explcitly
  next song button.

  Did anybody experienced this problem.

/snip

Indeed, I've been having this problem too.  It first cropped

What OS are you guys running into this problem? If it is Win32, have you
tried the latest and greatest version 2.0.1? I saw that problem and I hope I
fixed it. If the 2.0.1 version does not fix the problem, could you please
provide me with a sample MP3 file that causes the problem and I'll get it
fixed?


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Playlist management under cmdline.ui

2000-01-19 Thread Mayhem Chaos Coordinator

 We can give a collection of mp3 files (using * wild card)
 to the freeamp. Using '+/=' and - options of cmdline ui, we
 can move forward and backward..  Instead of that, I want to create
 a .m3u file that holds the list of mp3 files of PLAYQUEUE. Now
 I can give this .m3u file to freeamp. But I cant change the
 PLAYQUEUE (.m3u) file dynamically. Is there any way out? I want
 to change my PLAYQUEUE dynamically.

You can change the play queue to your hearts content. Check out the function
that the PlaylistManager class gives you in the base/include/playlist.h. The
command line UI is passed a pointer to the FAContext object which contains
the m_plm member. This member is a pointer to the PlaylistManager, which has
member methods AddItem(), MoveItem(), SwapItems() and all the fun stuff to
manage the playqueue.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: command line options for freeamp

2000-01-19 Thread Mayhem Chaos Coordinator

Or even,

freeamp -ui mpg123 blah.mp3 ...


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Azazel [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, January 19, 2000 11:09 AM
Subject: Re: command line options for freeamp



 How about:

 freeamp -ui freeampcmd.ui blah.mp3

 or

 freeamp -ui ncurses.ui blah.mp3

 snip author='Ross P Davis' date='19.01.00'
  Good day,
 
  Is there a list of command line options for freeamp somewhere?
  More specifically, is there an option that disables the GUI so no
windows
  pop up when a song is played?
 
  For example:
 
  freeamp -no_gui Aqualung.mp3
 
  Thank you,
  Ross Davis
 
 
 
  ___
  [EMAIL PROTECTED]
  http://www.freeamp.org/mailman/listinfo/freeamp-dev
 
 /snip

 --
 +0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0
   www: http://www.azazel.net/
   mail: mailto:[EMAIL PROTECTED]
   GPG:  http://www.azazel.net/home/az_key.txt
 +0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0

 ___
 [EMAIL PROTECTED]
 http://www.freeamp.org/mailman/listinfo/freeamp-dev



___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: cmdline UI.. ( freeamp UI, download UI musicbrowser UI )

2000-01-05 Thread Mayhem Chaos Coordinator

 Yes, sort of.  The Internet-Draft already contains pseudo-code for
 translating between regular MP3 frames and "ADU frames".  And once
 LIVE.COM's "liveMedia" C++ class framework is made Open Source (real soon
 now!), this will include filters for translating between the two.

Awesome -- do you have a timeframe for RSN? I know there is more and more
interest in RTP, RTSP and streaming in general. I personally want error
correction for Obs real bad...


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Xing Decoder

1999-12-20 Thread Mayhem Chaos Coordinator

 Hi Sir,

Please, call me Dude. Not sir. :-)

  Thanks for giving me the right direction..

Sorry for not getting back to you sooner -- the FreeAmp 2.0 release was hell
since our server started going on the fritz.

  I got struck with GetHeadInfo() function.

This function is MP3 specific -- it may not be much use to you. This
function is also a *royal* pain the in butt -- I don't know how many times
I've had to tweak it. No wonder its not obvious what's going on.

  I really dont understand why you are calling
  head_info3() two times. The second time you are filling the
  MPEG Header variable(local), sHead.

  MPEG_HEAD sHead;
  int iFrameBytes, iBitRate;

  iFrameBytes = head_info3(((unsigned char *)pBuffer) +
  m_frameBytes + iForward + m_sMpegHead.pad,
  iMaxFrameSize - (m_frameBytes + iForward),
  sHead, iBitRate, iForward);


The basic idea behind this function is to seek to the first MP3 frame.
Typically a proper MP3 file will not need this function, but a file that is
corrupted a the beginning or an HTTP stream where you might get tossed into
the middle of a frame requires it.

The difficulty of this function is derived from the fact that MP3 frames
start with 0xFF 0xF*. This marks the start of a frame -- however, MP3 takes
no precautions to not have 0xFF 0xF* appear anywhere else in the bitstream.
So, if the MP3 decoder simply advances the stream to the first 0xFF 0xF* it
may end up in the middle of a frame instead of at the beginning of a frame.
So, when I find a 0xFF 0xF* I call head_info3() to get the stats about that
frame. Then I seek exactly one frame ahead and call head_info3() again to
make sure that the data I got from the first frame matches the second frame.
The sampling rate, MPEG-1 vs MPEG-2 and audio layer need to be same in order
for me to consider these frames valid. (Note: You cannot compare bitrate,
because of VBR streams) If the data does not jive, I assume that I landed in
the middle of an audio frame and seek to the next frame and repeat the
process. If the second frame does match, I go one further and look a the 3rd
frame to make sure it matches as well. If I get the third match, I exit the
function with the input stream positioned at the first valid frame.

You are not using 'sHead' anywhere. Could you clarify?

You just spotted a bug! The following two lines should be using sHead and
not m_sMpegHead. I will make the necessary changes. Thanks for pointing this
out.

 if (m_frameBytes  0  m_frameBytes  iMaxFrameSize 
 (m_sMpegHead.option == 1 || m_sMpegHead.option == 2))



--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Xing Decoder

1999-12-20 Thread Mayhem Chaos Coordinator

[Replying to me own e-mail -- what's wrong with this picture]

 You are not using 'sHead' anywhere. Could you clarify?

 You just spotted a bug! The following two lines should be using sHead and
 not m_sMpegHead. I will make the necessary changes. Thanks for pointing
this
 out.

  if (m_frameBytes  0  m_frameBytes  iMaxFrameSize 
  (m_sMpegHead.option == 1 || m_sMpegHead.option == 2))

Let me correct myself here -- you spotted a bug in the *old* code. The
lengthy diatribe from below actually pertains to the latest version of the
code. Please download 2.0 source code from our site. My comments below are
not accurate for the code you're currently looking at. Sorry.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Mayhem  Chaos Coordinator [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, December 20, 1999 12:38 PM
Subject: Re: Xing Decoder


  Hi Sir,

 Please, call me Dude. Not sir. :-)

   Thanks for giving me the right direction..

 Sorry for not getting back to you sooner -- the FreeAmp 2.0 release was
hell
 since our server started going on the fritz.

   I got struck with GetHeadInfo() function.

 This function is MP3 specific -- it may not be much use to you. This
 function is also a *royal* pain the in butt -- I don't know how many times
 I've had to tweak it. No wonder its not obvious what's going on.

   I really dont understand why you are calling
   head_info3() two times. The second time you are filling the
   MPEG Header variable(local), sHead.
 
   MPEG_HEAD sHead;
   int iFrameBytes, iBitRate;
 
   iFrameBytes = head_info3(((unsigned char *)pBuffer) +
   m_frameBytes + iForward + m_sMpegHead.pad,
   iMaxFrameSize - (m_frameBytes + iForward),
   sHead, iBitRate, iForward);


 The basic idea behind this function is to seek to the first MP3 frame.
 Typically a proper MP3 file will not need this function, but a file that
is
 corrupted a the beginning or an HTTP stream where you might get tossed
into
 the middle of a frame requires it.

 The difficulty of this function is derived from the fact that MP3 frames
 start with 0xFF 0xF*. This marks the start of a frame -- however, MP3
takes
 no precautions to not have 0xFF 0xF* appear anywhere else in the
bitstream.
 So, if the MP3 decoder simply advances the stream to the first 0xFF 0xF*
it
 may end up in the middle of a frame instead of at the beginning of a
frame.
 So, when I find a 0xFF 0xF* I call head_info3() to get the stats about
that
 frame. Then I seek exactly one frame ahead and call head_info3() again to
 make sure that the data I got from the first frame matches the second
frame.
 The sampling rate, MPEG-1 vs MPEG-2 and audio layer need to be same in
order
 for me to consider these frames valid. (Note: You cannot compare bitrate,
 because of VBR streams) If the data does not jive, I assume that I landed
in
 the middle of an audio frame and seek to the next frame and repeat the
 process. If the second frame does match, I go one further and look a the
3rd
 frame to make sure it matches as well. If I get the third match, I exit
the
 function with the input stream positioned at the first valid frame.





 --ruaok Freezerburn! All else is only icing. -- Soul Coughing

 Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


 ___
 [EMAIL PROTECTED]
 http://www.freeamp.org/mailman/listinfo/freeamp-dev



___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: FreeAmp.fat

1999-12-20 Thread Mayhem Chaos Coordinator

I don't see what you're talking about -- maybe it has already been fixed...
Can you send me the values of what they should be and I'll look at it again?


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Jason A. Bobier [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Saturday, December 18, 1999 3:44 AM
Subject: FreeAmp.fat


 In the theme.xml, the shuffle button is one pixel too tall. This
 causes one pixel's worth of white to be drawn underneath that button
 on the mac window. When I changed the button description, this line
 disappeared.

 I figured that I would leave it up to you guys to make the change in
 case it screws up something in the Linux or Win32 builds.

 Jason
 --
 Jason A. Bobier [EMAIL PROTECTED]
 Senior Software Engineerhttp://www.prismatix.com/
 Network Associates, Inc.Nothing's constant

 PGPKey: http://keys.pgp.com:11371/pks/lookup?op=getsearch=0xF6F83318
 Fingerprint: 7809 7E6E BCCA 903D 4618  9740 EB10 9DF9 F6F8 3318

 It's hard to pull yourself up by your bootstraps if your feet are bare.

 ___
 [EMAIL PROTECTED]
 http://www.freeamp.org/mailman/listinfo/freeamp-dev



___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: freeamp linux freezes machine

1999-12-20 Thread Mayhem Chaos Coordinator

[Again, sorry for not responding sooner]

 Twice now, I have gone into change the theme, and upon hitting OK, the
 theme partially appears and then the machine [appears to] hang
 completely. I can telnet into the box, and X doesn't seem to be
 running, nor do any of the apps I had running under X.

 However, back at the box, all keyboard and mouse input is completely
 ignored. I end up having to 'reboot' from the telnet connection.

FYI: You don't need to reboot -- if Ctrl-Alt-Backspace doesn't kill the X,
then simply su to root and kill the X process. That should get you back to a
login.

 This is bad. I am not sure what I can do to help track this down

What version of GTK and Glib are you running? How about glibc? I would first
upgrade GTK and Glib to 1.2.6 and take it from there.

 (suggestions are welcome), but if it continues I will have to stop
 testing, I can't afford to have my machine go down like that (various
 servers running on it).

Is this still happening with the 2.0 release? I know that Elrod cleaned up a
crash in the options dialog, and I hope that fixed it.

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: freeamp linux freezes machine

1999-12-20 Thread Mayhem Chaos Coordinator

 On Mon, Dec 20, 1999 at 12:50:07PM -0800, Mayhem  Chaos Coordinator
wrote:
  FYI: You don't need to reboot -- if Ctrl-Alt-Backspace doesn't kill the
X,
  then simply su to root and kill the X process. That should get you back
to a
  login.

 su to root from where? My machine is compeltely unresponsive locally
 when in this state.

Telnet to the box and then su...

 If I telnet in, su to root, and do a 'ps aux', X does not show up, nor
 do any of the processes I was running in X at the time. It is very
 strange.

That's quite cool -- so it seems that the X server dies and the system does
not recover.  Have you tried starting X again without rebooting?

 It was happening in the cvs source from a few days ago. I updated last
 night and built, and was playing with it for a while and it did not
 hang. I will play some more tonight.

Please let us know how it goes.

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Xing Decoder...

1999-12-15 Thread Mayhem Chaos Coordinator

OK, the xing/mp3 specific functions are:

AdvanceBufferToNextFrame() -- this function reads bytes from the input
buffer until the head of the input buffer points to a valid MP3 frame.
GetHeadInfo() -- this function gets the information about the bitstream
(sample rate, MPEG1/2, bitrate)
GetBitstreamStats() -- this function calls GetHeadInfo to get the crucial
info and it figures out the duration of the bitstream
ExtractI4(), GetXingHeader(), SeekPoint() -- these are Xing VBR TOC specific
functions

Generic functions are:

Prepare() -- this is a setup function where the input and output buffers get
setup
Clear() -- clear the output buffer
CanDecode() -- gets called to see if this LMC can decode this media. If the
decoder does not see a valid MP3 bitstream it returns an error.
GetExtensions() -- returns a list of file extensions that it can handle
ExtractMediaInfo -- this function gets called by the player to have the
decoder extract stream info using the GetBitstreamStats function.
CalculateSongLength() -- this function returns the length of the bitstream.
It does not use the input object to read the MP3 stream. There is too much
overhead involved with using the input objects, so normal file io is used.
This function then calls GetBitstreamStats() to do the work.
InitDecoder() -- this function initializes the decode library
DecodeWorkerThreadFunc() -- this function is the thread entry point for the
decoder
DecodeWork() -- this function is the workhorse of the decoder. I'll describe
this in more detail
BeginRead() -- this function encapsulates the buffering for streams. This
function will call the input BeginRead() function if its not a stream. If it
is a stream, it will call the BeginRead() function if enough data is
available. If not, it stops the play and buffers up the stream for a number
of seconds and then resumes the decode process.
BlockingBeginRead() -- this function blocks and loops to wait for new
data -- it does not return unless there is data or an error.
EndRead() -- is the completement to BeginRead()
ChangePosition() -- this function is called as a response to a seek. It is
given a frame number to seek to. This is too MP3 specific to make me happy.

Ignore the Equalizer stuff -- its not supported at the moment.

DecodeWork() details: The decode work function will initialize the decoder
and do a bunch of housekeeping to get the pipeline moving. Then it will ask
the output buffer if there is space for a decoded frame. If not, it sleeps
on a semaphore and loops. If there is enough space it will begin a write
operation on the output buffer and then it will ask the input buffer if
there is enough data for a whole frame. If not, it sleeps on a semaphore and
loops. If so, it will start a read operation on the input buffer. Then it
will call the decoder to decode one frame. After that it will finish the
read and write operations on the input and output buffers and start the
whole process over again until the process is aborted or the input buffer
signals EOF.

Interwoven in this is the event scheme for telling the PMO what's going on.
The eventbuffer is an output buffer that also supports passing events to the
PMO. The first event that the PMO needs to receive is an Init event to tell
it the sample rate and the size of the decoded frames and so on. Before the
decoder writes a frame to the buffer it will send the timestamp of the frame
to the event buffer via a timeinfo event. This gives the outputbuffer enough
information to know what frame it is playing at what time -- this
information is in turn passed to the player so the player can display the
current time. Finally the decoder will send a quit message which will cause
the PMO to finish playing all the samples and then disband the decode
pipeline.

There are many problems with this decode pipeline -- MP3 specifics have
cropped up in various places where the code should be generic, and the
stream buffering was added as an afterthought to support HTTP and RTP
streams. When we go to FreeAmp 3.0 we're planning on haveing a much more
flexible decode architecture that will allow us to have arbitrary data
sources, filters and data consumers. This is why I am hesitant to completely
documen the current structure -- it may not be well suited to adding other
decoders and it will go away in the next few months.

I hope this helps.

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: title streaming from obsequiem?

1999-12-10 Thread Mayhem Chaos Coordinator

 okay... freeamp is fixed so it doesn't use the n+1 port for title
 streaming.  so then how DOES it do title streaming with obsequiem/RTP as
 the server?  or is that no longer supported?

freeamp uses n+2 by default. So if you set your obs.conf to use n+2 then the
title streaming should work ok. These settings should work ok:

StreamTitles   yes

. . .

BroadcastAddr  225.2.1.5 # Multicast address for broadcast
BroadcastPort  4420  # Multicast port for broadcast
TitlePort  4422  # Multicast port for title
streaming


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: freeamp port!

1999-12-06 Thread Mayhem Chaos Coordinator

Check out the source code from CVS (see web page for details) and attempt to
compile it. Fix things that break and get it to work :-)


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Patrick Mei [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, November 15, 1999 9:34 AM
Subject: freeamp port!


 Hi,

 I am write software for our company's set top box(cable Modem +
 DVB),which can play sound in 16 bit,44.1KHZ sample rate. I use pSOS as
 OS,which support posix standard thread,mutex,sem.
 Can anyone tell me how to begin this?

 Thanks

 Patrick



___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: freeamp port!

1999-12-06 Thread Mayhem Chaos Coordinator

No, but you don't need them either. The assembly code are optimizations in
order to make it run faster. There is plain C code available for platforms
where we don't have assembly optimized code.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Patrick Mei [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, December 06, 1999 1:52 PM
Subject: Re: freeamp port!


 Thanks!

 My CPU is MIPS RM5231,are there some codes implement xingmp3  LMC use
 MIPS assemble language(FPU)?

 Mayhem  Chaos Coordinator wrote:

  Check out the source code from CVS (see web page for details) and
  attempt to
  compile it. Fix things that break and get it to work :-)
 
  --ruaok Freezerburn! All else is only icing. -- Soul Coughing
 
  Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
  - Original Message -
  From: Patrick Mei [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Monday, November 15, 1999 9:34 AM
  Subject: freeamp port!
 
   Hi,
  
   I am write software for our company's set top box(cable Modem +
   DVB),which can play sound in 16 bit,44.1KHZ sample rate. I use pSOS
  as
   OS,which support posix standard thread,mutex,sem.
   Can anyone tell me how to begin this?
  
   Thanks
  
   Patrick
  
 
  ___
  [EMAIL PROTECTED]
  http://www.freeamp.org/mailman/listinfo/freeamp-dev





___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Playlist Ideas: karma?

1999-11-09 Thread Mayhem Chaos Coordinator

Any progress on this yet? Are you still considering it?


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Scott Scriven [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, October 18, 1999 11:09 PM
Subject: Re: Playlist Ideas: karma?


 On Wed, 13 Oct 1999, Mayhem  Chaos Coordinator wrote:

  I really like your ideas, and I've considered toying with just
  those concepts. And one of these days when I get more time on
  my hands, I will do just that. However, my tool of choice
  would not be FreeAmp -- it would be my networked MP3 jukebox
  Obsequieum. The jukebox uses MySQL to store all the meta data,
  which would make it easy to add your 'karma' table to the
  system.

 Hmm...  Looks nice.

 Since the original post, I realized I can use this for my AI
 research paper, so I think I'm going to create a mp3 control
 system.  If it works well, feel free to add it into Obsequieum.
 It will probably just be a perl or tcl/tk or python script,
 with some sort of simple GUI and database access.
 :)

 Anyway, I'd love ideas for inputs to the system.  So far I
 have...

  - "karma" points (user's musical preference)
  - file access dates (older is better)
  - file creation dates (newer is better)
  - time of day (slow down at night?)
  - relative song position (song X sounds good after song Y, but
clashes with song Z, etc...)
  - play history (karma points over time may average into a
better value than raw points)

 With any luck, I'll be able to convince a neural net to merge
 all these things into a somewhat intelligent decision about
 what to play next.  At this point, though, I still have to
 figure out if I can make it work at all...


  _  _ _  _ ___ ___  "Use the source, Luke!"-
 ( \/ ( \/ (__ (__ ) | Scott Scriven (Toy Keeper / XYZZ)|
  \  / \  /  //  //  |   mailto:[EMAIL PROTECTED]  |
  /  \ / /  file://_ file://_  | irc:serdevian.dyn.omnipotent.net |
 (_/\_(_/  (___(___) |  http://www.vis.colostate.edu/~scriven/  |




Play/Plause/PlayPause in theme ui

1999-11-08 Thread Mayhem Chaos Coordinator

Elrod and Jason suggested that we rename the Play button to PlayPause and
the IPlay and IPause buttons to Play and Pause. This makes a bit more
sense -- so Gabor and Valters, make sure that in the future you use
PlayPause insteat of just Play. Also, Valters, I've already updated your
theme in CVS.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert



Re: misc.c

1999-11-02 Thread Mayhem Chaos Coordinator

Have you tried doing a cvs update -d?? That should pull down all new files
too...


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert



Re: BRANDING (logo button)

1999-10-31 Thread Mayhem Chaos Coordinator

Ok, I can see that. In the next CVS update, the Logo ButtonControl can now
have
a  URL attribute.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Valters Vingolds [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Sunday, October 31, 1999 5:49 AM
Subject: BRANDING (logo button)


 while I think LOGO button is great idea, in my opinion it is wrong
 to make it to go only to BRANDING_URL site.

 I think skin's creator should be able to set which url his LOGO button
 goes - well, it's quite intuitive that it should point to his (skin's
 creators) webpage - for user to check for skin updates, etc.

 for example - emusic bands could create their own freeamp skins that
 advertise their web presence :)


 --
 Valters "WaTT" Vingolds
 : Well, now we have to learn to think of ourselves as of a product.




Re: (to robert) win32 patch for tooltip support

1999-10-31 Thread Mayhem Chaos Coordinator

 I created a defect #191 in Bugzilla, attached the patch. Please see if you
 can accept it.

I just accepted it and it builds fine, but I just don't see any tooltips.
:-( I will check this stuff in within a few hours. Could you please check to
see that I applied the patch correctly?

 There is something that bothers me. (Added defect into bugzilla #195)
 Multi-control Desc strings are actually manipulated by player behind that
 creator's back.

They are? How?

 I think skin designer should be able to specify Desc and Tip for each
state
 on his own.
 Maybe like this:

I gotta agree on this one too. I'll look into it...


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert



Re: dumb windows question

1999-10-31 Thread Mayhem Chaos Coordinator

Check out GetROP2(). You want R2_XORPEN.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message - 
From: Mark B. Elrod [EMAIL PROTECTED]
To: FreeAmp Developer List [EMAIL PROTECTED]
Sent: Sunday, October 31, 1999 5:47 PM
Subject: dumb windows question


 i cannot remember how to do something under windows. i hope someone out
 there does. you know how when you grab a splitter (like in explorer) it
 inverts the background with a pattern and follows the mouse until you
 release the mouse button? how do you get it to draw that inverted line?
 i know this is so simple yet i can't recall how it is done.
 
 help!
 
 elrod
 



Re: Fwd: Re: musicbrowser, metadata

1999-10-23 Thread Mayhem Chaos Coordinator

 I'm pretty sure that's all winamp does, too.  But it still plays.  :)
I've
 posted a slightly more informative report to bugzilla, along with a link
to a
 file that has an offending tag.

Perfect -- I'll get it taken care of before we release 2.0 on November 15th.

  I don't remember why we made the decision not to use the id3lib stuff,
  and roll our own.  It may have been because we originally had the
  philosophy that we were trying to avoid users having to get 57
  not-commonly-installed libraries before they could compile (this is

That was one of the reasons, but more importantly I tried to run the id3v2
code on linux about a year ago with dismal results. Just before I wrote the
cheese-ass-let's-read-only-the-most-crucial-T-tags-id3v2-read-only
implementation I checked the website for an update and was pointed to
MusicMatch, where I could find no mention of an updated library. We would
very much like to have full read/write ID3v2 capabilities in FreeAmp, and if
you can provide us with a comprehensive library that runs under Linux I'd be
more than glad to incorporate it into FreeAmp. Any chances of this happening
in the next week? :-)

 Well, the id3v2 development has been stagnant for almost a year, at least
 according to the id3.org site and the date of the last id3lib update.  As
 mentioned previously, it seems that musicmatch has taken over the id3lib
 project, but I haven't been able to find anything on their site that
mentions
 continued development with the library.  This itch is a particularly
important
 one to me, as I have quite a few songs with large id3v2 tags and no linux
 player (to my knowledge) that plays them correctly.  I'll continue hacking
 id3lib to make it usable in linux, and if anyone decides that using id3lib
in
 freeamp would be a good idea, I'd be glad to help with this effort.

soapboxbrutalhonesty

Do you have a vested interest in ID3v2? Personally, I cannot stand ID3v2.
Its obfuscated, too complicated and it tries to save every last possible bit
of space at the expense of ease of implemtation. (I have written a complete
ID3v2 library in Perl, so I *know*)

We could do this much easier with XML. It could be much more powerful and
the only ID3v2 code we would have to write it code to translate the existing
tags to the XML format. I've even got a rough draft of a proposed
replacement for ID3v2 using XML. I really think it would be worth it for us
to consider doing this. We can have all the features of ID3v2 and a ton more
with a lot of flexibility, with much less code to write. A good standards
document (RFC?) and a bare minimum of code and an XML parser. (And half a
tank of gas)

Anyone interested?

/brutalhonesty/soapbox

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert



Re: musicbrowser, metadata

1999-10-22 Thread Mayhem Chaos Coordinator

There are a few reasons for this:

1) The ID3 (version 1) tag cannot store enough of the information we want to
store. Plus it limits the artist, title and album fields to 30 characters
which is inadequate.
2) It is faster to access this data when it is stored in a central location
such as a database.

This allow us to present the user with a nice music tree quickly.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Gabor Fleischer [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, October 22, 1999 2:28 PM
Subject: Re: musicbrowser, metadata


 On Fri, 22 Oct 1999, Mayhem  Chaos Coordinator wrote:
  MetaData is the data associated with the music. Artist, Album, Track
name
  and all those things are considered meta data.
 I see. But why are they in another file? I mean there;s the tag in evry
 mp3.

 Flocsy

 Gabor Fleischer
 MAILTO: [EMAIL PROTECTED]   URL: http://www.mtesz.hu/~flocsy
 SMS: [EMAIL PROTECTED]   ICQ UIN: 27733935




Re: musicbrowser-linux does not add tracks, default ui

1999-10-20 Thread Mayhem Chaos Coordinator

 Hrm..  after I do a make install, the ThemePath preference points to the
theme
 in /usr/local/share/freeamp/themes.

Ok, but I was referring to running FreeAmp before installing it. If you run
it from the build dir you should be able to get the 2.0 version running,
without having to overwrite any previous 1.3.x release. No?

 Also, could you see if the symlink stuff is fixed on your box?  It
shouldn't be
 following them at all now...

Ahh yes. Its fixed. Works like a charm. Couldn't load any playlists... :-)

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert



Re: Compile Error in Beta 1 Win32 Code

1999-10-20 Thread Mayhem Chaos Coordinator

 FreeAmpUI / Win32Bitmap.cpp, Line 183:
 
 hSaved = SelectObject(hMemDC, m_hMaskBitmap);
 
 should be casted like so:
 
 hSaved = (HBITMAP)SelectObject(hMemDC, m_hMaskBitmap);

Ok, thats fixed in my code. That should make its way to CVS later today.

 Rainplay would not compile at all.

Is it time to remove rainplay from the project? Elrod?

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert



Re: linux patches for 2.0

1999-10-20 Thread Mayhem Chaos Coordinator

Isaac, can you apply these patches? I'm still stuck in windows hell. :-(

1. It was a lot of time for me to get the theme.xml's things out from the
code. There should be a howto for it!

There will be! However, I need to finish up a few other things before I can
write the Howto. Maybe early next week.

2. Is it possible in the not so far future to make some features in the
xml format? This is what I'd need: Somehow I need to tell freeamp, that
the buttons I us (from the winamp skin) are not in horizontal, but
vertical order.
It could be like: ButtonControl Name="n" Direction="Vertical"

Yes, that's possible, but no I won't have time to do it. Its not all that
tough -- go to Control.cpp and look for BlitFrame() that function blits a
frame from a control onto a canvas. No rocket science here. Take that
function and create a vertical version of it.

In the XML it would be best to specify it like this:

ControlBitmap Rect="0,34,127,67" Name="Buttons" Style="Vert"/

Making the XML changes for this is trivial. If you create the
BlitFrameVertical() and have the ButtonControl::ButtonControl() take a bool
bVertical argument, which is used to either call BlitFrame() or
BlitFrameVertical() then I will make the xml changes and accept the patch.

3. Does anyone know how to make something like ButtonControl, but without
pressing. Something like ControlLabel.

Something that looks more like a button, but you can't click on it? Does it
have static text or a bitmap in it? I'm not quite certain what you're out
for. However, it is easy to create controls -- the controls are finite state
machine, and the control defines which states it uses and which transitions
it wants to know about. Then the control needs to listen to the transition
and take the proper blttting or text drawing action in response to the state
change. Once you grok what's going on its easy. I think this is one of the
things that allowed me to write this theme interface so quickly...

4. Generally what is the format of the Rect-s? "x1,y1,x2,y2" or
"x1,y1,lx,ly"

x1,y2,x2,y2, where x2 and y2 are inclusive.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Gabor Fleischer [EMAIL PROTECTED]
To: Freeamp Development List [EMAIL PROTECTED]
Sent: Wednesday, October 20, 1999 2:45 PM
Subject: linux patches for 2.0


Hi!

These are 2 little patches.
1st is because it didn't find my themes, because if it did not find
themes at the first place it looked for, it stoped to look at the other
places. Now it goes on.

2nd is because I'm working on a WinAmp Theme, in wich I use ChangeWindow.
The old one always put the new window to (0,0). Now it puts to the right
place.

And some questions:
1. It was a lot of time for me to get the theme.xml's things out from the
code. There should be a howto for it!

2. Is it possible in the not so far future to make some features in the
xml format? This is what I'd need: Somehow I need to tell freeamp, that
the buttons I us (from the winamp skin) are not in horizontal, but
vertical order.
It could be like: ButtonControl Name="n" Direction="Vertical"

Or the best would be if it's more general! For example:
Controls DefaultDirection="V" First="Normal" Second="Pressed"
This way people could use skins where isn't button for OnMousOver.

3. Does anyone know how to make something like ButtonControl, but without
pressing. Something like ControlLabel.

4. Generally what is the format of the Rect-s? "x1,y1,x2,y2" or
"x1,y1,lx,ly"

Flcsy

URL: http://flocsy.spedia.net   MAIL:[EMAIL PROTECTED]
SMS: [EMAIL PROTECTED] ICQ:27733935
Ha meg szeretnd tudni hogyan kereshetsz bngszs kzben egy kis zsebpnzt:
http://www.spedia.net/cgi-bin/dir/tz.cgi?run=show_svcfl=8vid=119891




Re: Playlist Ideas: karma?

1999-10-13 Thread Mayhem Chaos Coordinator

I really like your ideas, and I've considered toying with just those
concepts. And one of these days when I get more time on my hands, I will do
just that. However, my tool of choice would not be FreeAmp -- it would be my
networked MP3 jukebox Obsequieum. The jukebox uses MySQL to store all the
meta data, which would make it easy to add your 'karma' table to the system.

Check out http://obs.freeamp.org for details on this.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Scott Scriven [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, October 13, 1999 9:35 AM
Subject: Playlist Ideas: karma?


 Hi.

 As my music collection grows, I've begun to recognize the
 usefulness of playlists and other types of song list data...

 So, instead of my usual "put the entire collection on random
 play", I had a few ideas about how to organize and manage
 playlists better.

 It seems that it's always enjoyable to hear songs you haven't
 heard in a while, and also hear songs that you like.  But it's
 not so nice to hear things you don't like much, or songs which
 have been playing a lot lately.

 For the bit about hearing songs which haven't played recently,
 I found a solution.  It just sorts songs by access date, and
 plays the oldest ones first:

 /bin/ls --color=none -utr `find $HOME/mp3/songs -type f` | \
 xargs -n 256 freeamp


 But it seems it would also be good if songs could be
 automatically rated so that the favorite songs would be played
 more often than less-liked songs.  I have done this before by
 placing songs in various directories that indicate "how many
 stars" the song deserves.  But this is not very practical when
 trying to keep songs grouped by artist and album.

 So, what if Freeamp kept a song database which stored
 information such as "karma", and used this database to decide
 what to play?  Every time you hear a song you like, bump up its
 karma, and every time you hear a song which you're not too fond
 of, decrease its karma.  This would essentially keep track of
 what you like, and be able to let you hear what you want.

 To keep "karma points" fair between new and old songs, and to
 take care of things which you get sick of after a while, the
 actual karma value could take other factors into account too.
 Say, something which balances the total karma points a song has
 received with its average points-per-play and its most recent
 point history.  This would give high ratings to songs you have
 liked for a long time and also to new songs which are also good.


 :)

  _  _ _  _ ___ ___  "Use the source, Luke!"-
 ( \/ ( \/ (__ (__ ) | Scott Scriven (Toy Keeper / XYZZ)|
  \  / \  /  //  //  |   mailto:[EMAIL PROTECTED]  |
  /  \ / /  file://_ file://_  | irc:serdevian.dyn.omnipotent.net |
 (_/\_(_/  (___(___) |  http://www.vis.colostate.edu/~scriven/  |




Re: spectrum analyser

1999-10-09 Thread Mayhem Chaos Coordinator

Rainplay also did it in a pretty kludgey way -- for the release after next
we plan on redoing the audio pipeline in a very modular fashion which should
allow us to easily create spectrum analyzers...


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Valters Vingolds [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, October 08, 1999 4:59 PM
Subject: Re: spectrum analyser


 Rainplay has it.
 Oh, but rainplay is kinda undersupported and obsolete... but
 still, look how it does that.

 You'll need to dig around quite a bit to understand how it works, but
 that's about the price you pay.

 At 16:06 10/8/99 -0300, you wrote:
 
 hi all,
 
 does freeamp support graphical spectrum analyser, VU-meter,
 or someting like that?
 if so, how can i implement it in my UI plugin?
 
 thanks,
 
 --
 Rodolfo Borges [[EMAIL PROTECTED]]
 
 --
 Valters "WaTT" Vingolds




Re: sigh.

1999-10-08 Thread Mayhem Chaos Coordinator

 Does any of this crap show up in linux, particularly the x86 flavors?

Yes. I have not had any luck getting the current source to compile. I've
seen most of the problems you're describing. As a matter of fact the problem
you had with/near ParseColor is pretty close to the problem that I saw when
I was running the code under MSVC6.0.

Lemme comb over that function again to make sure there is nothing stange
going on.

But, yes, I've seen these problems before. At first I thought it was a
config issue on my machine, but now that does not seem to be the case. Yeah.

Have you tried gcc 2.95-pre2? I think that is what Isaac is running


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Tom Spindler [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, October 08, 1999 3:23 PM
Subject: sigh.


 Well, it looks like there are some rather nasty lurking bugs in
 gcc-2.95.1; bugs that popped up when things were compiled with -O2 went
 away when compiled with -O; I'm beginning to suspect that the alias
 analysis code is a bit stricter than a lot of programmers out there.

 Anyway, I was getting crashes in code Theme.cpp in ParseColor, when
 I inserted the extra lines (@845)

 char *foo = oColorstring.c_str();
 printf("colors: %s; ocolor: %lx", foo, oColor);

 And then the crashing stopped; unfortunately, the printf never showed
 itself, and the crash has occured deeper in the code in GTK/glib land:

 (gdb) bt
 #0  0xff2fdd74 in XGetWindowAttributes () from
/usr/openwin/lib/libX11.so.4
 #1  0xfe3dcae8 in gdk_window_foreign_new (anid=0) at gdkwindow.c:508
 #2  0xfe2ce478 in GTKBitmap::GTKBitmap (this=0x171198, oName=@0x99a9c)
 at ui/theme/unix/src/GTKBitmap.cpp:59
 #3  0xfe2a2294 in Theme::BeginElement (this=0x16d2c4,
oElement=@0xffbe34f0,
 oAttrMap=@0xffbe33f0) at ui/theme/src/Theme.cpp:296
 #4  0x4ff94 in Parse::DoParse (this=0x16d2c4) at lib/xml/src/Parse.cpp:225
 #5  0x4efcc in Parse::ParseFile (this=0x16d2c4, oFile=@0xffbe38d0)
 at lib/xml/src/Parse.cpp:61
 #6  0xfe2a0748 in Theme::LoadTheme (this=0x16d2c4, oFile=@0xffbe3b08)
 at ui/theme/src/Theme.cpp:155
 #7  0xfe2c0254 in FreeAmpTheme::LoadFreeAmpTheme (this=0x16d2c0)
 at ui/theme/src/FreeAmpTheme.cpp:151
 #8  0xfe2bfb10 in FreeAmpTheme::FreeAmpTheme (this=0x16d2c0,
context=0x966f0)
 at ui/theme/src/FreeAmpTheme.cpp:83
 #9  0xfe2bf72c in Initialize (context=0x966f0)
 at ui/theme/src/FreeAmpTheme.cpp:59
 #10 0x3243c in Player::Run (this=0x98708) at base/src/player.cpp:645
 #11 0x49508 in main (argc=709, argv=0xffbe3f44)
 at base/unix/src/bootstrap.cpp:132

 the last bit of code that's in freeamp proper is frame #3,

 #3  0xfe2a2294 in Theme::BeginElement (this=0x16d2c4,
oElement=@0xffbe34f0,
 oAttrMap=@0xffbe33f0) at ui/theme/src/Theme.cpp:296
 296pBitmap = new GTKBitmap(oAttrMap["Name"]);

 Which isn't inspiring confidence in me.

 At this point, I'm thinking of trying the egcs-current source, and
 seeing if those mollify any bugs; it looks like the bleeding-edge
 template stuff is causing gcc (or me, for that matter) to not be a
 Happy Boy. (The fact that linkage problems mysteriously go away
 with -fsquangle do not fill me with joy, either.)






ParseColor -- potential problem

1999-10-08 Thread Mayhem Chaos Coordinator

I think I may have found a potential problem in ParseColor. I cannot
currently check the mods in -- I'm in the middle of doing a ton of other
things. However, try replacing the function in Theme.cpp with this function:

Error Theme::ParseColor(string oColorstring, Color oColor)
{
int iRet;
int iRed, iGreen, iBlue;

iRet = sscanf(oColorstring.c_str(), "#%02X%02X%02X",
  iRed, iGreen, iBlue);

if (iRet == 3)
{
oColor.red = iRed;
oColor.green = iGreen;
oColor.blue = iBlue;
return kError_NoErr;
}

return kError_InvalidParam;
}

I think that passing 3 unsigned chars to sscanf when parsing a %X may not be
valid and result in two bytes on the heap getting trashed. This rev of the
function passes three int and then manually converts them over after the
scanf. I'll check this code in later on in any case, just to be sure.

Let me know if this helps.

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert



Re: volume gets lost

1999-10-07 Thread Mayhem Chaos Coordinator

I just fixed all that crap -- it will be in the next commit. Possibly later
today, maybe tomorrow.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Valters Vingolds [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, October 07, 1999 3:02 PM
Subject: volume gets lost


 Well, it really looks like volume is always reset to zero!
 (When starting to play,changing song, etc).
 I do win98, as usually...


 I offer this here patch for
 io/soundcard/win32/soundcardpmo.cpp
 == cut ==
 163a164,165
 if(!m_iLastVolume) m_iLastVolume=GetVolume();
 
 196,198c198
 waveOutSetVolume(m_hwo,
  MAKELPARAM( 0x*m_iLastVolume/100,
  0x*m_iLastVolume/100));
 ---
 SetVolume(m_iLastVolume);
 == cut ==

 This seems to fix the symptoms (well, I'm not entirely sure if I'm doing
 right thing, but this seems to do the trick...)
 Please, verify.


 But then there is another problem:

 void SoundCardPMO::SetVolume(int32 volume)
 {
// When we begin playing the volume does not get set properly.
// In order to work around that, we'll save the last volume
// settting and then set the volume on the stream after we open
// the stream in init.
waveOutSetVolume(   (HWAVEOUT)WAVE_MAPPER,
 MAKELPARAM( 0x*volume/100,
 0x*volume/100));
m_iLastVolume = volume;
 }

 int32 SoundCardPMO::GetVolume()
 {
 int32 volume = 0;

 waveOutGetVolume((HWAVEOUT)WAVE_MAPPER, (DWORD*)volume);
 (!)volume = (int32)(100 * ((float)LOWORD(volume)/(float)0x));

 return volume;
 }


 These volume (slowly) deteriorates when calling these two.
 I think it is because marked (!) line makes it lose precision and
decrease.

 I can't think of a way how to stop that, currently - maybe you can do it
 better?
 --
 Valters "WaTT" Vingolds




Re: theme.ui architecture

1999-10-07 Thread Mayhem Chaos Coordinator

 I was toying with UI other day, wanted to implement drag'n'drop
functionality.
 I quickly cut'n'pasted code from freeampUI to Theme's Win32Window.h/cpp,
so
 the window started to accept WM_DROPFILES.

 But then I even quicker got frustrated to death, could not figure out how
 to get the filenames to PLM. Spent time looking at class hierarchy and
 could not see a way (well, I'm not speaking inherited virtual functions
and
 other wacky C++ encapsulation/data hiding stuff very fluently). Can you
 think of something?

That's still on our todo list -- don't worry about it. As you found out its
not a trivial task due to some weird windows circumstances.

 Else, I think theme.ui is too damn complex. I think I'll want to draw a
 hierarchy diagram.

I've seen worse. :-)

The way the UI is brought up initially is too complex, and I will be
revamping that code to make the apply button in the config dialog work.
Other than that, I'm pretty happy with how things are organized, given that
this thing has to work on multiple platforms that have little GUI structure
in common.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert



Re: UI not showing up under 95/98 fixed!

1999-10-07 Thread Mayhem Chaos Coordinator

 I just added the seek-bar. Tell me - are vertical sliders supported yet?

No -- and I won't get around to that before the initial release. However, it
should not be too tough to take the existing slider and make a VSlider. (And
rename the existing slider to HSlider)
If you want to do that and send me the code, I'll make sure it gets into the
release.

 I think I'd like use one for volume changing - but not in the base window,
 I don't want to clutter that minimalistic look.

I know what you mean -- I've got a minimalistic theme myself...

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert



Re: theme rulez on linux!

1999-10-06 Thread Mayhem Chaos Coordinator

 1. (I think this is not just the ui, but the base) Volume doesn't save.
   I always have to adjust it from 0. It's annoying. We should save the
   last volume in preferences, or not change it, and use the settings when
   freeamp is started.

Yeah, we've heard that a few times -- I've changed things so that now the
user cannot change the volume until a piece of media is loaded. This
*should* fix that problem.

 1b. Why does volume go down to 1/3 when I press prev or next song
button???

That's a new one to me. You're not pressing the + or - buttons are you?
Those are for adjusting the volume...

--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert



Re: where to install theme files to?

1999-10-04 Thread Mayhem Chaos Coordinator

Not hard, but given the sheer number of other things that need to get
done -- unlikely. :-(


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Mark B. Elrod [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, October 04, 1999 11:03 AM
Subject: Re: where to install theme files to?


 heh... ok so if we do that how hard would it be for us to add a theme
browser to
 the prefs? something that scaled down the bitmap fot the main window and
blitted
 it?

 elrod

 Mayhem  Chaos Coordinator wrote:

  Well, if we make it so that the user needs to 'import' a theme then the
user
  would need to import the updated theme, before it became active.
 
  --ruaok Freezerburn! All else is only icing. -- Soul Coughing
 
  Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
  - Original Message -
  From: Mark B. Elrod [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Monday, October 04, 1999 10:57 AM
  Subject: Re: where to install theme files to?
 
   i like option 2 as well. the only downside is that if a user gets an
  updated
   theme with the same name we might not recognize it unless they know to
  delete
   the folder it has been expanded to. how can we get around that?
  
   elrod
  
   Mayhem  Chaos Coordinator wrote:
  
Sounds good to me.
   
I've got a follow up question to that: When and where to theme files
get
decompressed to? I see two reasonable options here:
   
1) When FreeAmp starts, it figures out what theme it needs and
  decompresses
it into /tmp/freeamp-$pid/theme (or X:\windows\temp\theme). When
FreeAmp
closes the files get cleaned up. Pro: Less wasted disk space Con:
Slower
startup time
2) When the user selects a new theme the theme is decompressed into
~/.freeamp/theme (or X:\Program Files\FreeAmp\themes\themename and
it
  run
from there. The themes are never cleaned from the drive unless the
user
requests it. Pro: Faster startup Con: Wasted disk space
   
I think I prefer option #2.
   
--ruaok Freezerburn! All else is only icing. -- Soul
Coughing
   
Robert Kaye -- [EMAIL PROTECTED]
http://moon.eorbit.net/~robert
- Original Message -
From: Isaac Richards [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Saturday, October 02, 1999 7:13 PM
Subject: where to install theme files to?
   
 So, I was thinking we need to install our default theme
somewhere..
Anything
 wrong with $prefix/share/freeamp/themes/default?  Any better
  alternatives?

 Isaac