https://github.com/xlab/alac-go
Package alac provides Go bindings for ALAC decoder (C version by David Hammerton) with community patches.
https://github.com/xlab/alac-go
Last synced: 4 months ago
JSON representation
Package alac provides Go bindings for ALAC decoder (C version by David Hammerton) with community patches.
- Host: GitHub
- URL: https://github.com/xlab/alac-go
- Owner: xlab
- Created: 2016-01-06T02:37:50.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-09-05T16:47:27.000Z (almost 9 years ago)
- Last Synced: 2025-04-30T05:33:56.327Z (about 1 year ago)
- Language: C
- Size: 24.4 KB
- Stars: 5
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
alac-go
=======
The package provides Go bindings for ALAC decoder (C version by David Hammerton) with community patches.
All the binding code has automatically been generated with rules defined in [alac.yml](/alac.yml).
### Usage
```
$ go get github.com/xlab/alac-go/alac
```
### Demo
There is a player implemented in Go that can read M4A ALAC files and play them via [portaudio-go](https://github.com/xlab/portaudio-go). So you will need to get portaudio installed first. [03-Morcheeba-Otherwise.m4a](http://dl.xlab.is/music/alac/03-Morcheeba-Otherwise.m4a) direct link.
```
$ brew install portaudio
$ go get github.com/xlab/alac-go/cmd/alac-player
$ ./alac-player 03-Morcheeba-Otherwise.m4a
ALAC header: 616C616300000000000010000010280A0E0200FF000034DF000DBCB40000AC44
Audio duration: 224.026s
[==>-----------------------------------------------------------------------------------------------------------------] 2.20 %
```
### Rebuilding the package
You will need to get the [c-for-go](https://git.io/c-for-go) tool installed first.
```
$ git clone https://github.com/xlab/alac-go && cd alac-go
$ make clean
$ make
```