annotate src/skins/util.h @ 3161:6dd886b5c72b

revive stdio plugin for now. gio cannot write id3 tags.
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 13 Jul 2009 23:53:41 +0900
parents f7613eafe9f0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2573
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
1 /* Audacious - Cross-platform multimedia player
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
2 * Copyright (C) 2005-2008 Audacious development team
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
3 *
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
4 * Based on BMP:
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
5 * Copyright (C) 2003-2004 BMP development team
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
6 *
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
7 * Based on XMMS:
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
8 * Copyright (C) 1998-2003 XMMS development team
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
9 *
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
12 * the Free Software Foundation; under version 3 of the License.
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
13 *
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
17 * GNU General Public License for more details.
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
18 *
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
20 * along with this program. If not, see <http://www.gnu.org/licenses>.
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
21 *
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
22 * The Audacious team does not consider modular code linking to
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
23 * Audacious or using our public API to be a derived work.
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
24 */
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
25
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
26 #ifndef UTIL_H
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
27 #define UTIL_H
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
28
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
29 #ifdef _AUDACIOUS_CORE
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
30 # ifdef HAVE_CONFIG_H
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
31 # include "config.h"
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
32 # endif
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
33 #endif
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
34
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
35 #include <glib.h>
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
36 #include <gtk/gtk.h>
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
37
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
38 G_BEGIN_DECLS
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
39
2971
3134a0987162 - changed include path from audacious to audlegacy.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 2573
diff changeset
40 #include "audlegacy/plugin.h"
3134a0987162 - changed include path from audacious to audlegacy.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 2573
diff changeset
41 #include "audlegacy/libSAD.h"
2573
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
42
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
43 #define SWAP(a, b) { a^=b; b^=a; a^=b; }
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
44
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
45 typedef gboolean(*DirForeachFunc) (const gchar * path,
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
46 const gchar * basename,
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
47 gpointer user_data);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
48
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
49
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
50 gchar *find_file_recursively(const gchar * dirname, const gchar * file);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
51 gchar *find_path_recursively(const gchar * dirname, const gchar * file);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
52 void del_directory(const gchar * dirname);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
53 gboolean dir_foreach(const gchar * path, DirForeachFunc function,
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
54 gpointer user_data, GError ** error);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
55
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
56
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
57 INIFile *open_ini_file(const gchar *filename);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
58 void close_ini_file(INIFile *key_file);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
59 gchar *read_ini_string(INIFile *key_file, const gchar *section,
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
60 const gchar *key);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
61 GArray *read_ini_array(INIFile *key_file, const gchar *section,
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
62 const gchar *key);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
63
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
64 GArray *string_to_garray(const gchar * str);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
65
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
66 void glist_movedown(GList * list);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
67 void glist_moveup(GList * list);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
68
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
69 void util_set_cursor(GtkWidget * window);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
70 gboolean text_get_extents(const gchar * fontname, const gchar * text,
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
71 gint * width, gint * height, gint * ascent,
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
72 gint * descent);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
73
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
74 gboolean file_is_archive(const gchar * filename);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
75 gchar *archive_decompress(const gchar * path);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
76 gchar *archive_basename(const gchar * path);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
77
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
78 guint gint_count_digits(gint n);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
79
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
80
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
81 GtkWidget *make_filebrowser(const gchar *title, gboolean save);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
82
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
83 GtkWidget *util_info_dialog(const gchar * title, const gchar * text,
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
84 const gchar * button_text, gboolean modal, GCallback button_action,
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
85 gpointer action_data);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
86
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
87 GdkPixbuf *audacious_create_colorized_pixbuf(GdkPixbuf *src, gint red, gint green, gint blue);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
88
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
89 gchar *util_get_localdir(void);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
90
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
91 gchar *construct_uri(gchar *string, const gchar *playlist_name);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
92
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
93 SAD_sample_format sadfmt_from_afmt(AFormat fmt);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
94
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
95 /* minimizes number of realloc's */
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
96 gpointer smart_realloc(gpointer ptr, gsize *size);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
97
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
98 void make_directory(const gchar * path, mode_t mode);
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
99
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
100 G_END_DECLS
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
101
c0b08527b121 allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
diff changeset
102 #endif