CDDA support in Noatun

Stuart Longland stuartl at longlandclan.hopto.org
Sun Jan 9 12:08:26 GMT 2005


Hi,
	Apologies for the slow reply -- replying inline.

mETz wrote:
> On Dienstag Januar 4 2005 03:53, Stuart Longland wrote:
> 
>> Originally, the plan was to develop one from scratch, however just
>>recently, it came to my attention that Noatun was already capable of
>>playing MP3s at an adjusted speed (using the Alsaplayer interface).
>>Seeing as this is already an easy-to-use and mature platform already, it
>>seemed obvious to me that this would be a better solution than bashing
>>out my own.
> 
> it's actually artsd that allows pitching whatever floats through its pipe. So 
> far Noatun is just a frontend to artsd which does both the decoding, mixing, 
> effects, output etc.

Ahh okay, I figured this would be the case.  I found that adjusting the 
speed to the extremeties caused artsd to crash -- I was already aware 
that it handled the sharing of the sound card, but I spose it's in an 
ideal position to do any audio processing.

>> Is there a preferred way to develop input plugins?  Ideally, I'd like
>>to make an input plugin that can say, take a URL of the form:
>>cdda:/dev/cdrom:2 (or similar), meaning play Track 2 from /dev/cdrom.
>>I've just poked through the documentation, it covers making Interfaces,
>>Visualisation and Effect plugins, but I don't see much talking about
>>input plugins.  What would be the best way to tackle this?  (Note, I'll
>>be doing a crash course in C++ in the process)
> 
> KDE actually does have something similar. It's the audiocd-ioslave (part of 
> kdemultimedia). If you have it installed you can browser an audio-cd in konq 
> using "audiocd:/".
> Now the problem with ioslaves is that you cannot seek in files using their 
> API. You can just download/upload files using them but that's actually most 
> of it.
> The best way to solve this problem all and for once would be if kio would be 
> more unix like and have open/close/read/write/lseek calls. So far nothing has 
> been done towards this direction (this would be something to be "fixed" in 
> kdelibs) :(

I've just tried it here -- no luck.  Inside Konqueror under Services, 
there is a "Audio CD" listing there, but clicking on it just tells me 
that "audiocd is not a valid protocol".  I'd say it's to do with my 
system's config (I have a SCSI CD burner and a IDE DVD reader on my 
machine, neither of which link to /dev/cdrom) so I don't think kdelibs 
is to blame here.

So in order to implement such a system, I'd have to write (perhaps using 
the code from the audiocd kioslave) my own kioslave to handle such URLs. 
  The limitation being that one cannot seek to other parts of a track.

Would it be possible to pause in the middle of the track still?  The 
current solution I have now allows this, but is simply a frontend to 
cddatowav, and therefore cannot seek into a track.  The most I can do 
without replacing cddatowav is display where in the track it's up to -- 
a useful feature, but not essential, and therefore I'm not bothered if I 
can't provide such a feature.

>> From here, my plan would be to modify the AlsaPlayer interface to add a
>>Scan CD button, and to make the speed adjustment endpoints configurable
>>(so the scale is more useful).
> 
> See the KJofol interface of Noatun. It might not suite your taste in case you 
> want a KDEish looking player but it has got _exactly_ that feature (note: the 
> skin also needs to support pitch controls, the original skin does of course 
> have such a wheel). It's not really hard to port this to any other gui plugin 
> of course.

I just had a look at the KJöfol skin.  It would be alright, but it does 
look a bit futuristic, which might frighten the target audience[1]. 
Otherwise it would be fine.  The only thing I see as needing to be done 
is to connect the pitch & scan buttons to the respective actions (I 
tried it with an audio CD inserted but found it didn't do anything).  My 
other complaint that it was quite difficult to spot at first.

>>(BTW: Is there an IRC channel I can join to discuss this on?)
> 
> irc.freenode.net, #kde-devel

I might pop in later.  For the moment it's looking like I'll continue 
with my own little player and get it to a more usable state initially, 
but my ultimate aim would be to bring this functionality to KDE.
-- 
+-------------------------------------------------------------+
| Stuart Longland -oOo- http://stuartl.longlandclan.hopto.org |
| Atomic Linux Project     -oOo-    http://atomicl.berlios.de |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| I haven't lost my mind - it's backed up on a tape somewhere |
+-------------------------------------------------------------+

1. The target group are not necessarily that computer literate and 
therefore such an interface I feel is probably a bit on the complicated 
side.  Certainly placing a computer novice in front of a Linux laptop is 
enough of a bold move for now. :-)



More information about the kde-multimedia mailing list