Outdated egg!
This is an egg for CHICKEN 3, the unsupported old release. You're almost certainly looking for the CHICKEN 4 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
mpeg3
Introduction
The MPEG3 is a thin wrapper around the libmpeg3 C library.
The official documentation for the C library is available here:
- http://heroinewarrior.com/libmpeg3/index.html
Examples
Show information of an MPEG3 audio file
(use mpeg3 format-modular) (define *path* "/tmp/file.mp3") ; Verify that the file has the right signature: (unless (mpeg3-check-sig *path*) (error "Invalid file type")) ; Open the file: (define *file* (mpeg3-open *path*)) ; Make sure the file has audio: (unless (mpeg3-has-audio *file*) (error "File doesn't have audio")) ; Get the total number of audio streams in the file: (define *total-streams* (mpeg3-total-astreams *file*)) ; Print information for each audio stream in the file: (let loop ((stream 0)) (unless (= stream *total-streams*) (format #t "Stream: ~A~% Channels: ~A~% Sample rate: ~A~% Samples: ~A~%" stream (mpeg3-audio-channels *file* stream) (mpeg3-sample-rate *file* stream) (mpeg3-audio-samples *file* stream)) (loop (+ stream 1)))) ; Close the file. This step is optional: if you don't do it, Chicken ; will close it when it no longer is required. However, if you open ; a lot of files you will want to close them as soon as you know you'll ; no longer require them. (mpeg3-close *file*)
Authors
The mpeg3 egg was created by Alejandro Forero Cuervo.
License
Copyright (C) 2006 Alejandro Forero Cuervo <azul@freaks-unidos.net>
The mpeg3 egg is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
The mpeg3 egg is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the mpeg3 egg; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Version History
- 0.2
- Include documentation from the wiki.
- 0.1
- Initial release