annotate audacious/titlestring.h @ 1938:1d9c1026d9f8 trunk

[svn] - DoubleSize support. This has bugs, the most notable one being that DoubleSize only works right if you restart the player. The second bug is rather obvious too. No osmosis skinengine. No TinyPlayer. Classic-esque skinengine only. This is because the doublesize algorithm hates you and wants you to go die in a fire.
author nenolod
date Sun, 05 Nov 2006 04:43:16 -0800
parents 936135be464f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
1 /*
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
2 * Copyright (C) 2001, Espen Skoglund <esk@ira.uka.de>
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
3 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
4 * This program is free software; you can redistribute it and/or
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
5 * modify it under the terms of the GNU General Public License
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
6 * as published by the Free Software Foundation; either version 2
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
7 * of the License, or (at your option) any later version.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
8 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
9 * This program is distributed in the hope that it will be useful,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
12 * GNU General Public License for more details.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
13 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
15 * along with this program; if not, write to the Free Software
1458
f12d7e208b43 [svn] Update FSF address in copyright notices. Update autotools templates.
chainsaw
parents: 1355
diff changeset
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
1459
705d4c089fce [svn] Fix postal code.
chainsaw
parents: 1458
diff changeset
17 * 02110-1301, USA.
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
18 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
19 */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
20 #ifndef XMMS_TITLESTRING_H
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
21 #define XMMS_TITLESTRING_H
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
22
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
23 #include <glib.h>
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
24 #include <gtk/gtk.h>
1633
936135be464f [svn] - include time.h
nenolod
parents: 1588
diff changeset
25 #include <unistd.h>
936135be464f [svn] - include time.h
nenolod
parents: 1588
diff changeset
26 #include <time.h>
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
27
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
28 /*
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
29 * Struct which is passed to xmms_get_titlestring(). An input struct
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
30 * is allocated and initialized with XMMS_NEW_TITLEINPUT(). Before
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
31 * passing the struct to xmms_get_titlestring() it should be filled
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
32 * with appropriate field values.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
33 */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
34
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
35 typedef struct {
1588
15d92c51bde6 [svn] - modified time (mtime) has been introduced into tuple
yaz
parents: 1459
diff changeset
36 gint __size; /* Set by bmp_title_input_new() */
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
37 gint __version; /* Ditto */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
38
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
39 gchar *performer; /* %p */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
40 gchar *album_name; /* %a */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
41 gchar *track_name; /* %t */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
42 gint track_number; /* %n */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
43 gint year; /* %y */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
44 gchar *date; /* %d */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
45 gchar *genre; /* %g */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
46 gchar *comment; /* %c */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
47 gchar *file_name; /* %f */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
48 const gchar *file_ext; /* %e *//* is not always strdup'ed, see xmms_input_get_song_info and plugins! */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
49 gchar *file_path; /* %F */
1588
15d92c51bde6 [svn] - modified time (mtime) has been introduced into tuple
yaz
parents: 1459
diff changeset
50 gint length; /* not displayable */
15d92c51bde6 [svn] - modified time (mtime) has been introduced into tuple
yaz
parents: 1459
diff changeset
51 gchar *formatter; /* not displayable */
15d92c51bde6 [svn] - modified time (mtime) has been introduced into tuple
yaz
parents: 1459
diff changeset
52 time_t mtime; /* time of modified */
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
53 } TitleInput;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
54
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
55 typedef TitleInput BmpTitleInput;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
56
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
57
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
58 /*
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
59 * Using a __size field helps the library functions detect plugins
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
60 * that use a possibly extended version of the struct. The __version
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
61 * field helps the library detect possible future incompatibilities in
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
62 * the struct layout.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
63 */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
64
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
65 #define XMMS_TITLEINPUT_SIZE sizeof(TitleInput)
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
66 #define XMMS_TITLEINPUT_VERSION (1)
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
67
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
68 #define XMMS_NEW_TITLEINPUT(input) G_STMT_START { \
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
69 input = g_new0(TitleInput, 1); \
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
70 input->__size = XMMS_TITLEINPUT_SIZE; \
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
71 input->__version = XMMS_TITLEINPUT_VERSION; \
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
72 } G_STMT_END
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
73
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
74
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
75 G_BEGIN_DECLS
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
76
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
77 TitleInput *bmp_title_input_new(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
78 void bmp_title_input_free(BmpTitleInput * input);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
79
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
80 gchar *xmms_get_titlestring(const gchar * fmt, TitleInput * input);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
81 GtkWidget *xmms_titlestring_descriptions(gchar * tags, gint rows);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
82
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
83 G_END_DECLS
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
84
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
85 #endif /* !XMMS_TITLESTRING_H */