From ba15707b292d827bdce732e7713b26fae3f75c74 Mon Sep 17 00:00:00 2001 From: Alex Bennee Date: Wed, 14 Jul 2010 15:57:06 +0100 Subject: EasyTag 2.1.1 --- src/libapetag/info_mac.h | 96 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100755 src/libapetag/info_mac.h (limited to 'src/libapetag/info_mac.h') diff --git a/src/libapetag/info_mac.h b/src/libapetag/info_mac.h new file mode 100755 index 0000000..a17e47c --- /dev/null +++ b/src/libapetag/info_mac.h @@ -0,0 +1,96 @@ +/******************************************************************** +* +* Copyright (c) 2002 Artur Polaczynski (Ar't) All rights reserved. +* LGPL-2.1 +* $ArtId: info_mac.h,v 1.6 2003/04/13 11:24:10 art Exp $ +********************************************************************/ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +#ifndef INFO_MAC_H +#define INFO_MAC_H + +/** \file info_mac.h + \brief Get information from MonkeyAudio file. + + Usage: + \code + StreamInfoMac Info; + + if (info_mac_read(fn, &Info)) { + printf("File \"%s\" not found or is read protected!\n", fn); + return; + } + printf("%",Info.fields...); + \endcode +*/ + +/** + \name Compression level +*/ +/*\{*/ +#define COMPRESSION_LEVEL_FAST 1000 /**< fast */ +#define COMPRESSION_LEVEL_NORMAL 2000 /**< optimal average time/compression ratio */ +#define COMPRESSION_LEVEL_HIGH 3000 /**< higher compression ratio */ +#define COMPRESSION_LEVEL_EXTRA_HIGH 4000 /**< very slowly */ +#define COMPRESSION_LEVEL_INSANE 5000 /**< ??? */ +/*\}*/ + +/** All information from mac file + * \struct StreamInfoMac +**/ +typedef struct +{ + unsigned int ByteLength; /**< file length - tags size */ + unsigned int FileSize; /**< real file size */ + int SampleFreq; /**< sample frequency */ + unsigned int Channels; /**< number of chanels */ + int Duration; /**< duratiom in ms */ + + unsigned int Version; /**< version of current file */ + unsigned int Bitrate; /**< bitrate of current file (bps) */ + unsigned int Compresion; /**< compresion profile */ + unsigned int Flags; /**< flags */ + + unsigned int Frames; /**< number of frames */ + unsigned int SamplesPerFrame; /**< samples per frame */ + unsigned int Samples; /**< number of samples */ + unsigned int BitsPerSample; /**< bits per sample */ + unsigned int UncompresedSize; /**< uncomprese size of file */ + float CompresionRatio; /**< compresion ratio */ + + unsigned int PeakLevel; /**< peak level */ + float PeakRatio; /**< peak ratio */ + + const char *CompresionName; /**< compresion profile as string */ + + unsigned int EncoderVersion; /**< version of encoder used */ +} StreamInfoMac; + +/** + Read all mac info from filename + + \param fn File name + \param Info StreamInfoMac Structure for all information + \retval 0 ok + \retval 1 file not found or write protected + \retval 2 not monkey's audio file +*/ +int +info_mac_read(const char *fn, StreamInfoMac * Info); + +#endif /* INFO_MAC_H */ -- cgit v1.2.3