Musepack Forums  

Go Back   Musepack Forums > Main > MPC for UNIX

Reply
 
Thread Tools Search this Thread Display Modes
Old 01 August 2004, 09:30 am   #1
Lefungus
Procrastinator
 
Lefungus's Avatar
 
Join Date: Jul 2004
Posts: 131
Default Gstreamer plugin for musepack

This is my next target as it seems to be possible under some conditions. Those are that the source must be a musepack file. Not a big deal when it comes to music players since they exactly use that.
But you won't be able to leverage gstreamer possibilities, and mux musepack in other containers. That will only be available with sv7.5.

As long as it allows me to play musepack under muine, rhythmbox or juk, all will be fine
Lefungus is offline   Reply With Quote
Old 14 October 2004, 04:47 am   #2
mpcfiend
Member
 
Join Date: Oct 2004
Location: Cold Lake AB, CA
Posts: 3
Send a message via ICQ to mpcfiend Send a message via MSN to mpcfiend
Default

I'm curious how the battle is going. I too want to play Musepack within the KDE framework.
mpcfiend is offline   Reply With Quote
Old 14 October 2004, 07:40 am   #3
Ganymed
Administrator
 
Ganymed's Avatar
 
Join Date: Jul 2004
Location: Dresden, Germany
Posts: 17
Default

Quote:
I'm curious how the battle is going. I too want to play Musepack within the KDE framework.
amaroK is a audio player for KDE which has Musepack support. Too bad, that it doesn't support cuesheets and ReplayGain.

Best regards,
~ Florian
Ganymed is offline   Reply With Quote
Old 14 October 2004, 03:15 pm   #4
Lefungus
Procrastinator
 
Lefungus's Avatar
 
Join Date: Jul 2004
Posts: 131
Default

I haven't done much about it since I am currently very busy. Anyway, the more I look at it, the more hackish it looks like, so don't hold your breath on this topic.
Lefungus is offline   Reply With Quote
Old 15 October 2004, 02:20 am   #5
mpcfiend
Member
 
Join Date: Oct 2004
Location: Cold Lake AB, CA
Posts: 3
Send a message via ICQ to mpcfiend Send a message via MSN to mpcfiend
Default

Thanks for the replies; I guess we'll have to wait for SV 7.5 to be released before anything comes of this topic. In the meantime, I'll try Amarok, thanks for that tip!
mpcfiend is offline   Reply With Quote
Old 07 November 2004, 01:47 pm   #6
Beelzebubu
Member
 
Join Date: Nov 2004
Posts: 2
Default

Hi,

since it takes so long, I'll give it a try myself. Apparently I ended up getting a MPC file on my harddisk for some reason and I want to play it. Some questions:
* MPC_decoder:ecode() takes a int32 as argument (ok, so it's MPC_SAMPLE_FORMAT but that's the same thing). Howlarge should I allocate this buffer? FrameLength*samplesize*channels?
* Is the format "plain" signed 32-bit integer or is there something special? Looking at the headers, it seems like the format is -(1<<29) to (1<<29), which seems weird because afaik, integer 32-bit signed audio is in -(1<<30) to (1<<30) (full 32-bit data value range). Am I just missing something obvious? I don't want the plugin to do any sort of sample conversion, we have way better plugins elsewhere in GStreamer to do that. A musepack decoder should just decode.
* am I supposed to keep track of timestamps myself or are there timestamps embedded in the stream? If not, how do I know the exact timestamp after a seek (given that it's VBR)? Or doesn't that matter?
* can I reuse a MPC_decoder object between streams?
* who takes ownership (and thus takes care of dereferencing) the MPC_reader that I provide to MPC_decoder?
* What's APEv2 and how do I read it?

Thanks,

Ronald
Beelzebubu is offline   Reply With Quote
Old 07 November 2004, 03:25 pm   #7
Lefungus
Procrastinator
 
Lefungus's Avatar
 
Join Date: Jul 2004
Posts: 131
Default

The documentation of APEv2 tags is here.
Currently, it seems to be broken, so google's cache will do the job meanwhile [1] [2] [3] [4].

I can't really help about the internals of libmusepack though.
Lefungus is offline   Reply With Quote
Old 07 November 2004, 04:38 pm   #8
DEATH
foobar2000 developer
 
Join Date: Jul 2004
Posts: 4
Default

Quote:
* MPC_decoder:ecode() takes a int32 as argument (ok, so it's MPC_SAMPLE_FORMAT but that's the same thing). Howlarge should I allocate this buffer? FrameLength*samplesize*channels?
MPC_SAMPLE_FORMAT is either int32 (signed) or float, depending on MPC_FIXED_POINT #define in mpc_math.h. Floating-point mode is faster on about anything that has an FPU. As indicated by comments in headers, nominal range of fixed-point mode output is -MPC_FIXED_POINT_SCALE .. MPC_FIXED_POINT_SCALE, while nominal output range for floating-point decoding is -1 .. 1. Results may exceed nominal range, calling code is responsible for clipping them. Output buffer for Decode() should be MPC_decocder:ecodeBufferLength items long.
Quote:
* am I supposed to keep track of timestamps myself or are there timestamps embedded in the stream? If not, how do I know the exact timestamp after a seek (given that it's VBR)? Or doesn't that matter?
Library is responsible for seeking by itself. You only call the SeekSeconds() or SeekSamples() function. There are no timestamps in the stream, and seeking is very inefficient because of cross-frame dependencies.
Quote:
* can I reuse a MPC_decoder object between streams?
No.
Quote:
* who takes ownership (and thus takes care of dereferencing) the MPC_reader that I provide to MPC_decoder?
Caller has to create/destroy the MPC_reader callback object.

On a side note, it seems someone axed sample.cpp from the archive instead of updating it to compile it with new library changes. I've fixed it and temporarily mirrored here.
DEATH is offline   Reply With Quote
Old 07 November 2004, 05:41 pm   #9
Shy
Admin
 
Shy's Avatar
 
Join Date: Jul 2004
Posts: 370
Default

The above sample.cpp is now added to the libmusepack archive on the site.
Shy is offline   Reply With Quote
Old 07 November 2004, 06:27 pm   #10
Beelzebubu
Member
 
Join Date: Nov 2004
Posts: 2
Default

ok, thanks all, MPC support added. Will do APEv2 later on.
Beelzebubu is offline   Reply With Quote
Old 07 November 2004, 11:06 pm   #11
mpcfiend
Member
 
Join Date: Oct 2004
Location: Cold Lake AB, CA
Posts: 3
Send a message via ICQ to mpcfiend Send a message via MSN to mpcfiend
Default

Thanks muchly I'm sure there's a whole crew over at HA that was looking forward to hearing this as well.

Regards,
James
mpcfiend is offline   Reply With Quote
Old 07 November 2004, 11:37 pm   #12
Shy
Admin
 
Shy's Avatar
 
Join Date: Jul 2004
Posts: 370
Default

Thanks Beelzebubu. I'm sure our team would be glad to answer all further questions you might have, including APEv2 matters. You could ask the same you asked in your news update here, just without the "ignorant morons" part, and you might learn a thing or two.
Shy is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Crash in winamp with the musepack plugin cmamet MPC for Windows 15 05 September 2005 11:46 pm
WhereIsIt MPC Description Plugin miksha MPC for Windows 5 31 August 2005 05:19 pm
downloaded decoder and plugin not functioning @_@ ringhelediel MPC for Windows 1 17 July 2005 03:46 am
XMMS 1.1.2 plugin on FreeBSD Olev MPC for UNIX 1 28 March 2005 05:13 pm
Slighthly modified Winamp MPC plugin! miksha Development 14 30 August 2004 09:55 pm


All times are GMT. The time now is 10:32 am.


Powered by vBulletin® Version 3.8.11 Beta 2
Copyright ©2000 - 2019, vBulletin Solutions Inc.