Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Add ALAC decoding support in my media player (Read 10038 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Add ALAC decoding support in my media player

I'm a Delphi developer, don't know much C++ at all, and  I wish to add ALAC decoding support.  I designed my player to support Winamp input plugins a long time ago so I didn't have to write any low level decoding myself.  I can write my own winamp compatible plugins for my player and have done so for FLAC using libFLAC.dll, WMA, and WAV.

What is the easiest path to get ALAC decoding?

I found an old plugin for Foobar2000 foo_input_alac.dll but I don't know what functions to call or parameters, etc.

Thanks.

Re: Add ALAC decoding support in my media player

Reply #1
I can write my own winamp compatible plugins for my player and have done so for FLAC using libFLAC.dll, WMA, and WAV.

What is the easiest path to get ALAC decoding?
Write your own winamp compatible plugin that uses ALAC library (e.g. http://perkele.cc/software/ALAC )

I found an old plugin for Foobar2000 foo_input_alac.dll but I don't know what functions to call or parameters, etc.
It's quite difficult to use foobar2000 plugins from other programs. Besides, this plugin is very old and has bugs IIRC.

Re: Add ALAC decoding support in my media player

Reply #2
But I can't use C++.  I really need a simple to use DLL library, like there is for almost every other codec out there.  Is there someone here willing to do that for a fee, or should I post that somewhere else?  Perhaps emulating the libFLAC DLL function calls where possible.

Re: Add ALAC decoding support in my media player

Reply #3
Can you use the winamp ALAC decoder?

If not, the ffmpeg ALAC decoder is c rather than c++.

Re: Add ALAC decoding support in my media player

Reply #4
ALAC decoder by Apple (https://github.com/macosforge/alac) is not so difficult to use, but it only covers decoding of ALAC bitstream.
You also need demuxer. It's almost always in MP4 container but MKV and CAF are also known to support ALAC.
Compared to FLAC where file starts with rather simple header followed by raw FLAC frames, both of MP4 and MKV are hierarchical, structured, general purpose container format that is far more complex than FLAC file format, so you definitely want some library to handle them.

Re: Add ALAC decoding support in my media player

Reply #5
Can you use the winamp ALAC decoder?

If not, the ffmpeg ALAC decoder is c rather than c++.
Unfortunately not as the DSP plugin support in my player is only designed for Winamp 2 and early 5 versions.  Winamp changed their DSP structures and API around v5.2 and didn't publish the changes.

Re: Add ALAC decoding support in my media player

Reply #6
ALAC decoder by Apple (https://github.com/macosforge/alac) is not so difficult to use, but it only covers decoding of ALAC bitstream.
You also need demuxer. It's almost always in MP4 container but MKV and CAF are also known to support ALAC.
Compared to FLAC where file starts with rather simple header followed by raw FLAC frames, both of MP4 and MKV are hierarchical, structured, general purpose container format that is far more complex than FLAC file format, so you definitely want some library to handle them.
I only need the M4A/MP4 container support, but it all appears too difficult for me.

Re: Add ALAC decoding support in my media player

Reply #7
Would anyone be willing to produce a Windows DLL that supported decoding ALAC within an MP4 container, returning PCM.  Your time would be rewarded.