Skip to main content
Topic: Euphonos - Mac OS X audio player project (Read 110172 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Euphonos - Mac OS X audio player project

Reply #50
Quote
.....

If I were to support this, it would probably be in the form of a dsp plugin.  All other audio outputs are currently handled in this way.  The DSP system in Euphonos now makes use of AudioUnits.  AudioUnits are similar to VST plugins, except they make direct use of coreaudio and are more powerful overall.  Many of the applications like Logic and the like are using audiounits now for example.

So the same with any other audiounit, if someone were to make one that supported sending data to the airport express (maybe someone already has?), Euphonos could make use of it with no further modification necessary.

....

[a href="index.php?act=findpost&pid=313888"][{POST_SNAPBACK}][/a]



Audio unit support is awesome.. good to hear as I'm writing (well I'm doing this killer course right now.. but in a month when I have the time) a convolver audio unit.. which we really need to bring DRC to the mac.. which is something I'm really missing right now. What would be great would be the ability to string together audio units in arbitrary ways, ie, split or join channels of an audio stream, so you can use convolvers as digital crossovers, then drc, then route output to various outputs in funky ways. The only way to do this now is under linux with brutefir.. that's just on my wish list anyway.

Also, it's the little things with foobar that make it such a great program. For instance, if you drag and drop a list of mp3s, it retains the order they're in from the explorer window. That's pretty much the only program (at least in windows) that does that.. every other program scrambles the list for some reason. Also it's gapless right from the get go.

Otherwise, this project looks really great.. I look forward to seeing what you come up with and seeing what we add in terms of plugins and whatnot.


For those of you interested in a convolver plugin, it's going to be pretty basic as I'm going for speed. XCode has everthing you need to do convolution, it's basically a matter of putting it together.. which I'm still learning btw as I've never programmed for mac.. xcode is really great btw, if it wasn't for that I wouldn't bother with a project like this. Like I said.. I just won't have time to look at this for another month.. anyway..

The one interesting feature I'm going to be implimenting is a slider bar to adjust a 'partitioned' convolution approach, which means that you can reduce the latency in the filter, with the side effect of increasing the cpu it uses, which would make long filters usable in realtime, ie, for home theater applications or home studio applications. What this means with the right routing software in osx you could feed a toslink or mic inputs or whatever into good a low latency usb2 (3ms)sound box and perform crossovers, drc and output it to abritrary outputs.. say a sub and an amp,  or however many amps you wanted to per channel.. all in real time, limited only by cpu power.

Euphonos - Mac OS X audio player project

Reply #51
Quote
Audio unit support is awesome.. good to hear as I'm writing (well I'm doing this killer course right now.. but in a month when I have the time) a convolver audio unit.. which we really need to bring DRC to the mac.. which is something I'm really missing right now. What would be great would be the ability to string together audio units in arbitrary ways, ie, split or join channels of an audio stream, so you can use convolvers as digital crossovers, then drc, then route output to various outputs in funky ways. The only way to do this now is under linux with brutefir.. that's just on my wish list anyway.


The way that the audio unit support works right now is that the user is presented with a window with a graphical view and a table with a list of audio units.  The user can drag and drop an audio unit from the table onto the graphical view, which creates a graphical representation of the audio unit node on a grid (snapped or unsnapped).  When the user clicks on the audio unit node representation in the graphical view, it shows information about current node settings in addition to the current node connections.  The user can either set the connections by selecting input/output ports on other nodes from a pulldown, or by clicking and dragging (essentially "drawing") a connection between two units in the graphical view.

So basically, the dsp chain is an audio unit graph (I use AUGraph in fact) that the user can "model" visually.  This pretty much gives you the "string together audio units in arbitrary ways" part.

I'd show a screenshot of this (maybe soon though), but it's still rough around the edges.  The view class still needs some work, and the placeholder graphics are quite ugly ).  It's been quite a learning experience getting all of this going.  In fact, research has taken more time than programming so far  I've had to learn core audio, audio units, quartz (for the drawing), in addition to a dozen other libraries/technologies in OS X which are not always trivial to understand.

Quote
Also, it's the little things with foobar that make it such a great program. For instance, if you drag and drop a list of mp3s, it retains the order they're in from the explorer window. That's pretty much the only program (at least in windows) that does that.. every other program scrambles the list for some reason. Also it's gapless right from the get go.


A lot of these kinds of things in Euphonos will depend upon how the Cocoa stuff behaves.  Of course, in some cases you can tweak things too.

Quote
For those of you interested in a convolver plugin, it's going to be pretty basic as I'm going for speed.


If you're going for speed, you should check out the Accelerate.framework if you haven't yet.  There are some incredibly fast and easy to use hardware accelerated math routines in there that will let you take advantage of Altivec on PPC and eventually SSE on x86.

Euphonos - Mac OS X audio player project

Reply #52
As a long time Mac user...i thank you. While iTunes is fine for the casual listener, have been searching for a better alternative -- i think this could be it.

Will there be gapless playback of aac/mp3 files in this Euphonos?

That is one of my biggest pet peeves with iTunes.

Euphonos - Mac OS X audio player project

Reply #53
Quote
Will there be gapless playback of aac/mp3 files in this Euphonos?
[a href="index.php?act=findpost&pid=318149"][{POST_SNAPBACK}][/a]


Yes, there will be gapless playback.

Euphonos - Mac OS X audio player project

Reply #54
Are there any pre-alpha screenshots of concept art on the interface?

I just want this thing to be out soon so I can play w/ it on my powerbook.

-Joe

Euphonos - Mac OS X audio player project

Reply #55
Quote
Are there any pre-alpha screenshots of concept art on the interface?

I just want this thing to be out soon so I can play w/ it on my powerbook.

-Joe
[a href="index.php?act=findpost&pid=318161"][{POST_SNAPBACK}][/a]


Not really.  The UI has constantly been in flux for quite awhile.  Most of the basic concepts are nailed down, but things change a lot depending on the underlying implementation (which is also constantly in flux right now).  I don't want to show a lot now and then have it look completely different when the release actually comes out.

As for when a release will materialize, I don't really know yet.  I've been fairly busy with some other stuff lately and haven't had as much time to work on Euphonos as I'd like.  Hopefully things will clear up soon again though and I can get back to work.

Euphonos - Mac OS X audio player project

Reply #56
Wow this player sounds extremely impressive.  The funny thing is that it uses more OS X technologies than itunes . 

Because itunes is cross platform It can never fully explit OS X. It's ironic that Apple's tools are being used against them.

any way.  I am very curious about the intergration of this app into other OS X applications.  Will this app beable to cooperate with other apps like Growl, Quicksilver, Adiumx, iChat, iPhoto, Automator, and iWork's media browser?  If it can truly replace itunes integration into other apps it will be my default app.

Also I hope to be able to connect to more than 5 people's library's a day:cool:

Euphonos - Mac OS X audio player project

Reply #57
This sounds great!

The awkward and inflexible iTunes has gotten on my nerves ever since I got my Mini a couple of months ago. Everything else on the mac is smooth sailing, I just miss a good and flexible music player like foobar2k.

I've actually started coding on a "clone" of foobar2k, but haven't gotten far on it yet, and many of your ideas, especially about the playlist formatting, are much better than my plans of almost straight off porting foobar2k.

I guess what I'm trying to say is that if you want any kind of coding help on this thing I'd be glad to lend a hand!

/Jonatan

Euphonos - Mac OS X audio player project

Reply #58
Dibrom, as a fairly recent mac user I have to applaud your efforts and await with eager anticipation. I haven't yet delved into mac programming yet, but maybe someday I can offer my services.
"Droplets of Yes and No, in an ocean of Maybe"

Euphonos - Mac OS X audio player project

Reply #59
I'm REALLY looking forward to using something other than iTunes to play back my files. And something good, not some dumb MacAmp Lite or jimmy-rigged setup of XMMS on X11.  It's this type of limitation (in terms of software choices) that may cause me to go back to Windows once my PB kicks the bucket. 

I sure miss FB2k.

Euphonos - Mac OS X audio player project

Reply #60
Quote
Wow this player sounds extremely impressive.  The funny thing is that it uses more OS X technologies than itunes .


Yeah.  AFAIK, iTunes doesn't even use Cocoa, but uses Carbon instead.  This I think has more to do with the fact that it was originally based around the code of an earlier player, and Apple simply bought the company.  iTunes could be quite a bit more powerful if they'd do a complete rewrite, but I guess they see no real need to.  Most of the other newer i* apps use Cocoa.

As for portability, the original NeXT Foundation stuff was supposed to be portable to win32 IIRC.  Who knows whether Apple maintains that part of the codebase anymore or not.  But if they do, at least in theory, it wouldn't be too hard for them to make use of a good portion of Cocoa technologies even on win32.

Quote
any way.  I am very curious about the intergration of this app into other OS X applications.  Will this app beable to cooperate with other apps like Growl, Quicksilver, Adiumx, iChat, iPhoto, Automator, and iWork's media browser?  If it can truly replace itunes integration into other apps it will be my default app.


I plan to keep the player distribution itself pretty simple.  The player will be able to make use of plugin bundles though that will allow 3rd parties to interface with other apps this way.  I haven't done much in the way of finalizing the API for this because it's fairly low on the priority list right now.  But I would like to make it as easy as possible to interface different applications with the player this way.

Euphonos - Mac OS X audio player project

Reply #61
The fact that it's Carbon i think has to do more with the transition of the app from 68K processor architecture to PowerPC architecture.  It was easier to port the 68K apps to OS X if they simply carbonized them, instead of fully rewriting them in Cocoa.

The reason the new iApps are Cocoa, is because they have all been developed after OS X, and thus directly for the PowerPC architecture.

Regardless, i am very excited about this player.

Lack of audio players is the only area on my Mac i feel like i'm cornered to select from very few players.

Euphonos - Mac OS X audio player project

Reply #62
Quote
The fact that it's Carbon i think has to do more with the transition of the app from 68K processor architecture to PowerPC architecture.  It was easier to port the 68K apps to OS X if they simply carbonized them, instead of fully rewriting them in Cocoa.

The reason the new iApps are Cocoa, is because they have all been developed after OS X was introduced for the PowerPC architecture.
[a href="index.php?act=findpost&pid=318952"][{POST_SNAPBACK}][/a]


Hrmm.. I don't think cpu architecture has so much to do with it as the transition from earlier versions of MacOS to Mac OS X though.  It was easier to port applications that made use of earlier MacOS api's to carbon because carbon is written in C, whereas Cocoa uses objective-C, which requires practically an entire rewrite of the codebase to use in the proper way.

Anyway, PowerPC was around when the original MacOS operating system was too.  It's not as new as Mac OS X.

Euphonos - Mac OS X audio player project

Reply #63
In any big town in the country you will find some amateur DJ's who are using iTunes to DJ for swing, salsa, tango, etc... events.  They typically make at least one mistake a night (accidentally cutting off a song or playing something they didn't intend) much to the chagrin of all the dancers. 

I was hoping to solve this by writing a sister program for iTunes that would actually play the music, while iTunes was used to find and demo songs before adding them to the queue.  It was shooting for a quick solution in applescript studio, but I was only able to get about half of the GUI working before the summer ended. 

The point of telling you the above is to let you know that you will have an appreciative audience even outside the audiophile community if your program finds music at least as easily as iTunes and can play two songs simultaneously through different devices.  Heck, even if it only allow the addition of songs to the currently playing playlist via applescript, it will find some DJ'ing use.

Thanks, and I hope you are very successful!  I'd love to help test/debug your program, as well as make a (albeit) student sized monetary contribution if it will help you pay for hosting or development hardware.

Drew

Euphonos - Mac OS X audio player project

Reply #64
I'm curious dibrom, are you going to use CoreData to store the library information?

I've wanted iTunes to use this ever since I heard of it.
"Droplets of Yes and No, in an ocean of Maybe"

Euphonos - Mac OS X audio player project

Reply #65
Dibrom:

Euphonos sounds very nice and I am really looking forward to it. Aside from EAC, a player on par with Foobar is something that Mac really needs.

Thanks in advance for all your efforts.

Euphonos - Mac OS X audio player project

Reply #66
Quote
I'm curious dibrom, are you going to use CoreData to store the library information?

I've wanted iTunes to use this ever since I heard of it.
[a href="index.php?act=findpost&pid=320803"][{POST_SNAPBACK}][/a]


Yes.  I am using the SQLite method of CoreData storage.

As for iTunes, I don't know if it would make much difference there unless you had a very large library.  iTunes, AFAIK, already uses an XML playlist which appears to be similar to some extent to the XML method of CoreData storage.  Theoretically, the SQLite method is better for such things which is why I'm using that from the start (that in addition to the fact that there's no extra work involved in using SQLite), but for most users with moderately sized libraries, it may not make a real noticeable difference in performance.

Quote
Dibrom:

Euphonos sounds very nice and I am really looking forward to it. Aside from EAC, a player on par with Foobar is something that Mac really needs.

Thanks in advance for all your efforts.
[a href="index.php?act=findpost&pid=322123"][{POST_SNAPBACK}][/a]


You're welcome, although I haven't released anything yet

I just started classes yesterday, and this semester looks to be pretty tough, so I don't know how that's going to affect Euphonos development yet.  I've also been working on another project lately which is quite complex -- an ARM cpu emulator with optimizing, retargetable dynamic binary translation.  This is something I need for school, so unfortunately that's cuts into my Euphonos time even more.

I'll update this thread again though when I have some more info on current progress.

Euphonos - Mac OS X audio player project

Reply #67
Quote
Yup. iTunes is good for music organizing/playback, but ripping is its major weak point right now.


Just curious, what is so weak about iTunes CD-ripping?

Euphonos - Mac OS X audio player project

Reply #68
Quote
Quick update:

About ripping -- I'm not going to be focusing on this, at least initially.  I'm not as interested in coding something like this as I am a general audio player.  I personally think the need to playback more formats than itunes is capable, and with far greater flexibility to boot, of is more important right now than secure ripping, especially when secure ripping is already possible even if not as easily or as nicely as EAC does it.  Of course, people are free to disagree, but they can take up the coding for that project if they like

[a href="index.php?act=findpost&pid=306220"][{POST_SNAPBACK}][/a]


What options for secure ripping are you talking about?

Two other questions:

1. I think would be very useful to keep the iTunes librar in sync with your apps, especially details like 'last played date' 'play count' 'date added' and similar. The reason is obvious, iTunes iPod handling is very attractive. Anything you consider?

2. How about implementing a USEFUL party mode? My definition of useful is:

allow the guests to browse your music library and playlists, but when they double click a song it should be added last in a queue. The size of this queue should be configurable (less than 1 hour, less than 10 songs or so).

Today if you let guests use iTunes on a party they just double click a track, interrupting the current song which is very annoying.


Comments?

Euphonos - Mac OS X audio player project

Reply #69
Quote
Quote

Yup. iTunes is good for music organizing/playback, but ripping is its major weak point right now.


Just curious, what is so weak about iTunes CD-ripping?
[a href="index.php?act=findpost&pid=326266"][{POST_SNAPBACK}][/a]


It's just that it has no error reporting. Although most drives handle scratched CD's very good these days, you'll still get lots of small pops and clicks on copy controlled discs without iTunes telling you about it. An implementation similar to EAC's test and copy would be perfect.

Euphonos - Mac OS X audio player project

Reply #70
Quote
Dibrom, I have a short question regarding Euphonos:
* Do you have plans, or already implemented AirTunes support?

This would be a killer feature for me, since I stream to my AirPort Express 95% of the time. Currently iTunes is the only audio player with this feature.
[a href="index.php?act=findpost&pid=313857"][{POST_SNAPBACK}][/a]


I am looking for a software Airport receiver, that is, something that emulates an Airport Express in software. That would be a killer app for me!  :-)

Euphonos - Mac OS X audio player project

Reply #71
There already exist software that lets you stream audio from computer to an AE. Unfortunately I can't remember the name, but it works on all audio output afaik.

Euphonos - Mac OS X audio player project

Reply #72
Quote
Dibrom, I have a short question regarding Euphonos:
* Do you have plans, or already implemented AirTunes support?

This would be a killer feature for me, since I stream to my AirPort Express 95% of the time. Currently iTunes is the only audio player with this feature.
[{POST_SNAPBACK}][/a]

That is not entirely true. There are already two projects which do this, [a href="http://nanocrew.net/software/justeport/]JustePort[/url] and raop-play. While not very user friendly, they do demonstrate the process necessary to get the audio to the AirPort Express.

Quote
I am looking for a software Airport receiver, that is, something that emulates an Airport Express in software. That would be a killer app for me!  :-)
[a href="index.php?act=findpost&pid=326272"][{POST_SNAPBACK}][/a]


The Airport Express does not come without protection, since you wouldn't want just anyone listening to your audio stream. The stream itself is AES encrypted, and the session key for that is RSA encrypted.

So, whoever plans on writing that will need to brute force the private key. Then, say hello to Airport Express snooping. Not that I expect anyone to be transmitting "sensitive" audio to their stereo equipment...

Euphonos - Mac OS X audio player project

Reply #73
Will you release it under opensource licence ? 

Euphonos - Mac OS X audio player project

Reply #74
Quote
Quote
Wow. Not that I use Macs at all, but this sounds really awesome! Even in the middle of the recent activity of OSX audio players development.

Oh, and by the way… So you're not an MPC developer anymore?
[a href="index.php?act=findpost&pid=304358"][{POST_SNAPBACK}][/a]


I haven't done much work on mpcenc lately.  I decided that I'd rather get some sort of good audio player working before worrying about improving audio format ports.

Besides, the recent announcement that Apple will be switching to x86 has made me reconsider whether or not I should spend as much effort on ppc optimization as I was previously doing...

We'll see what happens, but for now my main focus is going to be this.
[a href="index.php?act=findpost&pid=304388"][{POST_SNAPBACK}][/a]


Well, it'll take at least 3 years before the majority of Macs are x86... so I'd say that it would be wise to optimize for the G4

 
SimplePortal 1.0.0 RC1 © 2008-2019