FreeAmp becomes Zinf!
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.
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
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
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
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.
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
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
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
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?
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
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?
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
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
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
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
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
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
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.
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.
/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
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
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
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
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
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
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.
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.
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.
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
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
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
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
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
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
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
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
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
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?
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?
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?
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
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
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
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
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
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
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
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
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
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!
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
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?
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
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
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
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]
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..
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?
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
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?
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
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
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
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
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 ??
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
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?
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:
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
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...
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 ?
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
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
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...
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