Skip to main content

Topic: Linux Foobar200 Clone? (Read 14727 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • MuMart
  • [*][*]
  • Banned
Linux Foobar200 Clone?
I've recently moved to linux and have been thinking about having a FB2K like audio app for that platform. Here's what I've been considering:

I first thought of adding a few Foobar features to an existing player like RhythmBox, but I don't think that's a good idea. Rhythmbox wants to be a simple iTunes type app without too much extensability.

Another possibility would be to port Foobar. Definitely possible, but there are a lot of problems with that approach. A lot of interesting foobar plugins are windows only, and keeping the ports in sync would be a nightmare, especially since the GUI would have to be rewritten. Another very minor point is the license, which might not be acceptable to all linux distributions (eg debian)

Yet another possibility would be to work on WINE until Foobar works flawlessly in it. It "kind of" works already. The problem is - if we keep foobar windows-native only windows developers can write plugins.

My current thinking is to do a foobar-like app from scratch in an interpreted language (probably Python), using gstreamer, XMMS and LADSPA plugins to do the hard DSP work. Using python's integrated scripting it could do some pretty advanced playlist management/status displays etc. There should be both Gnome and KDE guis available to prevent flamewars(!)

Anyway, these are just my thoughts so far. It would definitely be nice to have an audio-power-user app for linux that integrates as many linux audio technologies as possible (ALSA, LADSPA, gstreamer, ARTS, BruteFIR, LAME, CDParanioa ...)

Perhaps this is being done already. Any thoughts?

EDIT: Oops - that should be 2000 !
  • Last Edit: 18 April, 2004, 03:15:39 PM by MuMart

  • askoff
  • [*][*][*][*]
Linux Foobar200 Clone?
Reply #1
I've been thinking exactly the same things that you are. I just finished my Gentoo installations and I'm looking also good media players for it. One way could be that foobar2000 should be optimize litle bit more for Wine, which is not the best solution over all, but usable.

  • ak
  • [*][*][*][*]
Linux Foobar200 Clone?
Reply #2
Well, maybe mpd would be worth considering. No idea though how much it allows to implement in client yet.
It could be nice for casual listnening/organizing, especially when they'll add rg, musepack support etc, as they plan.

  • MuMart
  • [*][*]
  • Banned
Linux Foobar200 Clone?
Reply #3
Quote
Well, maybe mpd would be worth considering. No idea though how much it allows to implement in client yet.
It could be nice for casual listnening/organizing, especially when they'll add rg, musepack support etc, as they plan.


Looks good. Not sure about support for DSP plugins though. I'll have to look into the way LADSPA plugins are implemented. If they have their own GUIs it's probably not suitable.

  • Agent86
  • [*][*]
Linux Foobar200 Clone?
Reply #4
Another user here started the LAMIP project to try to do a Foobar on Linux sort of thing.

Does anyone know what is going on with XMMS2?

- Agent 86

  • MuMart
  • [*][*]
  • Banned
Linux Foobar200 Clone?
Reply #5
I've been looking into gstreamer and LADSPA and by-crikey this stuff is amazing! What a framework! And it's got python bindings. Looks very promising. All the Foobar dsps are already implemented as LADSPA plugins.

Had a quick look at LAMIP. Seems to be coming along but there's a lot of re-inventing the wheel, and it has it's own plugin architecture.

I think writing a python playlist front-end to gstreamer integrating all current foobar features is the way to go right now.

  • kode54
  • [*][*][*][*][*]
  • Administrator
Linux Foobar200 Clone?
Reply #6
Not to mention that you'll be taking the UI and stripping away some of the best parts. You'll just have another Winamp2 clone with a FB2k UI, which will suck.

In my opinion, managed and/or interpreted languages suck for serious applications. If it doesn't compile to stand-alone machine code, it will be slower. I don't care if it is easier for you to program, or easier for others to learn and develop for.

Of course, that's just my opinion. Feel free to carry out your plans.

Linux Foobar200 Clone?
Reply #7
There was a similar app for Linux called Musik. I can't get their site to load now. I don't get a 404 or anything, just nothing. Somebody linked the site to me once last year and I haven't checked up on it since so I don't know if the project's been scrapped or what. Here's the link I have in case it comes back up:  http://musik.berlios.de/

  • MuMart
  • [*][*]
  • Banned
Linux Foobar200 Clone?
Reply #8
Quote
Not to mention that you'll be taking the UI and stripping away some of the best parts. You'll just have another Winamp2 clone with a FB2k UI, which will suck.


Not true. I don't want to write another winamp clone. I want a foobar clone. I think this approach could produce that. Python would be providing the scripting support and playlist logic. The decoding and DSP would be done in 100% machine code through gstreamer. The plan is that all foobar2000 features will be present, and more.

Quote
In my opinion, managed and/or interpreted languages suck for serious applications. If it doesn't compile to stand-alone machine code, it will be slower. I don't care if it is easier for you to program, or easier for others to learn and develop for.

Of course, that's just my opinion. Feel free to carry out your plans.


You're entitled to your opinion, which is clearly wrong

  • askoff
  • [*][*][*][*]
Linux Foobar200 Clone?
Reply #9
MuMart: Do you think that all good features can be implemented like dithering and replaygain? What about foobar2000 licence? Does it allow borrowing/copying some algorithms?

  • Latexxx
  • [*][*][*][*][*]
Linux Foobar200 Clone?
Reply #10
Quote
There was a similar app for Linux called Musik. I can't get their site to load now. I don't get a 404 or anything, just nothing. Somebody linked the site to me once last year and I haven't checked up on it since so I don't know if the project's been scrapped or what. Here's the link I have in case it comes back up:  http://musik.berlios.de/

It doesn't seem to be dead. At least they did a release at 14th March nad the link works at least for me. Try this: http://developer.berlios.de/projects/musik/

  • kode54
  • [*][*][*][*][*]
  • Administrator
Linux Foobar200 Clone?
Reply #11
Quote
You're entitled to your opinion, which is clearly wrong

Opinions are never wrong.

Foobar2000 isn't just about the user interface. It's also about the underlying architecture.

The players you wish to borrow components from basically duplicate the style of Winamp2. Inputs do their own file reading, create their own decoding threads, and open the output themselves, and they can only decode one file at a time. I'm not sure about all of those players, but the XMMS components are probably coded to use GTK for their dialogs as well.

It can't really be called a Foobar2000 clone if you don't duplicate the core service system outlined by the SDK. With some work, you can duplicate the core, or even go so far as to wrap all of the platform-specific functionality that most components will need, so they won't too many source changes to be recompiled for either platform.

If you really knew anything about the underlying design, you'd know why it's so easy to wrap many of the Winamp2 clones' components into each other player, and why it's such a pain to wrap them into Foobar2000 itself.

Why yes, the Winamp2 input wrapper is quite buggy. What a surprise, the AMIP wrapper and Winamp2 general component combo is not without its share of annoying bugs.

  • MuMart
  • [*][*]
  • Banned
Linux Foobar200 Clone?
Reply #12
Quote
The players you wish to borrow components from basically duplicate the style of Winamp2. Inputs do their own file reading, create their own decoding threads, and open the output themselves, and they can only decode one file at a time. I'm not sure about all of those players, but the XMMS components are probably coded to use GTK for their dialogs as well.


That's actually not true. Gstreamer is not an application, more of an architecture for processing 32 bit audio data in realtime. There's also a plugin system called LADSPA that is similar to DirectX that gstreamer can use. These systems are intended to be professional quality. A great deal of DSP algorithms are already available, and adding new ones would not be difficult.

Quote
It can't really be called a Foobar2000 clone if you don't duplicate the core service system outlined by the SDK. With some work, you can duplicate the core, or even go so far as to wrap all of the platform-specific functionality that most components will need, so they won't too many source changes to be recompiled for either platform.


Well, my idea is not to produce a port anymore, more of an application "in the spirit of Foobar2000". Which probably means I shouldn't be discussing it in this thread anymore

Quote
If you really knew anything about the underlying design, you'd know why it's so easy to wrap many of the Winamp2 clones' components into each other player, and why it's such a pain to wrap them into Foobar2000 itself.


I admit I know nothing of foobar internals, although audio plugin architectures are all alike at a fundamental level. I know foobar requires things such as sample-accurate seeking from it's input plugins which would cause problems integrating simple architectures.

I need to give it more research, but I think gstreamer  will provide all the necessary components to provide a very powerful audio management app in linux. As an added bonus all extensions to gstreamer are available for other apps to use.

Quote
Why yes, the Winamp2 input wrapper is quite buggy. What a surprise, the AMIP wrapper and Winamp2 general component combo is not without its share of annoying bugs.


Running winamp plugins on linux is a non-starter. Also integrating XMMS plugins is probably not such a good idea also. It would probably be better to adapt them into the gstreamer arch instead.

Anyway, the success of foobar2000 is not about the software architecture, it's the fact that it does what lots of people want in one place.

A project like what I am considering would be a success only if it provides the features people want out of a player. I don't think it has to be a straight-copy of foobar as long as it has all the necessary features.

  • MuMart
  • [*][*]
  • Banned
Linux Foobar200 Clone?
Reply #13
Quote
MuMart: Do you think that all good features can be implemented like dithering and replaygain? What about foobar2000 licence? Does it allow borrowing/copying some algorithms?


Replaygain is not a problem at all. The dithering algorithms may need to be written/adapted into (hopefilly) ladspa plugins. If the foobar license forbids adapting their algorithms they would have to be sourced from somewhere else. There are lots of dithering algorithm sources on the web.

Somebody may already have written them. There are lots and lots of LADSPA plugins on the web.

  • Thikasabrik
  • [*][*]
Linux Foobar200 Clone?
Reply #14
It would be great to see this project happen! Linux already has iTunes-alike music players (rhythmbox), but it just doesn't have the swiss army knife that is foobar. Btw, muine (http://muine.gooeylinux.org/) is an interesting player, although it is programmed in C# and requires mono, in that it uses GStreamer and supports replaygain. Unfortunately, it's simple interface and lack of options mean it is taking a completely different path to foobar. But, that said, a GStreamer musepack plugin would bring it a lot closer... Anyway, good luck MuMart, I hope you succeed. I'll be happy to test this player, as I'm sure many others will.

  • landor
  • [*]
Linux Foobar200 Clone?
Reply #15
Quote
I've recently moved to linux and have been thinking about having a FB2K like audio app for that platform.

I've been looking around and am unable to find a player/plugin for linux that enables reading audio files out of zip/rar/etc like Foobar's archive-reader.
Any suggestions?

  • foosion
  • [*][*][*][*][*]
  • Moderator
Linux Foobar200 Clone?
Reply #16
Quote
Anyway, the success of foobar2000 is not about the software architecture, it's the fact that it does what lots of people want in one place.

How do think it can do so many useful things, if not because of its software architecture (which does not only cover input/DSP/output)?
http://foosion.foobar2000.org/ - my components for foobar2000

  • MuMart
  • [*][*]
  • Banned
Linux Foobar200 Clone?
Reply #17
Quote
How do think it can do so many useful things, if not because of its software architecture (which does not only cover input/DSP/output)?


The foobar architecture is indeed very flexible and successful. The point I was making is that it is not necessary to keep the *exact* foobar2000 architecture and port it over to make a software with the same functionality. The important thing is for the app to have all the features the users demand. None of the current linux players currently have the features of foobar - and I hope to start a project to create one.

  • teetee
  • [*][*][*][*]
Linux Foobar200 Clone?
Reply #18
Quote
None of the current linux players currently have the features of foobar - and I hope to start a project to create one.

Having looked at wxMusik (http://developer.berlios.de/projects/musik/ , http://musik.berlios.de/) as suggested earlier in this thread, I would suggest you look at joining that group and adding the functionality you feel is missing from that. It is open source AND cross-platform using a free C++ cross-platform library (wxWidgets) for display.

wxMusik is obviously missing plenty of features I (and many others would like) but it has a good basis (SQLite backed database so simple and complex queries possible for creating playlists) and being properly cross-platform means that it should appeal strongly to people (like me) who need to use both Windows and Unix/Linux at various times and who would like a consistent, powerful music player like fb2k on both platforms..

It is at least worth checking out wxMusik to see if you could join the developers and add those features rather than starting completely from scratch..
  • Last Edit: 20 April, 2004, 05:53:00 AM by teetee
Check out the foobar2000 Wiki: http://doc.hydrogenaudio.org/wikis/foobar2000/FrontPage
If you can help write it, please sign up and start writing!

  • teetee
  • [*][*][*][*]
Linux Foobar200 Clone?
Reply #19
Quote
The foobar architecture is indeed very flexible and successful. The point I was making is that it is not necessary to keep the *exact* foobar2000 architecture and port it over to make a software with the same functionality. The important thing is for the app to have all the features the users demand.

I think that you will find that it is equally important (if not more important) for the app to have all the features that plugin developers might "demand". IMHO fb2k is successful for two (main) reasons:
1. The core player has more features, implemented better than any other windows player (replaygain, dsp chain, format support, masstagger, multiple playlist etc.)
2. The architecture has allowed the API to be so strong that a large number of individuals have created powerful plugins to extend fb2k even further (more file formats, on screen display, extended search and playlists, lyrics, ipod, etc.)

So.. it is clear that to make a player desirable, you need to make it possible to offload as much of the functionality development to plugin developers as you can. This allows you to concentrate on core features. You would do well to use a similar architecture to foobar2000.

Of course ideally Peter would allow someone to port all the non-cross-platform stuff in the core into wxWindows.. 
  • Last Edit: 20 April, 2004, 06:03:04 AM by teetee
Check out the foobar2000 Wiki: http://doc.hydrogenaudio.org/wikis/foobar2000/FrontPage
If you can help write it, please sign up and start writing!

  • askoff
  • [*][*][*][*]
Linux Foobar200 Clone?
Reply #20
I think that wxMusic misses so many features, that perhaps it's better to look that LADCA project. At least I didn't saw free playlist custoize, other than MP3 an ogg supprot, APEv2 tags, replaygain, dithering, gapless MP3 playback support and so on. Or the features documentation is not well done.

  • Agent86
  • [*][*]
Linux Foobar200 Clone?
Reply #21
If you're looking for an existing "architecture" to tap into, GStreamer is probably the way to go.  Their ongoing integration with Gnome will open the app up to a lot more users as well as draw attention from Gnome developers.

- Agent 86

  • Giakaama
  • [*]
Linux Foobar200 Clone?
Reply #22
Well ... Hi ...
I'm using foobar2000 since the beginning    and when i switched to linux i really really wanted a foobar2000 port , all the linux players don't do all the stuff that foobar2000 does ... but porting foobar2000 from windows to linux is not easy so when i read about a foobar2000 clone for linux i thought that ... "well i think is time for us linux-guys to be happy"

So ... if you could do this foobar2000 clone ... like foobar2000  then i'll wait for the release ...

Currently i use foobar2000+foo_ui_columns.dll+wine in linux ... it works pretty good but is not ... native ...  ...

  • filon
  • [*][*][*]
Linux Foobar200 Clone?
Reply #23
Foobar2000 can be made as native Linux application by compiling with winelib. This would need adapting code to make it Wine compatibile, but probably shouldn't be much of work.

  • Giakaama
  • [*]
Linux Foobar200 Clone?
Reply #24
Hi guys !!!

Well ... MuMart ... did you start developing the player ??? we all wait to test it !!!  Hope you start working on it soon !!!

Linux users NEED  a good music player  !!! And a foobar2000 clone will be the best !!!