FreeAmp becomes Zinf!

2002-06-24 Thread Robert Kaye

Hey!

Since EMusic is getting wrapped into mp3.com, the machine that FreeAmp
is being hosted on will be going away soon. Furthermore, the lovely
folks at Play Media have been excercising their trademark of the word
AMP, and forcing EMusic to make FreeAmp go away or change its name.

Lame.

Given these two events, I've moved the FreeAmp source code into a new
project over at SourceForge called Zinf. Why Zinf?

  Zinf: Zinf is not FreeA*p!

Plus Google spit out next to nothing for a search on Zinf, and the
domain was available. So, the new home of the old FreeAmp codebase will
now live on:

  http://www.zinf.org

I have applied a few patches, fixed a couple of bugs, changed the name,
removed the Bitzi/MusicBrainz/Relatable stuff that wasn't really working
anyway, and slimmed down the codebase a bit. I've made a new release of
the player, version 2.2.0:

  http://prdownloads.sourceforge.net/zinf/zinf-2.2.0.exe
  http://prdownloads.sourceforge.net/zinf/zinf-2.2.0.tar.gz


I think Zinf should be a no-frills, but solid and useful audio player
for Windows and Linux. However, I spend so much of my time working on
MusicBrainz, that I have little to no time to work on Zinf. I think it
would be a shame to see Zinf just fade away, so I'd like to encourage
people to help out and become part of the project.

For anyone that who would be interested in taking the lead on Zinf,
getting CVS write access, or otherwise help keep the project going, go
to SourceForge, get a login and drop me a line -- I'll give you access
to the codebase.

-- 

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

Robert Kaye   --[EMAIL PROTECTED]   --   http://www.mayhem-chaos.net

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



re: FreeAmp plugin.

2002-05-21 Thread Robert Hart

If you download the freeamp source, the lcd plugin code is in ui/lcd
There doesn't seem to be any VC project files, so I guess that means it
won't get built under windows.

I can't really say how difficult it would be to build it on windows, but I
don't see it being too difficult.

Rob

On Tue, 21 May 2002, Mark Gillespie wrote:

 Does the latest Win32 port of freeamp have the lcdproc plugin built in?  I
 does not get listed.  Do I have to get that from somewhere?  I have found a
 NT port of the lcdproc, which looks suitable, I just need freeamp to talk to
 the lcdproc server.
 
 Thanks.
 
 
 
 
 ___
 [EMAIL PROTECTED]
 http://www.freeamp.org/mailman/listinfo/freeamp-dev
 

-- 
 \  Robert Hart
   ___\__   [EMAIL PROTECTED]
  /   ^\_]==]   http://www.nott.ac.uk/~enxrah
 [##\_
/ ___ \ 15 Benington Drive
\/{oOOOo}\/ Wollaton
  \o%%%o/   Nottingham
   ~NG8 2TF

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



Re: FreeAmp plugin

2002-05-20 Thread Robert Hart

On Mon, 20 May 2002, Mark Gillespie wrote:

 I seem to remember in the dim and distant past, when I looked at freeamp,
 there was a plugin that drove a LCD display, or outputted the display info
 via a serial port.
 
 Anyone know where I can get this? Is it still compatible with freeamp?  I'll
 also be looking for some kind of method to control FreeAmp remotly also (
 not sure on this one yet, as there is only 1 serial port on the board).

You may want to look at:
http://lcdproc.omnipotent.net/

AFAIK the freeamp plugin uses lcdproc to control a display. Some of the
displays that lcdproc can talk to include buttons. I've never used either
the freeamp plugin or a display with buttons, so I can't comment beyond
that.

Rob

-- 

   \\\|///
 \\  - -  //
  (  @ @  )
+---oOOo-(_)-oOOo+
| Robert Hart|
| [EMAIL PROTECTED]  |
| http://www.nott.ac.uk/ |
|   ooo0   ~enxrah   |
|  ()   0ooo |
+---\  ((   )+
 \_) ) /
(_/

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



Re: freeamp cvs taking 60MB

2002-04-16 Thread Robert Kaye

On Fri, 2002-03-29 at 12:49, Ed Sweetman wrote:
 Yup. that fixes the bug.  

Thanks! I verified the bug and I'm going to check that code into CVS
when the server comes back alive. :-(

-- 

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

Robert Kaye   --[EMAIL PROTECTED]   --   http://www.mayhem-chaos.net

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



Re: play immediately patch

2002-04-16 Thread Robert Kaye

On Sun, 2002-04-14 at 10:05, Ed Sweetman wrote:
 This fixes the option to queue files instead of playing them immediately
 on starting freeamp.  It now does what it says it should do instead of
 playing immediately all the time.

Looks good. I'll commit it tomorrow.

-- 

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

Robert Kaye   --[EMAIL PROTECTED]   --   http://www.mayhem-chaos.net

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



Re: autoconf, automake, etc.

2002-03-27 Thread Robert Hart

On Wed, 27 Mar 2002, F. Heitkamp wrote:

 I downloaded version 2.1.1 from the freeamp
 page and it compiled and installed OK.
 I could not get it to play any MP3s because
 it kept saying the audio device is busy.
 There was a message on either the dxr3 or
 xine mailing list about a problem like this.
 I'll see if I can find the message.

Are you using the [default?] soundcard output plugin?

Maybe the message audio device is busy means that the audio device is
busy. If you have esd running (i.e if you are using gnome) then you should
select the esound output plugin. esd allows several programs to use the
soundcard at once.

The alternative is to stop whatever is using /dev/dsp before playing.
(if it's esd use esdctl off and esdctl on to temporarily disable it)

If you use kde, then artsd is the equivalent of esd. I don't know much
about it.

Rob


-- 
    _
   _. /  \  _.-'_.-'
;=',_   _ \  _\/   _/
   S .--` |  Robert Hart|  ___)/   __
  sS  \__  |  15 Benington Drive | '-;:\_  _\
   __.' ( \-- |  Nottingham | '; \_\
_=/_./-\/  |  [EMAIL PROTECTED]  |  /-,\
   ((\( /-'   -'l  |_|`  |_\
) |/ \\
   \\  \http://www.nott.ac.uk/~enxrah
`~ `~



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



Re: playlist advance

2002-03-21 Thread Robert Hart

On Tue, 12 Mar 2002, Stephen Soltesz wrote:

 After a song has finished playing, normally the next in the playlist is 
 queued and begun.  Is there a way to prevent this default behavior?  XMMS 
 calls this feature 'No Playlist Advance'?  I could not find a similar control 
 in freeamp.  Did I miss it?

There is no way to do this in freeamp currently. I suspect that if you
wanted to, the feature you want could be easily coded, however you would
also have to integrate it with the user interface(s) as well.

Rob


-- 
  __  _  __  ___  __ ___
 |_/ | | |_] |__ |_/|   
 |\_ |_| |_] |__ |\_|   

 _ _ ___  __ ___
 |_| |_| |_/|   
 | | | | |\_|   

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



Re: problems with freeamp and alsa

2002-02-11 Thread Robert Kaye

On Mon, 2002-02-11 at 15:22, Ed Sweetman wrote:
 Since before when I mentioned that Freeamp has problems playing vorbis
 files when using OSS emu in also 0.9x and nobody mentioned having the

Speaking of ALSA, I tried to upgrade the alsa plugin to 0.9.x and I
found no documentation on the subject (nothing meaningful, anyway) and
the sample applications that use the new mixer interface aren't much
help in deciphering the mixer interface. 

Anybody have a clue where to find some good docs?

-- 

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

Robert Kaye   --[EMAIL PROTECTED]   --   http://www.mayhem-chaos.net

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



Re: Play CD from command line

2002-01-09 Thread Robert Hart


I believe that 

freeamp -ui freeampcmd file://1.cda

will play track one.

It seems abit of a kludge if you ask me. Anybody know what happens if you
have more than one cd drive?

Also on my debian box it only seems to play the first few seconds of any
track, and then quits.

Rob

On Wed, 9 Jan 2002, Jeff Siddall wrote:

 I've got freeamp installed and working fine on my RH7.2 system.  I'd 
 like to play audio CDs in using the command line
 UI called from a shell script, but the docs don't seem to cover the 
 freeampcmd.ui at all.  I tried passing /dev/cdrom as the
 playlist, but no go.  What else should I be doing?
 
 Also, anyone know how to send email to [EMAIL PROTECTED]?  When I send, 
 it bounces with:
 
 550 [EMAIL PROTECTED] Host unknown (Name server: gold.liquidmetal.com.: 
host not found)
 
 Jeff
 
 ___
 [EMAIL PROTECTED]
 http://www.freeamp.org/mailman/listinfo/freeamp-dev
 

-- 
   _
  //\   Robert Hart
 //  \  [EMAIL PROTECTED]
//\ http://www.nott.ac.uk/~enxrah
   //  /\  \  
  //  /  \  \   15 Benington Drive
 //  /\   \  \  Wollaton
//  /  \   \  \ Nottingham
   //__/\   \  \NG8 2TF
  /  \   \  \
 /\   \  \  0115 9283660
 \_\ /

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



Re: debug output?

2001-12-09 Thread Robert Hart

If you haven't done so already it might be worth removing your .freeamp
folder. I've found that can help.

Rob

-- 

   \\\|///
 \\  - -  //
  (  @ @  )
+---oOOo-(_)-oOOo+
| Robert Hart|
| [EMAIL PROTECTED]  |
| http://www.nott.ac.uk/ |
|   ooo0   ~enxrah   |
|  ()   0ooo |
+---\  ((   )+
 \_) ) /
(_/

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



Re: FreeAmp 2.1.1 Windows test build

2001-10-31 Thread Robert Kaye

Paul seyz:
 Hmm... seems ok, except it looks like it was built with debug DLLs... it
 pops up two errors looking for the VC++ 'D' DLLs... other than that,
 seems good.

Happens everytime. Sigh. I put up another build that should hopefully take
care of this problem.
Please download the latest installer again:

http://www.freeamp.org/~robert/FreeAmpSetup_2_1_1.exe

Thanks for checking it out!

--ruaok

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



Re: cli interface?

2001-04-30 Thread Robert Hart

There are several command line interfaces:
e.g.

freeamp -ui freeampcmd.ui files

freeamp -ui mpg123 files

freeamp -ui ncurses files

Of course, none of these exist under windows. Unfortunately they lack most of
the features of the graphical interface. It would be nice to see My Music appear
in the ncurses ui.

Rob


On Mon, 30 Apr 2001, Dan Maker wrote:

-Hi Developers,
-
-From what I've been able to find in the documentation there is no
-command line only interface to freeamp. I'd like an mpg123 type cli,
-play a single file and exit. Is there a way to do this with freeamp?
-If not are there any plans to add such a feature?
-
-Thanks,
-Dan
-___
-[EMAIL PROTECTED]
-http://www.freeamp.org/mailman/listinfo/freeamp-dev
-

 __ ____ ___  __   
|   __ \.-.|  |--.-..|  |_  |   |   |.---.-..|  |_ 
|  |  _  ||  _  |  -__|   _||   _| |   ||  _  |   _||   _|
|___|__||_||_|_|__|  || |___|___||___._|__|  ||
   



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



Re: Track numbers for MP3s

2001-03-13 Thread Robert Woodcock

On Mon, Mar 12, 2001 at 10:23:30PM -0800, Colin Marquardt wrote:
 I have a lot of ripped CDs where the MP3s are named like
 01_Trackname.mp3. Of course, ID3v1 has no field to store this track
 number

ID3v1.1 does (see http://www.id3.org/id3v1.html).

There's not much of a difference over v1 - the comment field is shortened
from 30 to 28 characters and fields are null-padded instead of space-
padded. The presence of the track field is determined by checking if
the 29th character of the comment field is null, and if so, the 30th
character is the track number, an unsigned char.

id3, available at http://idea.lly.org/~rcw/id3/, is one such program that
implements v1.1.
-- 
Robert Woodcock - [EMAIL PROTECTED]
"* We used to try various strange things. Let's not."
-- seen in linux/fs/buffer.c
___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Assert Failure

2001-02-07 Thread Robert Hart

I've been getting an assertion failure in the current CVS version of freeamp
(Win32 NASM Debug)

The problem seems to be line 1136 of base/src/musiccatalog.cpp

delete [] fileExt;

Anyway, both commenting this line out, or moving it within the if block
immediately above it seem to fix the assertion failure - but I don't understand
this section of the code well enough to know what the right fix is.

Can you help me out?

Rob



 __ ____ ___  __   
|   __ \.-.|  |--.-..|  |_  |   |   |.---.-..|  |_ 
|  |  _  ||  _  |  -__|   _||   _| |   ||  _  |   _||   _|
|___|__||_||_|_|__|  || |___|___||___._|__|  ||
   



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



'Theme Improvement' patch

2001-01-24 Thread Robert Hart

Hi,

Did my `theme improvement' patch get rejected or just forgotten about? Or have
you just all gone on holiday?

Rob

p.s. I just realised that the last few patches I submitted where sent to the
wrong list. Would it be worthwhile sending them to the patches list?

 __ ____ ___  __   
|   __ \.-.|  |--.-..|  |_  |   |   |.---.-..|  |_ 
|  |  _  ||  _  |  -__|   _||   _| |   ||  _  |   _||   _|
|___|__||_||_|_|__|  || |___|___||___._|__|  ||
   



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



Re: 'Theme Improvement' patch

2001-01-24 Thread robert

On 24 Jan, Robert Hart wrote:
 Hi,
 
 Did my `theme improvement' patch get rejected or just forgotten about? 

I looked at it briefly and decided to accept it, but I haven't had the
chance to do it just yet. I'll try to get that taken care of later this
week/early next week. Sorry for the delay.

 Or have you just all gone on holiday?

Worse -- laid off. :-)

 p.s. I just realised that the last few patches I submitted where sent to the
 wrong list. Would it be worthwhile sending them to the patches list?

[EMAIL PROTECTED] is the best place to send patches.

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

Robert Kaye   --[EMAIL PROTECTED]   --   http://www.mayhem-chaos.net

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



Re: 'Theme Improvement' patch

2001-01-24 Thread Robert Hart

On Wed, 24 Jan 2001 [EMAIL PROTECTED] wrote:

-Thanks -- please do. The patch looks good to me. Robert, would you
-please also update the themehowto? Thanks!

Certainly. Is there any kind of provisional deadline for 2.1? We seem to have
been producing rc versions since I started following freeamp.

Also, am I right in thinking that there are other changes (related to winamp
themes) that are also not documented? Should I document these?

Rob

___
 __/   \__//   \__/\   Robert Hart
   _/   \_/  :   //\\  Ground Floor Flat
  /|  :  :  ..  /\ 2 Alexander Buildings
 | | :: ::  \/ Bath
 | | :| || \ \__/  BA1 6AT
 | |  _  || ||  __  |\  /  |
  \| || ||  |   / | \  [EMAIL PROTECTED]
   | ___ || ___ ||  |  / /_\ \
   |  _  ||  _  ||  __  | /  /\http://www.bath.ac.uk/~ab6rah
\___/  \___/ |  |/__/  \
 _\/\  /
/ /
   / \   /
   \__\_/

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



Re: 'Theme Improvement' patch

2001-01-24 Thread robert

 On Wed, 24 Jan 2001 [EMAIL PROTECTED] wrote:

 Certainly. Is there any kind of provisional deadline for 2.1? We seem to 
have
 been producing rc versions since I started following freeamp.

Soon -- we're just waiting for the relatable TRM stuff to stabilize before 
we do the 2.1 release. I'd say that you still have at least 1.5 weeks...

 Also, am I right in thinking that there are other changes (related to 
winamp
 themes) that are also not documented? Should I document these?

Please do...

--ruaok

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



Patch for GTK musicbrowser.

2001-01-23 Thread Robert Hart

This adds the missing year column to the GTK music browser.

Rob


 __ ____ ___  __   
|   __ \.-.|  |--.-..|  |_  |   |   |.---.-..|  |_ 
|  |  _  ||  _  |  -__|   _||   _| |   ||  _  |   _||   _|
|___|__||_||_|_|__|  || |___|___||___._|__|  ||
   




Index: ui/musicbrowser/unix/include/gtkmusicbrowser.h
===
RCS file: /src/repository/freeamp/ui/musicbrowser/unix/include/gtkmusicbrowser.h,v
retrieving revision 1.62
diff -u -d -r1.62 gtkmusicbrowser.h
--- unix/include/gtkmusicbrowser.h  2001/01/05 09:54:37 1.62
+++ unix/include/gtkmusicbrowser.h  2001/01/23 11:53:09
@@ -51,7 +51,8 @@
 kLocationColumn,
 kPositionColumn,
 kTitleColumn,
-kTimeColumn
+kTimeColumn,
+kYearColumn
 } PlaylistColumns;
 
 typedef enum {
Index:  ui/musicbrowser/unix/src/browserlist.cpp
===
RCS file: /src/repository/freeamp/ui/musicbrowser/unix/src/browserlist.cpp,v
retrieving revision 1.17
diff -u -d -r1.17 browserlist.cpp
--- unix/src/browserlist.cpp2000/10/17 10:24:05 1.17
+++ unix/src/browserlist.cpp2001/01/23 11:53:15
@@ -136,6 +136,7 @@
 char location[_MAX_PATH];
 uint32 loclength = _MAX_PATH;
 char *comment;
+   char year[10];
 char length[50];
 string empty = " ";
 
@@ -147,6 +148,10 @@
 comment = (char *)mdata.Comment().c_str();
 
 URLToFilePath((*i)-URL().c_str(), location, loclength);
+   if (mdata.Year() == 0)
+   sprintf(year, "Unknown");
+   else
+   sprintf(year,"%d", mdata.Year());
 
 if (mdata.Time() == 0)
 sprintf(length, "Unknown");
@@ -187,13 +192,16 @@
 case kTimeColumn:
 iText[i] = length;
 break;
+   case kYearColumn:
+   iText[i]  = year;
+   break;
 default:
 iText[i] = (char *)empty.c_str();
 break;
 }
 }
 
-for (uint32 count = 0; count  8; count++)
+for (uint32 count = 0; count  9; count++)
 gtk_clist_set_text(GTK_CLIST(playlistList), pos, count, iText[count]);
 }
 
@@ -368,6 +376,8 @@
 newcol = kTitleColumn;
 else if (!strcmp(token, "Time"))
 newcol = kTimeColumn;
+   else if (!strcmp(token, "Year"))
+   newcol = kYearColumn;
 else
 newcol = kEmptyColumn;
 
@@ -417,6 +427,9 @@
 case kTimeColumn:
 title = "Length"; 
 break;
+   case kYearColumn:
+   title = "Year";
+   break;
 default:
 title = " ";
 visible = false;
@@ -467,6 +480,7 @@
 uint32 loclength = _MAX_PATH;
 char *comment;
 char length[50];
+   char year[10];
 string empty = " ";
 
 sprintf(position, "%d", i + 1);
@@ -478,6 +492,11 @@
 
 URLToFilePath(item-URL().c_str(), location, loclength);
 
+   if (mdata.Year() == 0)
+   sprintf(year, "Unknown");
+   else
+   sprintf(year, "%d", mdata.Year());
+
 if (mdata.Time() == 0)
 sprintf(length, "Unknown");
 else {
@@ -516,6 +535,9 @@
 break;
 case kTimeColumn:
 iText[i] = length;
+break;
+   case kYearColumn:
+iText[i] = year;
 break;
 default:
 iText[i] = (char *)empty.c_str();



Theme Improvement.

2001-01-17 Thread Robert Hart
/freeamp/include/FreeAmpTheme.h
===
RCS file: /src/repository/freeamp/ui/freeamp/include/FreeAmpTheme.h,v
retrieving revision 1.37
diff -u -d -r1.37 FreeAmpTheme.h
--- freeamp/ui/freeamp/include/FreeAmpTheme.h   2001/01/11 22:34:08 1.37
+++ freeamp/ui/freeamp/include/FreeAmpTheme.h   2001/01/17 15:32:31
@@ -124,6 +124,8 @@
 bool m_bPaused, m_bInOptions, m_bPlayShown;
 bool m_bShowBuffers, m_bBufferingUp;
 string   m_oCurrentWindow, m_oTitle, m_oStreamInfo, m_oHeadlineUrl;
+   string   m_oArtist, m_oAlbum, m_oYear, m_oTrackNo, 
+m_oTrackName;
+   string   m_oGenre, m_oComment;
 TimeDisplayState  m_eTimeDisplayState;
 TitleDisplayState m_eTitleDisplayState;
 stringm_themeCache;
Index: freeamp/ui/freeamp/src/FreeAmpTheme.cpp
===
RCS file: /src/repository/freeamp/ui/freeamp/src/FreeAmpTheme.cpp,v
retrieving revision 1.159
diff -u -d -r1.159 FreeAmpTheme.cpp
--- freeamp/ui/freeamp/src/FreeAmpTheme.cpp 2001/01/11 22:34:08 1.159
+++ freeamp/ui/freeamp/src/FreeAmpTheme.cpp 2001/01/17 15:32:39
@@ -1931,20 +1931,80 @@
 if (pItem-GetMetaData().Artist().length()  0  
 (m_eTitleDisplayState == kNameArtist ||
  m_eTitleDisplayState == kNameArtistAlbum))
-   m_oTitle += string(" - ") + pItem-GetMetaData().Artist();
+   m_oTitle += string(" ~ ") + pItem-GetMetaData().Artist();
 
 if (pItem-GetMetaData().Album().length()  0  
  m_eTitleDisplayState == kNameArtistAlbum)
-   m_oTitle += string(" (") + pItem-GetMetaData().Album() + 
-   string(")");;
+   m_oTitle += string(" ~ ") + pItem-GetMetaData().Album();;
 
 oText = string(BRANDING": ") + m_oTitle;
 m_pWindow-SetTitle(oText);
 }
 else
 m_oTitle = "";
-
+
+   if (pItem-GetMetaData().Title().length()  0)
+   {
+   m_oTrackName = pItem-GetMetaData().Title();
+   }
+   else
+   m_oTrackName = "Unknown";
+
+   if (pItem-GetMetaData().Artist().length()  0)
+   {
+   m_oArtist = pItem-GetMetaData().Artist();
+   }
+   else
+   m_oArtist = "Unknown";
+
+   if (pItem-GetMetaData().Album().length()  0)
+   {
+   m_oAlbum = pItem-GetMetaData().Album();
+   }
+   else
+   m_oAlbum = "Unknown";
+
+   if (pItem-GetMetaData().Year()  0)
+   {
+   char   szText[6];
+   sprintf(szText,"%d",pItem-GetMetaData().Year());
+   m_oYear = string(szText);
+   }
+   else
+   m_oYear = "";
+
+   if (pItem-GetMetaData().Track()  0)
+   {
+   char   szText[6];
+   sprintf(szText,"%d",pItem-GetMetaData().Track());
+   m_oTrackNo = string(szText);
+   }
+   else
+   m_oTrackNo = "";
+
+if (pItem-GetMetaData().Genre().length()  0)
+   {
+   m_oGenre = pItem-GetMetaData().Genre();
+   }
+   else
+   m_oGenre = "";
+
+if (pItem-GetMetaData().Comment().length()  0)
+   {
+   m_oComment = pItem-GetMetaData().Comment();
+   }
+   else
+   m_oComment = "";
+
+   
 m_pWindow-ControlStringValue(string("Title"), true, m_oTitle);
+   m_pWindow-ControlStringValue(string("TrackName"), true, m_oTrackName);
+   m_pWindow-ControlStringValue(string("TrackNo"), true, m_oTrackNo);
+   m_pWindow-ControlStringValue(string("Artist"), true, m_oArtist);
+   m_pWindow-ControlStringValue(string("Album"), true, m_oAlbum);
+   m_pWindow-ControlStringValue(string("Year"), true, m_oYear);
+   m_pWindow-ControlStringValue(string("Genre"), true, m_oGenre);
+   m_pWindow-ControlStringValue(string("Comment"), true, m_oComment);
 }
 
 void FreeAmpTheme::DropFiles(vectorstring *pFileList)


Bitmap Name="Background" File="background.bmp" TransColor="#FF"/
Bitmap Name="Buttons" File="buttons.bmp" TransColor="#FF"/
Bitmap Name="MiniButtons" File="minibuttons.bmp" TransColor="#FF"/
Bitmap Name="MiniBackground" File="minibackground.bmp" TransColor="#FF"/
Bitmap Name="MediumBackground" File="mediumbackground.bmp" TransColor="#FF"/ 
Bitmap Name="E

Important project update

2001-01-13 Thread robert

Hi everyone, I apologize for spamming across so many mailing lists...

I have the sad announcement to make that I was just laid off from
EMusic. As you know EMusic has been kind enough to sponsor the
development of FreeAmp, Obsequiuem and MusicBrainz. Unfortunately in the
current climate that exists for tech companies such as EMusic, the
company can't afford to sponsor these projects anylonger. I thank Brett
Thomas and Gene Hoffman of EMusic for their kind support of these
projects over the past two years. 

EMusic has agreed to continue hosting these projects on the current
server, so there are no immediate worries that these projects will
vanish.

Personally, I am still very much dedicated to each of these projects and
I will work to find new sponsors so that these projects can continue on.
This brings me to the most important point of this e-mail:

I am looking for a new employer and I hope to find a company that is
interested in taking me in to allow me to continue working on these
projects. If you think that FreeAmp or MusicBrainz might be of value to
you or your company, please contact me. I've got a resume ready for
anyone who'd like to download a copy. In the future, please contact me
at [EMAIL PROTECTED]

Just for reference, the projects in question are:

  http://www.freeamp.org
  http://www.musicbrainz.org
  http://obs.freeamp.org

Thank you for your 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: control freeamp through http

2000-12-19 Thread Robert Hart

I have been thinking along similar lines for some time, and I'm sure a number of
people have made suggestions about how to do it on the list before. I recently
wrote a screensaver that displays the current track name and artist if freeamp
is running. It does this by peeking at the window title - it's a bit of a hack,
but it works, I would of course love to extend this concept further.

I would be wary therefore, of putting code into freeamp itself to generate HTML,
and to act as a web server. My suggestion would be to write a UI plugin, that
listens on a port, or named pipe or something (preferably something that can be
done both on UNIX and that other operating system) - in other words create
freeampd. 
Personally I was thinking of starting with the linux command line UI, and
modifying it. But then I'm all talk and not much action

Then write a CGI script that acts as a go between, doing things like
handling multiple users, etc.

Also, write a standalone app, that can load standard freeamp .UI, and talk to
the freeampd (over a LAN perhaps - so everyone in a house/office/cafe etc. can
have an input on the choice of music). I think the modular structure of freeamp
should make this really easy to do.

On a perhaps slightly unrelated issue, it would be great to have a jukebox mode,
where when a track is played, it is removed from the currentplaylist, and if the
current playlist is empty, freeamp plays randomly from my music. 


On Tue, 19 Dec 2000, Niklas Söderberg wrote:

-
-I'm currently working on a small hobby-project, in which I need to control
-an mp3-player using a browser. I know there are plug-ins for WinAmp to do
-that, but I want to use FreeAmp!:-)
-
-Has anybody already done this, or if not, can someone give me a pointer as
-to where to start, since I'm completely new to the FreeAmp source? I've
-started thinking in the terms of making a port-listener as an additional UI,
-which then passes the commands recieved on to the player (since it will in
-fact work as an extension of the user interface in the browser). Or is it
-perhaps better to do it as a plug-in? 
-
-I would be grateful for any help you can give me!
-
-Regards,
-Niklas
-

oo
 \__/   Robert Hart Ground Floor Flat
 /oo\   University of Bath  2 Alexander Buildings
 \()/   http://www.bath.ac.uk/~ab6rah   Bath
 |~~|   [EMAIL PROTECTED]   BA1 6AT
 |~~|
 |~~|   /\
 \~~\  /\/
  \~~\/\/
   \/ | | | | | | \/
 ~~~

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



FreeAmp 2.1.0 RC3 Released

2000-10-13 Thread robert

Its Friday, and that means there is a new version of FreeAmp! Download
from the usual place:

  http://www.freeamp.org/index.html?mode=download

The ChangeLog for RC3:

Changes for version 2.1.0 rc3

- More bugfixes
- MusicBrainz CD lookup plugin
- Major changes to the Xing MP3 decoder to make it re-entrant.


--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 html by Doxygen 1.2.2

2000-09-28 Thread robert

On 29 Sep, Chris Kuklewicz wrote:

 This is hot off the presses, and on my personal machine:
 
 http://kuklewicz.mit.edu/freeamp/
 
 [ It takes as long a full compile to generate the html docs ]
 
 To really appreciate it, use a graphical browser instead of lynx...

Sweet -- are you going to keep this up to date? If so, I'll link to it
from the FreeAmp developers page. This can come in really handy...

--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: checking for musicbrainz in configure.in

2000-09-19 Thread robert

On 19 Sep, Roger Hardiman wrote:
 Roger Hardiman wrote:
 
 
 So, now this is an external library, where do I find it.
 
 Sorry, what I meant was, where do I find the source
 for the library in CVS.

In a seperate directory do a cvs co mb_client. This will check out a
completely seperate project which will allows you to build and install
libmusicbrainz. Then do another configure for FreeAmp and FreeAmp should
be happy.


--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: min()/max() problems with MSVC6.0

2000-09-15 Thread robert

On 15 Sep, Gary R. Van Sickle wrote:

 // These are Windows/MSVC6.0 specific hacks
 // to get the min() and max() macros we want.
 #define min _MIN
 #define max _MAX
 
 Clearly, this won't do.  Is this a known issue?  I've known about it for
 maybe the last month or so.  How do you guys do your beta builds?

http://www.freeamp.org/pipermail/freeamp-dev/2000-September/000774.html

This post from a few days ago explains the problem. Lemme double check
to see that this is in the README.win32...

-- 

--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: Patch to get Tracknumber from filename.

2000-08-30 Thread Robert Hart

Attached is an improved version of the patch I sent in yesterday. I can't see
anything wrong with this one...

Does this get to go in?

Robert


Index: freeamp/plm/metadata/misc/misc.cpp

===

RCS file: /src/repository/freeamp/plm/metadata/misc/misc.cpp,v

retrieving revision 1.10

diff -c -r1.10 misc.cpp

*** freeamp/plm/metadata/misc/misc.cpp  2000/07/31 19:51:39 1.10

--- freeamp/plm/metadata/misc/misc.cpp  2000/08/30 02:07:10

***

*** 175,180 

--- 175,208 

  metadata-SetTitle("RTP Stream");

  }

  

+ // do we need to come up with a track number?

+ if(!strncasecmp(url, "file://", 7)  !metadata-Track())

+ {

+ char* temp = new char[strlen(url) + 1];

+ 

+ strcpy(temp, url);

+ 

+ char* ext = strrchr(temp, '.');

+ char* file = strrchr(temp, '/'); // these are all URLs so we don't need 
+DIR_MARKER

+ 

+ if(ext) {

+ *ext = 0x00;

+ ext++;

+ }

+ 

+ if(!file)

+ file = temp;

+ else

+ file++;

+ while(file  !isdigit(*file))

+ file++;

+ 

+ if(strlen(file)4)

+ metadata-SetTrack(atoi(file));

+ 

+ delete [] temp;

+ }

+ 

  // do we need to convert underscores?

  bool convertUnderscores = false;

  




Patch to get Tracknumber from filename.

2000-08-29 Thread Robert Hart

Hi,

Many CD rippers (well certainly the one I use) provide the option to
include the track number in a filename. Now, I've been using this for ages,
putting the number at the beginning of the filename, so that when the directory
is shown the files are in album order.

Anyway, the following patch allows the extraction of tracknumbers from
filenames, if no number currently exists. Now, I realise that there is great
potential for numbers in filenames not being tracknumbers, but I figured that a
wrong track number is no worse than a '?' which is what appears at the moment.

Well, there is currently one bug with this patch in that any tracks
without numbers in the filename get given the number 3 from the .mp3 extension.
I plan to fix this shortly, but I thought I would try to get some feedback on
the patch first. In particular, should I do some range checking on the numbers I
get back. (For example what would happen if a file called "30,000 miles.mp3" was
given the tracknumber 3? Would this cause problems elsewhere?

Robert

p.s. This is my first ever patch to anything - so if I've messed up be
gentle.


   \\\|///
 \\  - -  //
  (  @ @  )
+---oOOo-(_)-oOOo----+
| Robert Hart|
| [EMAIL PROTECTED]  |
| http://www.bath.ac.uk/ |
|   ooo0   ~ab6rah   |
|  ()   0ooo |
+---\  ((   )+
 \_) ) /
(_/


Index: freeamp/plm/metadata/misc/misc.cpp

===

RCS file: /src/repository/freeamp/plm/metadata/misc/misc.cpp,v

retrieving revision 1.10

diff -c -r1.10 misc.cpp

*** freeamp/plm/metadata/misc/misc.cpp  2000/07/31 19:51:39 1.10

--- freeamp/plm/metadata/misc/misc.cpp  2000/08/29 03:31:37

***

*** 175,180 

--- 175,208 

  metadata-SetTitle("RTP Stream");

  }

  

+ // do we need to come up with a track number?

+ //if(!strncasecmp(url, "file://", 7)  !metadata-Track()==0)

+ {

+ char* temp = new char[strlen(url) + 1];

+ 

+ strcpy(temp, url);

+ 

+ char* ext = strrchr(temp, '.');

+ char* file = strrchr(temp, '/'); // these are all URLs so we don't need 
+DIR_MARKER

+ 

+ if(ext) {

+ *ext = 0x00;

+ ext++;

+ }

+ 

+ if(!file)

+ file = temp;

+ else

+ file++;

+   while(file  !isdigit(*file))

+   file++;

+ 

+   if(file)

+   metadata-SetTrack(atoi(file));

+ 

+ delete [] temp;

+ }

+ 

  // do we need to convert underscores?

  bool convertUnderscores = false;

  




Re: Patch for CVS version of freeamp.

2000-08-24 Thread robert

On 23 Aug, Mo DeJong wrote:
 Could someone apply this patch? It fixes the build when
 srcdir != builddir.

Done. Thanks for the patch!
 
 P.S. Does anyone have a working URL for a shoutcast file?
 I tried a couple on the web but I could not get anything to
 work. The palyer just said 0% loading and then did nothing.

In the musicbrowser, click on My Streams|FreeAmp Teamp Picks|Rob's Pick

Always works for me.


--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



Visualizations

2000-06-06 Thread robert

Valters,

I had some e-mail problems yesterday and my response to your message
regarding the visualizations never made it to the list.

I'd very much like to take a look at what you've done so far. Can you
send me a patch of your stuff? Also, did you implement frequency domain
visualizations or time domain, or both?


--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 Source Code

2000-05-19 Thread robert

On 19 May, shren wrote:
   I've been reading the FreeAmp source code to try and learn how to work
 with windows, and I've learned quite a bit.  But there's one thing I can't
 figure out.  How does the FreeAmp window keep from losing focus?
 DirectSound would stop sound output if the window lost focus - it doesn't.
 I can pull other windows over top of it, or minimize it, and it still
 keeps focus.  I've read the source code and poked it with a couple of
 windows run-time tools and I still can't figure out how it does it.
 
   I hope I'm not polluting your list but I've been banging my head over
 this for weeks.  The elegance of the source code is making me want to
 mangle my box, especially when my source code sits there and misbehaves.

The FreeAmp window does loose focus -- we take no special precautions
to prevent that from happening. Instead, we tell the directsound plugin
to use DSBCAPS_GLOBALFOCUS on line 476 in dsoundcardpmo.cpp in
io/dsound/win32/src:

  DSBufferInfo.dwFlags=   DSBCAPS_CTRLFREQUENCY   |
  DSBCAPS_CTRLPAN |
  DSBCAPS_CTRLVOLUME  |
  DSBCAPS_GETCURRENTPOSITION2 |
  DSBCAPS_GLOBALFOCUS;

This prevents DirectSound from stopping soundoutput when the window
loses focus.


--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: No sound

2000-05-04 Thread robert

On  4 May, David A. Gershman wrote:
 
 I compiled 2.0.7 with the soundcard.pmo and I get nothing.  I can play CD's
 just fine and KDE plays .wav's just fine.  Hints?
 
 FYI: SuSE 6.3 SB compatible card.

Are you using the standard OSS sound drivers or are you using ESD/ALSA?
In either case, go to the options on make sure you've selected the right
output plugin.

Does the time count the song playing or is there no time display?


--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: new version of id3lib available

2000-04-18 Thread robert

On 18 Apr, Scott Haug wrote:
 On Mon, Apr 17, 2000 at 11:36:14AM -0700, [EMAIL PROTECTED] wrote:
 On 17 Apr, Scott Haug wrote:
 
 The one request that I have at this point is for you to create an rpm
 that we can bundle/link from the freeamp page. I'm trying our source
 distro to keep from ballooning in size so I don't want to include your
 source in the freeamp distro. I will write the code so that if the
 id3lib is not found it will degrade gracefully and then we will make
 sure that people know where to find the rpm/source dists that they need
 for id3v2 support.
 
 I just uploaded rpm's for id3lib 3.7.0.  Please test them out and let me know
 if they actually work...
 
 http://download.sourceforge.net/id3lib/id3lib-3.7.0-1.src.rpm
 http://download.sourceforge.net/id3lib/id3lib-3.7.0-1.i386.rpm
 http://download.sourceforge.net/id3lib/id3lib-devel-3.7.0-1.i386.rpm

Awesome -- I'll check them out later today.

Also, as I'm working on implementing your library in FreeAmp I've run
into the problem that the API on windows (due to DLL restrictions,
thanks Bill!) is different that the API on Linux. Since FreeAmp is C++
the linux API feels a lot more natural.

However, since our code runs on both platforms it makes for a really
ugly section of code with each call to your lib being wrapped by some
ifdefs to get the right incantation.

This leads me to wonder if it wouldn't be smarter to use the DLL
wrapper under linux as well. This would give more consistency in the
code and programs that were compiled with a different compiler could
use the lib as well. Right now the mangling is compiler dependent,
right?


--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: new version of id3lib available

2000-04-18 Thread robert

On 18 Apr, Scott Haug wrote:
 If it is possible, I'd prefer to use the C++ interface, for now.  I'm not very
 knowledgable about developing for windows, and know little of its limitations
 as far as dll's go.  Someone else wrote the dll interface, so I'm not terribly
 familiar with it.  So if there's a solution which allows us to use the C++
 interface for all platforms, I'm all for it.

There isn't such a solution -- anytime that a program communicates to
a library via the C++ interface (vtable) both programs need to be
compiled with the same compiler. The C++ standard never standardized
how the names should be mangled and therefore two different C++
compilers cannot talk to each other.

It sucks balls, but anytime you're creating a library that multiple
applications from different compiler architectures need to use, you
should use the standard C interface. 

 My next major goal for id3lib, however, is a full-fledged C interface.  If
 using the C++ interface for both platforms isn't tenable, I will speed up that
 part of the project and get it out to you ASAP, possibly by next Monday.
 
 Let me know what you would like.

The dll wrapper C interface is not terrible -- it will work ok. If you
could expose that interface in linux as well, I would be very happy.
This should not be tough -- I could lend a hand there if necessary.


--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: new version of id3lib available

2000-04-18 Thread robert

On 18 Apr, Scott Haug wrote:
 And, like I stated earlier, I don't know understand why we shouldn't.
 
 -Scott
 
 On Tue, Apr 18, 2000 at 03:17:36PM -0700, [EMAIL PROTECTED] wrote:
 I still say we should use the C++ interface... all our other plugins do...

Simple, the C++ interface is currently not accessible under Windows --
only the C Interface is being exposed.

Would you like me to change the code so that the C interface is being
exposed by the linux version as well? That will be the most portable
solution for the long term...


--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: new version of id3lib available

2000-04-18 Thread robert
 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: new version of id3lib available

2000-04-17 Thread robert

On 17 Apr, Scott Haug wrote:

 Cool!  Let me know if I can help you in any way.  The id3lib interface isn't a
 work of art, but I've kept it pretty much as it was from 3.05a to ease the
 transition of those who still might be using it.  The docs are also lacking,
 but they're improving.  Also, I'm always open to suggestions, bug reports,
 feature requests, and patches that will make this library more stable, faster,
 and easier to use.

The one request that I have at this point is for you to create an rpm
that we can bundle/link from the freeamp page. I'm trying our source
distro to keep from ballooning in size so I don't want to include your
source in the freeamp distro. I will write the code so that if the
id3lib is not found it will degrade gracefully and then we will make
sure that people know where to find the rpm/source dists that they need
for id3v2 support.


--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 licence

2000-04-07 Thread robert

On  7 Apr, Peter Liang wrote:
 Hi
 
 I'm looking for the licence information and any documentation that is
 available for the Xing decoder.  I couldn't find anything at their home site
 www.xingtech.com or anywhere for that matter.  I'm NOT looking for the GNU
 GPL information, I'm looking for Xing's licence for their decoder.
 
 If I use the modified Xing decoder source downloaded from freeamp will I
 have to make my source public also?


Both the Xing decoder and the rest of freeamp are released under the
GPL. Feel free to do with the xing decoder as you would with any other
GPLed piece of code. To arrange some other type of license you should
contact Real Networks (which has aquired Xing).

Xing was never clued in enough to actually put a copy of the GPLed code
on their website and advertise this fact. 
 

--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's memory footprint?

2000-03-21 Thread robert

On 20 Mar, Man Chi Ly wrote:
 my environment:
 
 Red Hat 6.1 w/ latest updates
 P3-450/128 w/ on-board Crystal 4232 chipset
 
 I'm seeing freeamp chew up a lot of memory.. here are some lines from top 
 (during mp3 playback); although frankly I'm not an expert at understanding
 all the figures. How large should the memory footprint be?
 
 Mem:  127884K av, 124780K used,   3104K free,  27856K shrd,   2620K buff
 Swap: 361420K av,  56452K used, 304968K free 18324K cached
 
   PID USER PRI  NI  SIZE  RSS SHARE STAT  LIB %CPU %MEM   TIME COMMAND
   922 mly0   0 61560  26M  1596 S   0  0.0 21.4   0:00 freeamp
   923 mly0   0 61560  26M  1596 S   0  0.0 21.4   0:00 freeamp
   925 mly0   0 61560  26M  1596 S   0  0.0 21.4   0:00 freeamp
   926 mly0   0 61560  26M  1596 S   0  0.0 21.4   0:08 freeamp
   927 mly0   0 61560  26M  1596 S   0  0.0 21.4   0:00 freeamp
   929 mly0   0 61560  26M  1596 S   0  0.0 21.4   0:07 freeamp
  1978 mly0   0 61560  26M  1596 R   0  0.0 21.4   0:00 freeamp
  1979 mly0   0 61560  26M  1596 S   0  0.0 21.4   0:00 freeamp
  1980 mly0   0 61560  26M  1596 S   0  0.0 21.4   0:00 freeamp

There is a bug in 2.0.3 - 2.0.5 that will chew up a bunch of memory
when FreeAmp switches tracks. We're going to release the 2.0.6 on
friday, so please check that out and let us know if it still chews up a
bunch of memory.


--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-21 Thread robert

On 20 Mar, Chad Loder wrote:
 On Mon, 20 Mar 2000 [EMAIL PROTECTED] wrote:
 
 On 17 Mar, Chad Loder wrote:
  How about a TRACE macro that compiles out in release builds? I have
  a decent debugging framework for Windows that I could check in. I don't
  know what the Linux equivalent is to the Win32 OutputDebugString().
 
 Sure, can we check it out?? 
 
 The linux eq of OutputDebugString() is printf(). :-)
 
 Yuck! I can imagine me trying to use gdb while all this crap is going
 to the screen. :)

Well, that's not a problem at the moment, since gdb's thread support is
still lacking. If freeamp crashes in gdb, it takes gdb right with it
and rewards you with a nice 20mb core file. Yeah!


--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-20 Thread robert

On 17 Mar, Chad Loder wrote:
 How about a TRACE macro that compiles out in release builds? I have
 a decent debugging framework for Windows that I could check in. I don't
 know what the Linux equivalent is to the Win32 OutputDebugString().

Sure, can we check it out?? 

The linux eq of OutputDebugString() is printf(). :-)


--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-17 Thread robert

On 17 Mar, Michael Rich wrote:
 My last check in was at Fri Mar 17 4:22:41 2000 (GMT). Which is about
 40 minutes ago...
 
 I updated my code and it still seems to be working just fine.  Both the
 Amorphis and Arch Enemy MP3s decoded nicely into WAV files.  The
 StuffFourChars function you added is exactly what I was thinking was needed
 to replace that windows function, however is it really safe to return that
 pointer to the local dest variable?

I'm returning the value of the pointer, not the pointer itself, so
everything is ok.

 Bad news though, the DirectSound output plugin didn't work at all on my
 system, all i got was silence.  Has anything changed with it to make it not
 work any longer?

I changed the way the volume works -- I'm using the same code that the
normal soundcard uses to control volume.

Can both of you mess with the volume slider and see if adjusting it
will help? Does the soundcard volume 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: DiskOut Output Plugin v0.0.1

2000-03-16 Thread robert

On 16 Mar, Michael Rich wrote:

 Just for a nitpick, my name is misspelled, the e and a are transposed.  :)

Done. Hey, can you check to see if everything still works under
Windows? The changes for Linux were a bit more far reaching than I
cared 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: 404 on website

2000-03-16 Thread robert

On 16 Mar, Michael Rich wrote:
 http://www.freeamp.org/bodies/download.html
 
 Down the the compilation section, the _development_ link leads to a 404
 error.

Fixed. Thanks!

--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 robert

On 16 Mar, Michael Rich wrote:
 Done. Hey, can you check to see if everything still works under
 Windows? The changes for Linux were a bit more far reaching than I
 cared for.
 
 Should the version I pulled from CVS about an hour ago have the changes you
 want tested in it?  That's what I'm fixing to run through the compiler.

My last check in was at Fri Mar 17 4:22:41 2000 (GMT). Which is about
40 minutes ago...

 Also, the project is moving to VC++ 6.0 now correct?  That's what I'll be
 running it through.

Yup, that should work ok. The projects I checked in were made with 6.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



Re: Shoutcast streams / song names

2000-03-09 Thread robert

On  9 Mar, Michael Rich wrote:
 When using FreeAmp to play a Shoutcast stream, why does it not display the
 name of the song that is currently playing?  Is it an option I have to
 enable, or does it simply not support it?

FreeAmp does not support it. The way that NullSoft designed title
streaming is utter and complete crap and I refuse to write code to
support their shitty title streaming. The code we've got to synch to
the beginning is already too complex due to design flaws in the MP3
format itself. NullSoft made it worse by tossing title stream
information between MP3 frames -- really bad design in general.

However we support icecast title streaming -- icecast did a much better
job of managing the title streams...


--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-02-28 Thread robert

On 26 Feb, Michael Rich wrote:
 In each PMO, there is a function called:

 void  HandleTimeInfoEvent(PMOTimeInfoEvent *pEvent);

 
 Hmm, it appears the function is still in the code left over from where i
 based it on the DirectSound plugin.  Maybe I've not updated the variables
 properly.  I'll do a check against the original code and see if I can patch
 it to work correctly.
 
 . . .
 
 This sounds fine, i'll see if I can modify the code to use this directory
 instead.

Let me know if you have trouble with any of these issues.


--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: bug: tooltip support not working after changing theme

2000-02-27 Thread robert

On 28 Feb, Valters Vingolds wrote:
 
 problem:
 maybe you have noticed that tooltip support goes dead after you switch themes.
 (after you change to another theme, tooltips won't display).
 
 resolution:
 that happens because for some reason in Win32Window::CreateTooltips()
 is this code:
 
 if (m_bMindMeldInProgress)
   return;

Good catch -- I just fixed it in cvs.

 Sorry for not using bugzilla. Keep up the good work! I'll be back a bit
 later, maybe bearing some code :) Actually I want to implement "knob"
 control (so one could convert some of those immensely cool kjofol skins to
 freeamp).  Maybe you can explain me about the state table (TransitionsInfo)
 - I can't seem to figure it out. 

Each control is a finite state machine. A finite state machine is a
piece of code that has a clearly defined set of states, and when
certain actions happen, the finite state machine transitions from one
state to another state. When the machine transitions state, it usually
means that there is some action that gets triggered.

static TransitionInfo pTransitions[] =
{
// Curr. state   Transition   Next state
{ CS_Normal, CT_MouseEnter,   CS_MouseOver  },
 .  .  .
{ CS_MouseOver,  CT_MouseLeave,   CS_Normal },
 .  .  .
};

In the table above are two example transitions taken from the button
control state table. CS_Normal (For ControlState Normal) means the
button is is the normal state (no mouse over, not disabled, etc). When
the control gets a CT_MouseEnter (ControlTransition MouseEnter)
transition (sent by the freeamp theme when the mouse enters the
boundary of the control) the state changes to CS_MouseOver. When the
mouse leaves the control the theme sends the CT_MouseLeave transition 
and the state goes back to normal. There obviously are many more states
to this control, but these two are the most basic as an example. Look
at the /ui/freeamp/src/ButtonControl.cpp:Transition function to check
out the case statement that carries out the various BltFunctions as the
control accepts transitions from one state to another.

So, by adding and removing states from the table you can change the
behaviour of the control without having to write many complicated
if-then statements. 

Can you tell I like FSMs? Very powerful stuff!



--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: those coca cola themes

2000-02-27 Thread robert

On 28 Feb, Valters Vingolds wrote:
 hmm, it's nice to see how freeamp gets accepted more and more!
 
 however, what do you say about that coca cola theme 'licence agreement'?
 1) they are referring to .fat as "mp3 skin" ... huh?!
 2) forbiding to "reverse assemble, reverse compile and otherwise attempt to
 create source code" - that includes unpacking, i guess.
 this is SICK!!!
 3) forbidding to "translate, duplicate, reproduce or copy" - kind of stupid.
 
 well, i would understand if they copyrighted the artwork and left the
 distribution alone... i would even understand if they forbid redistribution
 because they want everyone to download from their site! but n... 
 
 this is kind of sad. maybe they should fobid using the theme under linux,
 for completeness sake. flamebait

I think we should leave it all alone -- I don't really agree with their
terms, but I like the exposure that FreeAmp is getting as part of that.
If you don't agree to their terms, don't use their themes. :-)


--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: General Question

2000-02-25 Thread robert

On 25 Feb, Duc Tang wrote:
 
 I fully support the freeamp program, but why does Freeamp take so long to load
 up, I am starting to use Winamp because of it. Winamp loads up much quiker, is
 this situation similiar on everyone's computer.

You should just leave FreeAmp running. :-)

But seriously, FreeAmp is built on a plugin architecture where each
plugin is in a DLL. When Windows loads a DLL from disk, it loads the
given DLL at a certain base address that the DLL specifies. If another
DLL is already residing at that address, the DLL needs to be re-based.
All of the address references in the loading DLL that assumed one base
address now need to be told that the DLL has been rebased. This process
is time-consuming, especially for FreeAmp since we have a lot of DLLs.

This can be minimized by giving base addresses to each one of our DLLs
so that when FreeAmp loads we can prevent the conflicts which will make
FreeAmp load a lot faster. Why haven't we done this? We've been to busy
writing code? Naaah.

Anyway, if you want to really get into depth about this issue check out
this article: (I mentioned this article to you a while ago Elrod, I
just now found it again)

http://msdn.microsoft.com/library/techart/msdn_pagetest.htm



--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: Mac Themes are working!

1999-12-16 Thread robert

On 16 Dec, Jason A. Bobier wrote:
 Themes on the Mac are working great as of about 4am this morning. 
 Unfortunately, the Theme parser has changed quite a bit since I 
 ported it to the Mac and as a result of this, only the FreeAmp and 
 EMusic themes work.
 
 Are we ready to feature freeze themes yet? I'd rather not have to 
 port themes over any more times in order for them to be compatible 
 with FreeAmp 2.0.

I think we finally hit that today -- about time, eh?

--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: cvs access

1999-12-08 Thread robert

On  8 Dec, Ron Forrester wrote:
 
 Using the password 'freeamp', I am currently getting access rejected
 when trying to login into the cvs server.
 
 Any ideas? Is readonly access off right now?

Shouldn't be. I'll pass this on to Elrod who's in charge of dealing
with the pserver. In the meantime you can grab a snapshot off the
website, or grab beta 5 which should be out RSN.

--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-06 Thread robert

On  6 Dec, Marc Bejarano wrote:
 At 09:14 AM 12/6/1999 , Mayhem  Chaos Coordinator wrote:
  As Ross also pointe out, its actually on n+2, not n+1.
 
 thanx!  works like a charm, now.  ross must have forgotten to point this 
 out in his email.
 
  In your obs.conf,
  make sure to set the following things:
  
  StreamTitles   yes
  TitleUrl   you URL
  
  BroadcastPort  4420  # Multicast port for broadcast
  TitlePort  4422
 
 is there a reason that the default obs.conf from CVS is using 4421?

None other than that I haven't updated it. I just updated 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: musicbrowser-linux does not add tracks, default ui

1999-10-20 Thread robert

On 20 Oct, Isaac Richards wrote:

 Fixed =)  Will be in cvs shortly.

Cool!

 +feature suggestion:
 in the preferences file there's a value:
 ThemePath: ./themes/freeamp.fat
 it should not be the default theme, but the path, so the theme browser
 will search for the themes there.
 Plus there should be a DefaultTheme (or simply Theme as UI,TextUI)
 like Theme: freeamp.fat or maybe Theme: /path/to/default/theme/freeamp.fat
 
 ThemePath is the path to the current theme that's being used.  It already
 searches for themes in $prefix/share/freeamp/themes, ~/.freeamp/themes, and
 ./themes.

I finally got my machine upgraded and it works fine on a stock RH6.0
box! But, before I install FA I always have to mess with the
preferences file because looking for .themes doesn't seem to work. Have
you made some changes to that code lately? Also, I think it would be a
good idea to reverse the search order. It should look in ./plugins and
./themes before looking in /usr/lib/freeamp/* so that when a person
builds a new beta it doesn't have to interfere with their installed
(and likely more stable) version of FreeAmp.


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

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



Re: Error running theme.ui

1999-10-08 Thread robert

On  8 Oct, Sylvain wrote:
 Thanks all. Got it but can't get theme.ui to work with visions xml file.
 
 It looks like ParseColor() is writing over pBitmap creating an exception..
 using theme.xml (latest from robert).

Are you using visual studio 6? I tried it with visual studio 6 and it
wouldn't work giving me symptoms just like that. If you are using 6,
have you applied the service packs?


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

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



Re: Output to file

1999-10-06 Thread robert

On  5 Oct, Elya Kapelyan wrote:
 Hi,
 
 I'm sorry to ask such a trivial question, but I have just started
 looking at the Freeamp code, and could use some help.  I need to take a
 MP3 and write the decoded PCM data to a file.  While looking at PMO API
 documentation on the web, I saw a reference to "PMOs that write files to
 disk".  Does anyone have this, or else could you please point me in the
 right direction vis a vis the source code?

This PMO does not exist yet. We'd be very glad if you decided to write
this. It should be quite trivial to do.  

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

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



Re: [Fwd: arg parsing]

1999-10-04 Thread robert

On  4 Oct, Gabor Fleischer wrote:
 freeamp -uitheme.ui -uilcdproc.ui  blah.mp3
 or this could be written
 freeamp -ui[theme.ui lcdproc.ui] blah.mp3
 Hmm.
 freeamp --ui=theme,lcdproc blah.mp3
 
 As I know the most POSIX-like is that we hawe "-X"-ish one letter
 switches, orr "--WORD"-ish long arguments. Also POSIX sais, that
 "-u theme" is equivalent to "--ui=theme", and maybe (I'm not sure)
 also to "-utheme". I suggest to be POSIX compliant if we can.
 I don't like the -ui[ui1 ui2] form. We'd still have problems with
 the spaces, so I'd prefer if we used comas to separate multiple
 arguments.

POSIX compliance is actually a pretty good suggestion. Something we
should probably do...


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

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



Re: theme.ui under linux..

1999-10-02 Thread robert

On  1 Oct, Isaac Richards wrote:
 Just wanted to let you all know that the theme.ui is now basically feature
 complete for unix...  It works here(tm)  There's some issues with fonts
 still to work out, and restarting/windowshading the current theme causes a
 segfault that I'll track down as soon as I fix my gdb. =)
 
 Go play =)  Just remember that the ThemePath: setting in ~/.freeamp/preferences
 needs to point to the directory where the theme.xml file is located.

Ok, so now it compiles, but there are dynamic link-up issues:

./plugins/xingmp3.lmc: undefined symbol: __out_of_range__FPCc
./plugins/localfileinput.pmi: undefined symbol: __out_of_range__FPCc
./plugins/httpinput.pmi: undefined symbol: __out_of_range__FPCc
./plugins/obsinput.pmi: undefined symbol: __out_of_range__FPCc
./plugins/soundcard.pmo: undefined symbol: __out_of_range__FPCc
./plugins/freeampcmd.ui: undefined symbol: __out_of_range__FPCc
./plugins/mpg123.ui: undefined symbol: __out_of_range__FPCc
./plugins/lcd.ui: undefined symbol: __out_of_range__FPCc
./plugins/irman.ui: undefined symbol: __out_of_range__FPCc
./plugins/ncurses.ui: undefined symbol: __out_of_range__FPCc
./plugins/musicbrowser.ui: undefined symbol: 
Sort__15PlaylistManager15PlaylistSortKey16PlaylistSortType
./plugins/theme.ui: undefined symbol: kThemeDefaultFontPref
./plugins/freeamp-xlib.ui: undefined symbol: XpmCreatePixmapFromData

The last three I can look into, but what is the __out_of_range symbol?



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

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



Re: Font.h?

1999-09-29 Thread robert

On 28 Sep, Hiromasa Kato wrote:
 The latest batches of theme-ui checkins contain some references to
 "Font.h". Is this supposed to be lowercase "font.h"? All I have is the
 lowercase files and it is where the Font class is implemented.

I hopefully just took care of that.

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

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



Re: Aid me with string streams! grin

1999-09-28 Thread robert

On 28 Sep, Mark B. Elrod wrote:
 since the mailing list does not like us asking for help int he subject 
 line here is my message again...
 
 i have a string which has a bunch of numbers i want to read out and then
 a char buffer as well. the string is of the form:
 
 [num fields] [length field 1] [length field 2] ... [length field n -1]
 [length field n] [buffer]
 
 i can easily read the beginning numbers but the data blob is elluding
 me. for the first part i want to use the delimiting behavior of  to
 pull out the individual numbers but for the second part i want to just
 get the remainder of the stream including whitespace. anyone out there
 who is knowledgeable about streams? here is my code so far:

Probably not how you want to do this, but it works:

#include stdio.h
#include string
 
typedef unsigned int uint32;
 
int main(void)
{
string data("2 10 17 mark [EMAIL PROTECTED]");
uint32 numFields, offset = 0;
 
sscanf(data.c_str(), "%d%n", numFields, offset);
uint32* fieldLength =  new uint32[numFields];
 
for(uint32 i = 0; i  numFields; i++)
{
   uint32 temp;
 
   sscanf(data.c_str() + offset, " %d %n", fieldLength[i], temp);
   printf("field %d: %d\n", i, fieldLength[i]);
   offset += temp;
}
 
string copy = data;
 
copy.erase(0, offset);
printf("%s\n", copy.c_str());
}   

That gives:

field 0: 10
field 1: 17
mark [EMAIL PROTECTED] 

Right, no?


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

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



Re: 3/4 success :-), patch to who?

1999-09-25 Thread Robert Kaye

 2. What should I set in ~/.freeamp/preferences to ThemePath?
 With the default . themeui does not work. It sais:
 ##ClearDelete Registry Item
 and exits imediately.
 (and a lot of Delete Registry Item lines, but it also comes with the
 other workink uis)
 I tried ./ui/theme and ./ui/theme/default but does not help.

Set it to the absolute path of the ui/theme/default dir. However, most of
the linux stuff isn't implemented yet.

 3. ALSA:
 After X1 hours I've found out that I have to change ALSAdevice from 1:1
 to 0:0 :-( Ok, so now it works with guspnp's PCM0, but dowesn't with
 PCM1. I made some changes in the code, because the original always
 opened the mixer chanel 0 instead of m_iDevice. Who should I send the
 patch?

Me.

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

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



FreeAmp 1.5 Update

1999-09-25 Thread Robert Kaye

Hi folks!

I'd like to take a moment to update the FreeAmp mailing list with some
details on the 1.5 release of FreeAmp. Then, in my next e-mail I'll address
some issues regarding the Theme ui and what I can get done with respect to
the FreeAmp schedule.

In August EMusic laid out a set of reasonable goals for the FreeAmp team to
accomplish by November 15th. These goals include:

-- A new easier to use user interface
-- A more intelligent playlist manager and a music browser to make it easier
for someone to download and use music from the net
-- A download manager to assist and automate downloading MP3s from the net.
-- A few other minor features to make freeamp easier to use all around

We have a specification and a schedule for this entire project, and I would
really like to share both of those with the FreeAmp community. However, some
people at EMusic do not feel comfortable sharing some of the information
that is covered in the specification due to some confidentiality agreements
that we must honor with our partners. I hope that during the next revision
of FreeAmp we will not have that limitation.

So, the above features will need to get into beta by october 18th and a
final release on November 15th. I intend to do my best to keep this
schedule, which unfortunately will mean that I will have to say no to some
of the feature requests that are coming in.


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

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



Latest Theme stuff

1999-09-25 Thread Robert Kaye

I just checked in the latest and greatest theme stuff:

-- TransIndex now works properly, and is not mandatory
-- a new Font tag has been added to define font typefaces
-- a new Style tag bas been added as part of TextControl to give Theme
writers greater control over a font. Color, alignment, bold, italic and
underline can now all be specified. (the last three don't actually work yet,
that's for tomorrow)
-- A new Info tag has been added for all controls. The attribute "Desc"
will allow the theme writer to give a short description to a control that
can be displayed in the "Info" field when the mouse moves over the control.
Also it has a "Tip" attribute for displaying a tool-tip. However, the actual
implementation of the tooltips is left as an excercise for Valters. :-)

I added the Font tag, to give us more control over fonts. In the face
field, the theme writer can specifiy a number of font type faces seperated
by commas. The system will (once its completely implemented) search this
list until it finds a matching font. So, saying

Font Name="San Serif" Face="Arial,Helvetica"

should hopefully get a san serif font on both Linux and Windows. For the
next release I would like to add a "Link" attribute that allows a theme
writer to enter a URL where the particular font can be downloaded from. If
the system finds that the specified font is not available, the font can be
downloaded from the net. Once the download is complete, the Theme ui would
then refresh and use the downloaded font. However, I don't have the time to
implenment that right now. But, that's why we have the Font tag now.

Valters:

I've attached the theme.xml file for your theme. I've updated it to match my
latest set of changes. The bitmaps have not changed at all.

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

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


!-- Liquified Visions theme by Valters Vingolds ([EMAIL PROTECTED]) --
!-- based on visions skin of rainplay by Bill Yuan --

Bitmap Name="Background" File="background.bmp" TransIndex="0,0"/
Bitmap Name="Buttons" File="buttons.bmp"/
Font Name="San Serif" Face="Arial"/

Window Name="MainWindow"
BackgroundBitmap Name="Background" Rect="0, 0, 168, 79"/
Controls
ButtonControl Name="Prev"
Position Rect="7, 54, 24, 73"  
ControlBitmap Rect="0, 18, 71, 37" Name="Buttons"/
/ButtonControl

ButtonControl Name="Quit"
Position Rect="150, 7, 157, 14"
ControlBitmap Rect="0, 0, 31, 7" Name="Buttons"/
/ButtonControl

ButtonControl Name="Minimize"
Position Rect="139, 7, 146, 14"
ControlBitmap Rect="0, 9, 31, 16" Name="Buttons"/
/ButtonControl

ButtonControl Name="Stop"
Position Rect="25, 54, 41, 73"
ControlBitmap Rect="0, 39, 67, 58" Name="Buttons"/
/ButtonControl

ButtonControl Name="Play"
Position Rect="42, 54, 58, 73"
ControlBitmap Rect="0, 60, 67, 79" Name="Buttons"/
/ButtonControl

!-- pause button looks crappy... I had to draw it --
!-- please draw it properly if you can (I know I can't) --
ButtonControl Name="Pause"
Position Rect="42, 54, 58, 73"
ControlBitmap Rect="0, 123, 67, 142" Name="Buttons"/
/ButtonControl

ButtonControl Name="Next"
Position Rect="59, 54, 75, 73"
ControlBitmap Rect="0, 81, 67, 100" Name="Buttons"/
/ButtonControl

!-- this one should be 'load song/playlist' type button --
ButtonControl Name="Quit"
Position Rect="76, 54, 94, 73"
ControlBitmap Rect="0, 102, 75, 121" Name="Buttons"/
/ButtonControl

!-- these rectangle positions are not really tested --
!-- may need some adjustment --
TextControl Name="Title"
Style Font="San Serif" Align="Left"/
Position Rect="12, 22, 157, 36"
/ButtonControl

TextControl Name="Time"
Style Font="San Serif" Align="Right"/
Position Rect="103, 38, 157, 53"
/TextControl

!-- not sure what more TextContols to put there --

/Controls
/Window



buttons.bmp

1999-09-22 Thread Robert Kaye

H. The buttons.bmp bitmap in the ui/theme/default directory keeps
getting corrupted in check in. I did

cvs admin -kb buttons.bmp mask.bmp background.bmp

But the files still get screwed up. What other magic incantations do I need
to carry out for CVS to be happy? We have rcs 5.7 installed on the server...


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

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



Re: extreme solaris wackiness

1999-09-21 Thread robert

On 20 Sep, Tom Spindler wrote:
 Well, I think I'm getting closer to finding what's causing the
 Solaris strangeness; for one, it appears that sometimes the LWP
 or Reader gets stuck, and so WasteTime() gets called an awful
 lot. A side effect seems to be the creation of several hundred
 threads. :)

Wow -- there is some *strange* shit going on over there. Have you taken
a look at the solaris implementation of all the Thread/Mutex/Semaphore
stuff?

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

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



RE: pthreads ??

1999-09-20 Thread robert

Jim Carlson sez:
 Are calls to suspend and resume ref counted? iow, if i do this in
 pseudo-code:

No.  It just does a SIGSTOP and SIGCONT for suspend and resume.  The
first resume after N=1 suspends will cause the task to restart.

 is that the way it works for pthreads?

Pthreads doesn't really have suspend/resume.  Just SIGSTOP and
SIGCONT.

I agree with you, but it even gets worse than that. Let me elaborate.
The signal handling under LinuxThreads is different from the signal
handling under POSIX threads for one. And, as far as I can tell, the
signal handling is cooperative, and the current thread implementation
does not cooperative signal handling. The code for suspend and resume
is show here:


void
linuxThread::
Suspend()
{
m_suspendMutex-Acquire(WAIT_FOREVER);
if (!m_suspended) {
   pthread_kill(m_threadHandle, SIGSTOP);
   m_suspended = true;
}
m_suspendMutex-Release();
}

void
linuxThread::
Resume()
{
m_suspendMutex-Acquire(WAIT_FOREVER);
if (m_suspended) {
   pthread_kill(m_threadHandle, SIGCONT);
   m_suspended = false;
}
m_suspendMutex-Release();
}  

So, I wrote this little test program, to see how well the
internals of Suspend and Resume work:

#include stdio.h
#include pthread.h
#include sys/types.h
#include signal.h
#include time.h

void tprint(char *string)
{
 time_t t;

 time(t);
 printf("%s%s\n", ctime(t), string);
}

void *worker_thread(void *pArg)
{
 tprint("Worker thread start, sleeping 5 secs\n");
 sleep(5);

 tprint("Back from sleep, worker thread exiting...\n");

 return NULL;
}

int main(int argc, char *pargv[])
{
 pthread_t t;

 t = pthread_create(t, NULL, worker_thread, NULL);

 tprint("Main thread starting\n");
 sleep(1);

 tprint("Suspending thread...\n");
 pthread_kill(t, SIGSTOP);

 sleep(10);
 tprint("Exit...\n");

 return 0;
} 

The output of this program is:

Mon Sep 20 11:15:45 1999
Main thread starting

Mon Sep 20 11:15:45 1999
Worker thread start, sleeping 5 secs

Mon Sep 20 11:15:46 1999
Suspending thread...

Mon Sep 20 11:15:50 1999
Back from sleep, worker thread exiting...

Mon Sep 20 11:15:56 1999
Exit...  

As you can see, the worker thread never gets interrupted or slowed
down. This is exactly what would happend with the current Thread.cpp
class for linux.

Conclusion: We should not use Suspend() and Resume(). As a matter of
fact it would be best for us to remove these calls from the classes
altogether.



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

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



FreeAmp Themes

1999-09-17 Thread Robert Kaye

I've just checked in the first run of Theme code for Windows. When you check
out the code, it will create the dir ui/theme/default. Before you try to run
the theme ui, make sure the ThemePath preference points to that directory.
Right now there is no way to change this preference, other than to go into
regedit and set it by hand. Next week I will improve the themes so that they
can by dynamically changed and reloaded.

Also, please note that the first theme that is checked in is a test theme. I
have no artistic skills to speak of, so its more functional than it is
pretty. Check out screenshot here:

http://www.freeamp.org/~robert/theme.jpg


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

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



Re: Freeamp cvs directory file permission mistake?

1999-09-15 Thread Robert Kaye

Its fixed now. Thanks for the heads up.


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

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message - 
From: Jason Molenda [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, September 15, 1999 2:28 AM
Subject: Freeamp cvs directory file permission mistake?


 Hi, I just found freeamp this evening.  I apologize if this is a
 known problem.
 
 I had no trouble checking out the freeamp directory from your CVS server
 using the pserver access method, but I couldn't check out the id3v2
 modules that you have defined in CVSROOT/modules--I get a CVS error
 complaining about not being able to set a lock in the CVS directory.
 
 If this is unintentional, and you're using group-level access to grant
 permissions to your CVS repository, check to make sure that all of the
 subdirectories have the correct group ownership and are all group write.
 You may want to change the mode of the directories to 2775 so that new
 subdirectories also inherit the group write permissions.
 
 If you'd like to see the exact error, just try checking out something 
 in the id3v2/ directory via the :pserver:[EMAIL PROTECTED] method.
 
 Hope that helps,
 
 Jason
 



Re:

1999-09-14 Thread Robert Kaye

There is some documentation on the web site. However, it is starting to get
out of date. When we get to 2.0 (early next year) we will update the docs
with the latest and greatest info. In the meantime, the source are your
docs. :-), :-(


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

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Zsolt Farkas [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, September 14, 1999 3:08 AM
Subject: RE:


  -Original Message-
  From: Robert Kaye [mailto:[EMAIL PROTECTED]]

  Its pretty trivial -- as Tom pointed out, you can use one of
  the existing
  UIs as a base and then simply answer more of the messages as
  needed. It will
 any documnetation on building a ui? :)

  will never
  have the benefit of free updates. :-)
 sure :))

 [S]




RE: Reworking UI plugins

1999-08-25 Thread robert

On 25 Aug, Michael Rich wrote:

 Thus i'm glad to see i'll have a good MP3 player, that is if it will compile
 cleanly on the Alpha compiler.

If it doesn't I'd be interested in helping you out to make it compile...


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

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



Re: And now...

1999-08-13 Thread robert

On 12 Aug, Bruce Oblander wrote:
 Nope...this is for a "Shoutcast" type stream. I've gone so far as to capture the 
network packets
 passed to FreeAmp and it looks like the "x-audiocast" commands are OK (and the 
packets
 really are sent to FreeAmp) so me thinks you are correct but that leaves me at a 
loss. Is the
 UDP port used for FreeAmp title streaming something different from java's "Datagram" 
socket?
 This is pretty hard to screw up but I never cease to amaze myself.

Thanks for refreshing my memory of your project.

FreeAmp will open the server port and then send the stream server a
x-audiocast-udpport: header as part of the stream request. The title
stream information should be sent to that port. Are you doing that?


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

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



Re: MP1 and MP2 disabled ?

1999-08-08 Thread robert

On  7 Aug, Lorenz Klaus wrote:
 Hi,
 
 in FreeAmp 1.3.0, inf file xinglmc.cpp line 358 and line 371

The code you list does not exits at these lines. Are you sure you're
looking at an unmodified version of xinglmc.cpp version 1.97?

 (m_sMpegHead.option == 1) it seems that MP1 (m_sMpegHead.option == 3) and
 MP2 (m_sMpegHead.option == 2) are disabled.

xinglmc.cpp version 1.97 of freeamp 1.3.0, line 232:

(m_sMpegHead.option == 1 || m_sMpegHead.option == 2)

Given this, MPEG-1 and MPEG-2 layers 2 and layers 3 are enabled and
layer 1 is not. There aren't too many layer 1 files out in the world,
since they are almost identical algorithms (as far as difficulty to
implement is concerned), with layer 2 yielding better compression. Most
people never bothered with layer 1. Quite frankly I am suprised that
people still want to deal with layer 2.

The MPEG audio streaming synching is a mess, and our friends over at
SHOUTcast made a couple of screw-ups when they created SHOUTcast. Here
is the scoop: An audio frame in MPEG begins with the bits 0xFFF*, after
that you will find the all the juicy details for the frame like the bit
rate, sample rate and all that happy stuff. The MPEG group decided to
not impose the restriction that the audio frame synch marker could not
ever appear in the body of an MPEG frame. 

SHOUTcast does not require each packet that it sends (unlike a properly
designed streaming protocol like RTP) contains an integral number of
MPEG frames. This means that a SHOUTcast client needs to search for the
next synch marker and start playing that stream. Well, most of the bits
in the MPEG frame header are used, which means that if you jump into
the middle of a SHOUTcast stream, find the next sync marker you may not
actually have found a correct stream marker. And you cannot tell from
the header itself if you've found a valid sync marker, since most of
the bits in the audio header are used. This means that you can jump
into the middle of a 128k layer 3 stream and think that you're actually
getting a 256k layer 1 stream.

So, I thought I'd be clever and given the current header go to the next
header and compare the headers to make sure that this was a valid
stream. Well, that is also not foolproof since there are some MP3 files
that have nothing but FFs as the contents of the first dozen audio
frames. So, its hard to distinguish if you're jumping from trash to
trash header or from an actual to an actual header.

So, finally I can make my point to answer your question. If I remove a
rarely used layer and I toss out frames layer types '00' and '11' then
I've removed half of the possible bad frames that my sync scheme might
get tripped up on. Besides, most of the time when the sync scheme got
confused, it thought it was decoding a layer 1 file.

Well, you asked. :-)


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

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



Re: Documentation

1999-08-08 Thread robert

On  7 Aug, Jimen Ching wrote:
 Hi all,
 
 Are there any documentation for freeamp, both user manual and developer
 manuals?

There are some (possibly outdated) docs on the web page.

 Also, there's a way to specify the UI using -ui, but how do I specify the
 IO plugin?  I had to rename alsa.pmo to soundcard.pmo to use it.  But I'm
 still getting an error about device busy.  Any ideas before I dig into the
 code?

The pmo is specified in the ~/.freeamp-prefs file.


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

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



Re: New feature

1999-08-08 Thread robert

On  8 Aug, Steve Kennedy wrote:
 
 I must say I am impressed with Real Jukebox (really a Xing
 product - but since Real acquired them ... 

Actually it is not -- real developed that completely independently of
Xing. With perhaps the exception of the encoder.

 ps how does the acquisition affect things ? 

It does not affect FreeAmp at all. thank god.


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

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



Re: And now...

1999-08-06 Thread robert

On  6 Aug, Bruce Oblander wrote:
 Got it...but one (well maybe two) more question:
 
 I send "x-audiocast-streamurl: myurl" to FreeAmp *once* when it connects to my 
server.
 
 I'm then sending "x-audiocast-streamtitle: trackTitle" to FreeAmp as the titles
 change.
 
 is this correct or did I mis-read the code?

No, the url and title are each sent when a new stream starts, and in
the case of Obsequeuim every 10 seconds as well. However, the code may
be confusing, since it uses two seperate packets and not one large
packet to the send the url and title.


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

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