| | | | | | |
|
La is not open-source. Code to the plugins and command-line program has been released in order
to encourage development, however the core engine is contained in a .dll, the API for which is
included however the source is not. This means you can use this .dll in any programs you write
with which you wish to use La, you will just not be able to view or change the source code the
.dll is created from.
While La is not open-source it is free. Feel free to use the codec in any program, however please
also inform me at least if you do so.
If La being closed-source offends the open-source zealots among you, then simply use one of the
many available open-source alternatives (Flac, Wavpack, Monkey's Audio) and don't bug me. The
development of La's state-of-the-art codec required a large investment in time and I have no
desire at this point in time to simply give away the product of this time. If you think this is
selfish I suggest you go live in Cuba as the society I live in is capitalist.
|
|
|
| | | | | | |
|
I've tried to put some thought into the design of the La API so that hopefully it will remain
relatively stable. As its the first such .dll API I've created however, there may be some things I've simply
done wrong which may require future changes. Please contact me if you have any suggestions. Further,
if La is ever extended to support 24-bit files this change would require some changes to the API.
That said, the best way to understand the API is to look at the source to one of the plugins or to
the command-line program. All sources are contained in the archive la-api.rar. The .dll
provides the class LaCodec (defined in dllinterface.h) which contains the main
interface.
It serves as a factory, creating and destroying instances of the encoder and decoder objects (defined
in encoderI.h and decoderI.h respectively). It additionally provides the
getVersion() function to return the codec version of the .dll.
To see how to include the .dll in a project, again look at the examples. Basically, you need to include
the relevant header files, and (in Visual Studio .NET at least) under Linker-Input add
la-core.lib as an 'Additional Dependency'. I hope having all the projects as Visual
Studio .NET (7.0) projects isn't too much of a bother for those still using 6.0 or other tools.
|
|
|
| | | | | | |
|
One of the reasons I created the API is the hope that someone may take over work on the plugins, in
particular the foobar2000 plugin, as foobar2000 tends to change its API rather too frequently for my
liking. Also, the foobar2000 plugin could probably do with some work. I never found much documentation
telling me how to do it properly so I just did what works. If you're interested in working on this then
please contact me.
I personally have little time or interest to develop new plugins or update the existing plugins. The
time I have I would rather spend on the compression engine. So any help in the plugins department would
be appreciated.
|
|
|
| |
|