Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ap4y/OrigamiEngine
Lightweight audio engine for iOS and OSX with flac, cue, mp3, m4a, m3u support.
https://github.com/ap4y/OrigamiEngine
Last synced: 3 months ago
JSON representation
Lightweight audio engine for iOS and OSX with flac, cue, mp3, m4a, m3u support.
- Host: GitHub
- URL: https://github.com/ap4y/OrigamiEngine
- Owner: ap4y
- License: mit
- Archived: true
- Created: 2012-08-15T19:30:10.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2018-01-09T20:30:25.000Z (about 7 years ago)
- Last Synced: 2024-04-14T22:31:59.725Z (10 months ago)
- Language: Objective-C
- Homepage: http://ap4y.github.com/OrigamiEngine/
- Size: 1.47 MB
- Stars: 543
- Watchers: 40
- Forks: 118
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - OrigamiEngine - Lightweight audio engine for iOS and OSX with flac, cue, mp3, m4a, m3u support. (etc)
- awesome - OrigamiEngine - Lightweight audio engine for iOS and OSX with flac, cue, mp3, m4a, m3u support. (etc)
README
Lightweight iOS and OSX audio engine with opus, flac, cue, mp3, m4a, m3u support.
Supported formats
-------* Audio sources: http and local files
* Audio files: `opus`, `flac`, `mp3`, `m4a`, `wav` and other from CoreAudio
* Playlists: `cue`, `m3u`Features
-------- Ligthweight: 300kb compiled, 1.2mb with libFLAC
- Small memory foorprint: no more than 2.5mb for the flac files
- Low resource consumption: about 14% CPU usage for FLAC on ipod 4g
- All operations in background with GCD
- Event-based (using dispatch sources and CoreAudio async api)
- Provides full audio metadata (vorbis, id3 tags) with embeeded cover images
- HTTP data caching
- Tested (currently about 85% code coverage)Overview
-------Static library and [cocoapods](cocoapods.org) `podspec` provided. Static library can be compiled with embeeded FLAC library (check project targets). For OSX you can use static framework.
Start playback:
self.player = [[ORGMEngine alloc] init];
NSURL* url = [NSURL URLWithString:tfUrl.text];
[_player playUrl:url];Common operations:
[_player metadata]; // current metadata
[_player pause]; // pause playback
[_player resume]; // resume playback
[_player stop]; // stop playback
[_player seekToTime:seekSlider.value]; // seek to second
[_player setNextUrl:url withDataFlush:YES]; // play next track and clear current bufferDelegate methods:
- (NSURL*)engineExpectsNextUrl:(ORGMEngine*)engine; // provides continious playback
- (void)engine:(ORGMEngine*)engine didChangeState:(ORGMEngineState)state; // state change callbackCheck example project and tests for the additional information.
Documentation
-------Project headers contain `appledoc` comments, precompiled docset [here](http://ap4y.github.com/OrigamiEngine/Documentation/index.html).
Tests
-------`OCUnit` tests included into the project.
Credits
-------- http://cogx.org/ by Vincent Spader. FLAC decoder implementation based on `Cog` sources
License
-------
(MIT license)