Mercurial > audlegacy
view src/libaudtag/util.h @ 4887:0ddbd0025174 default tip
added libaudtag. (not used yet.)
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Wed, 05 May 2010 18:26:06 +0900 |
parents | |
children |
line wrap: on
line source
/* * Copyright 2009 Paula Stanciu * * This file is part of Audacious. * * Audacious 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, version 3 of the License. * * Audacious 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 * Audacious. If not, see <http://www.gnu.org/licenses/>. * * The Audacious team does not consider modular code linking to Audacious or * using our public API to be a derived work. */ #ifndef TAGUTIL_H #define TAGUTIL_H #include <glib.h> #include "audlegacy/tuple.h" #include "audlegacy/vfs.h" #define WMA_DEBUG 1 #define BROKEN 1 enum { GENRE_BLUES = 0, GENRE_CLASSIC_ROCK, GENRE_COUNTRY, GENRE_DANCE, GENRE_DISCO, GENRE_FUNK, GENRE_GRUNGE, GENRE_HIPHOP, GENRE_JAZZ, GENRE_METAL, GENRE_NEW_AGE, GENRE_OLDIES, GENRE_OTHER, GENRE_POP, GENRE_R_B, GENRE_RAP, GENRE_REGGAE, GENRE_ROCK, GENRE_TECHNO, GENRE_INDUSTRIAL, GENRE_ALTERNATIVE, GENRE_SKA, GENRE_DEATH_METAL, GENRE_PRANKS, GENRE_SOUNDTRACK, GENRE_EURO_TECHNO, GENRE_AMBIENT, GENRE_TRIP_HOP, GENRE_VOCAL, GENRE_JAZZ_FUNK, GENRE_FUSION, GENRE_TRANCE, GENRE_CLASSICAL, GENRE_INSTRUMENTAL, GENRE_ACID, GENRE_HOUSE, GENRE_GAME, GENRE_SOUND_CLIP, GENRE_GOSPEL, GENRE_NOISE, GENRE_ALTERNROCK, GENRE_BASS, GENRE_SOUL, GENRE_PUNK, GENRE_SPACE, GENRE_MEDITATIVE, GENRE_INSTRUMENTAL_POP, GENRE_INSTRUMENTAL_ROCK, GENRE_ETHNIC, GENRE_GOTHIC, GENRE_DARKWAVE, GENRE_TECHNO_INDUSTRIAL, GENRE_ELECTRONIC, GENRE_POP_FOLK, GENRE_EURODANCE, GENRE_DREAM, GENRE_SOUTHERN_ROCK, GENRE_COMEDY, GENRE_CULT, GENRE_GANGSTA, GENRE_TOP40, GENRE_CHRISTIAN_RAP, GENRE_POP_FUNK, GENRE_JUNGLE, GENRE_NATIVE_AMERICAN, GENRE_CABARET, GENRE_NEW_WAVE, GENRE_PSYCHADELIC, GENRE_RAVE, GENRE_SHOWTUNES, GENRE_TRAILER, GENRE_LO_FI, GENRE_TRIBAL, GENRE_ACID_PUNK, GENRE_ACID_JAZZ, GENRE_POLKA, GENRE_RETRO, GENRE_MUSICAL, GENRE_ROCK_ROLL, GENRE_HARD_ROCK, GENRE_FOLK, GENRE_FOLK_ROCK, GENRE_NATIONAL_FOLK, GENRE_SWING, GENRE_FAST_FUSION, GENRE_BEBOB, GENRE_LATIN, GENRE_REVIVAL, GENRE_CELTIC, GENRE_BLUEGRASS, GENRE_AVANTGARDE, GENRE_GOTHIC_ROCK, GENRE_PROGRESSIVE_ROCK, GENRE_PSYCHEDELIC_ROCK, GENRE_SYMPHONIC_ROCK, GENRE_SLOW_ROCK, GENRE_BIG_BAND, GENRE_CHORUS, GENRE_EASY_LISTENING, GENRE_ACOUSTIC, GENRE_HUMOUR, GENRE_SPEECH, GENRE_CHANSON, GENRE_OPERA, GENRE_CHAMBER_MUSIC, GENRE_SONATA, GENRE_SYMPHONY, GENRE_BOOTY_BASS, GENRE_PRIMUS, GENRE_PORN_GROOVE, GENRE_SATIRE, GENRE_SLOW_JAM, GENRE_CLUB, GENRE_TANGO, GENRE_SAMBA, GENRE_FOLKLORE, GENRE_BALLAD, GENRE_POWER_BALLAD, GENRE_RHYTHMIC_SOUL, GENRE_FREESTYLE, GENRE_DUET, GENRE_PUNK_ROCK, GENRE_DRUM_SOLO, GENRE_A_CAPELLA, GENRE_EURO_HOUSE }; time_t unix_time(guint64 win_time); guint16 get_year(guint64 win_time); void print_tuple(Tuple *tuple); //Tuple *makeTuple(Tuple *tuple, const gchar* title, const gchar* artist, // const gchar* comment, const gchar* album, // const gchar * genre, const gchar* year, // const gchar* filePath, int tracnr); gchar *utf8(gunichar2* s); const gchar* get_complete_filepath(Tuple *tuple); gchar *read_char_data(VFSFile *fd, int size); gboolean write_char_data(VFSFile *f, gchar *data, size_t i); gunichar2 *fread_utf16(VFSFile* f, guint64 size); gboolean write_utf16(VFSFile *f, gunichar2 *data, size_t i); guint8 read_uint8(VFSFile *fd); guint16 read_LEuint16(VFSFile *fd); guint16 read_BEuint16(VFSFile *fd); guint32 read_LEuint32(VFSFile *fd); guint32 read_BEuint32(VFSFile *fd); guint64 read_LEuint64(VFSFile *fd); guint64 read_BEuint64(VFSFile *fd); gboolean write_uint8(VFSFile *fd, guint8 val); gboolean write_BEuint16(VFSFile *fd, guint16 val); gboolean write_LEuint16(VFSFile *fd, guint16 val); gboolean write_BEuint32(VFSFile *fd, guint32 val); gboolean write_LEuint32(VFSFile *fd, guint32 val); gboolean write_BEuint64(VFSFile *fd, guint64 val); gboolean write_LEuint64(VFSFile *fd, guint64 val); guint64 read_LEint64(VFSFile *fd); void copyAudioToFile(VFSFile *from, VFSFile *to, guint32 pos); void copyAudioData(VFSFile* from, VFSFile *to, guint32 pos_from, guint32 pos_to); gchar *convert_numericgenre_to_text(gint numericgenre); /* macro for debug print */ #ifdef WMA_DEBUG # define AUDDBG(...) do { g_print("%s:%d %s(): ", __FILE__, (int)__LINE__, __FUNCTION__); g_print(__VA_ARGS__); } while (0) #else # define AUDDBG(...) do { } while (0) #endif #endif