annotate src/xs_fileinfo.c @ 957:0e60e5d56fdd

Change how the backend emulator library is initialized for libSIDPlay2 and FP, as it seems the engine configuration has some persistence despite reconfiguration between loaded files if same engine object is retained. This caused, for example, 2SID stereo tunes being played "mono" if played after a normal 1-SID tune. Duh.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 20 Nov 2012 22:13:48 +0200
parents b02f934d8224
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1 /*
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
2 XMMS-SID - SIDPlay input plugin for X MultiMedia System (XMMS)
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
3
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
4 File information window
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5
324
dd201740a720 Changed copyright text.
Matti Hamalainen <ccr@tnsp.org>
parents: 301
diff changeset
6 Programmed and designed by Matti 'ccr' Hamalainen <ccr@tnsp.org>
723
9321ffa2ea7e Update copyright years.
Matti Hamalainen <ccr@tnsp.org>
parents: 665
diff changeset
7 (C) Copyright 1999-2009 Tecnic Software productions (TNSP)
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9 This program is free software; you can redistribute it and/or modify
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
10 it under the terms of the GNU General Public License as published by
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11 the Free Software Foundation; either version 2 of the License, or
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
12 (at your option) any later version.
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
13
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
14 This program is distributed in the hope that it will be useful,
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
17 GNU General Public License for more details.
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
18
412
7f694e5a1493 Updated GNU GPL (new FSF address) and some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 399
diff changeset
19 You should have received a copy of the GNU General Public License along
7f694e5a1493 Updated GNU GPL (new FSF address) and some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 399
diff changeset
20 with this program; if not, write to the Free Software Foundation, Inc.,
7f694e5a1493 Updated GNU GPL (new FSF address) and some cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 399
diff changeset
21 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22 */
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
23 #include <gdk/gdkkeysyms.h>
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
24 #include <gtk/gtk.h>
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
25
290
b6bcd62394f3 Include correct headers, typecast returnvalue to gint
Matti Hamalainen <ccr@tnsp.org>
parents: 282
diff changeset
26 #include "xs_fileinfo.h"
872
b02f934d8224 Move some code to xs_backend.
Matti Hamalainen <ccr@tnsp.org>
parents: 798
diff changeset
27 #include "xs_backend.h"
232
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
28 #include "xs_support.h"
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29 #include "xs_config.h"
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
30 #include "xs_interface.h"
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
31 #include "xs_glade.h"
622
d7389ea52113 Move SLDB and STIL utility functions to xs_slsup.[ch] and amend some changes between XMMS-SID and Aud-SID via a macro mess.
Matti Hamalainen <ccr@tnsp.org>
parents: 615
diff changeset
32 #include "xs_slsup.h"
462
1d55247ad0cc Moved again. :D
Matti Hamalainen <ccr@tnsp.org>
parents: 430
diff changeset
33
1d55247ad0cc Moved again. :D
Matti Hamalainen <ccr@tnsp.org>
parents: 430
diff changeset
34
787
8f0d11865742 Move some code around, remove xs_player.c
Matti Hamalainen <ccr@tnsp.org>
parents: 753
diff changeset
35 extern XSEngineState xs_status;
8f0d11865742 Move some code around, remove xs_player.c
Matti Hamalainen <ccr@tnsp.org>
parents: 753
diff changeset
36 XS_MUTEX_H(xs_status);
8f0d11865742 Move some code around, remove xs_player.c
Matti Hamalainen <ccr@tnsp.org>
parents: 753
diff changeset
37
8f0d11865742 Move some code around, remove xs_player.c
Matti Hamalainen <ccr@tnsp.org>
parents: 753
diff changeset
38
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 341
diff changeset
39 static GtkWidget *xs_fileinfowin = NULL;
751
55eea3fa8868 Rename some structures.
Matti Hamalainen <ccr@tnsp.org>
parents: 723
diff changeset
40 static XSSTILNode *xs_fileinfostil = NULL;
232
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
41 XS_MUTEX(xs_fileinfowin);
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
42
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
43 #define LUW(x) lookup_widget(xs_fileinfowin, x)
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
44
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
45
622
d7389ea52113 Move SLDB and STIL utility functions to xs_slsup.[ch] and amend some changes between XMMS-SID and Aud-SID via a macro mess.
Matti Hamalainen <ccr@tnsp.org>
parents: 615
diff changeset
46 #ifndef AUDACIOUS_PLUGIN
232
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
47 void xs_fileinfo_update(void)
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
48 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
49 XS_MUTEX_LOCK(xs_status);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
50 XS_MUTEX_LOCK(xs_fileinfowin);
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 341
diff changeset
51
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
52 /* Check if control window exists, we are currently playing and have a tune */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
53 if (xs_fileinfowin) {
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
54 gboolean isEnabled;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
55 GtkAdjustment *tmpAdj;
492
1775b3f16cd9 Move variables to better block.
Matti Hamalainen <ccr@tnsp.org>
parents: 473
diff changeset
56
798
4c5b695fd85e Rename variables.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
57 if (xs_status.tuneInfo && xs_status.playing && (xs_status.tuneInfo->nsubTunes > 1)) {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
58 tmpAdj = gtk_range_get_adjustment(GTK_RANGE(LUW("fileinfo_subctrl_adj")));
232
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
59
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
60 tmpAdj->value = xs_status.currSong;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
61 tmpAdj->lower = 1;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
62 tmpAdj->upper = xs_status.tuneInfo->nsubTunes;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
63 XS_MUTEX_UNLOCK(xs_status);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
64 XS_MUTEX_UNLOCK(xs_fileinfowin);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
65 gtk_adjustment_value_changed(tmpAdj);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
66 XS_MUTEX_LOCK(xs_status);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
67 XS_MUTEX_LOCK(xs_fileinfowin);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
68 isEnabled = TRUE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
69 } else
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
70 isEnabled = FALSE;
232
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
71
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
72 /* Enable or disable subtune-control in fileinfo window */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
73 gtk_widget_set_sensitive(LUW("fileinfo_subctrl_prev"), isEnabled);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
74 gtk_widget_set_sensitive(LUW("fileinfo_subctrl_adj"), isEnabled);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
75 gtk_widget_set_sensitive(LUW("fileinfo_subctrl_next"), isEnabled);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
76 }
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 341
diff changeset
77
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
78 XS_MUTEX_UNLOCK(xs_status);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
79 XS_MUTEX_UNLOCK(xs_fileinfowin);
232
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
80 }
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
81
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
82
424
faf12767a6f1 Preparing for internationalization.
Matti Hamalainen <ccr@tnsp.org>
parents: 422
diff changeset
83 static void xs_fileinfo_setsong(void)
230
608f31f6c095 Raw cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 222
diff changeset
84 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
85 gint n;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 341
diff changeset
86
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
87 XS_MUTEX_LOCK(xs_status);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
88 XS_MUTEX_LOCK(xs_fileinfowin);
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 341
diff changeset
89
798
4c5b695fd85e Rename variables.
Matti Hamalainen <ccr@tnsp.org>
parents: 787
diff changeset
90 if (xs_status.tuneInfo && xs_status.playing) {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
91 n = (gint) gtk_range_get_adjustment(GTK_RANGE(LUW("fileinfo_subctrl_adj")))->value;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
92 if ((n >= 1) && (n <= xs_status.tuneInfo->nsubTunes))
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
93 xs_status.currSong = n;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
94 }
234
6f9764fbd693 Make the slider in fileinfo window's subtune selector work as expected.
Matti Hamalainen <ccr@tnsp.org>
parents: 232
diff changeset
95
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
96 XS_MUTEX_UNLOCK(xs_fileinfowin);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
97 XS_MUTEX_UNLOCK(xs_status);
230
608f31f6c095 Raw cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 222
diff changeset
98 }
622
d7389ea52113 Move SLDB and STIL utility functions to xs_slsup.[ch] and amend some changes between XMMS-SID and Aud-SID via a macro mess.
Matti Hamalainen <ccr@tnsp.org>
parents: 615
diff changeset
99 #endif /* AUDACIOUS_PLUGIN */
230
608f31f6c095 Raw cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 222
diff changeset
100
608f31f6c095 Raw cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 222
diff changeset
101
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
102 void xs_fileinfo_ok(void)
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
103 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
104 XS_MUTEX_LOCK(xs_fileinfowin);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
105 if (xs_fileinfowin) {
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
106 gtk_widget_destroy(xs_fileinfowin);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
107 xs_fileinfowin = NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
108 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
109 XS_MUTEX_UNLOCK(xs_fileinfowin);
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
110 }
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
111
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
112
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 341
diff changeset
113 gboolean xs_fileinfo_delete(GtkWidget * widget, GdkEvent * event, gpointer user_data)
282
0d2d379a83c0 Fixed nasty crash when closing fileinfo-window from window's closebutton -
Matti Hamalainen <ccr@tnsp.org>
parents: 239
diff changeset
114 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
115 (void) widget;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
116 (void) event;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
117 (void) user_data;
359
b1a858b8cb1a Re-indentation all (non-generated) code.
Matti Hamalainen <ccr@tnsp.org>
parents: 341
diff changeset
118
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
119 XSDEBUG("delete_event\n");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
120 xs_fileinfo_ok();
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
121 return FALSE;
282
0d2d379a83c0 Fixed nasty crash when closing fileinfo-window from window's closebutton -
Matti Hamalainen <ccr@tnsp.org>
parents: 239
diff changeset
122 }
0d2d379a83c0 Fixed nasty crash when closing fileinfo-window from window's closebutton -
Matti Hamalainen <ccr@tnsp.org>
parents: 239
diff changeset
123
0d2d379a83c0 Fixed nasty crash when closing fileinfo-window from window's closebutton -
Matti Hamalainen <ccr@tnsp.org>
parents: 239
diff changeset
124
424
faf12767a6f1 Preparing for internationalization.
Matti Hamalainen <ccr@tnsp.org>
parents: 422
diff changeset
125 static void xs_fileinfo_subtune(GtkWidget * widget, void *data)
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
126 {
751
55eea3fa8868 Rename some structures.
Matti Hamalainen <ccr@tnsp.org>
parents: 723
diff changeset
127 XSSTILSubNode *tmpNode;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
128 GtkWidget *tmpText;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
129 gchar *subName, *subAuthor, *subInfo;
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
130
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
131 (void) widget;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
132 (void) data;
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
133
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
134 /* Freeze text-widget and delete the old text */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
135 tmpText = LUW("fileinfo_sub_info");
625
547f4d35f56a Unify xs_fileinfo with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 622
diff changeset
136 #ifndef AUDACIOUS_PLUGIN
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
137 gtk_text_freeze(GTK_TEXT(tmpText));
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
138 gtk_text_set_point(GTK_TEXT(tmpText), 0);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
139 gtk_text_forward_delete(GTK_TEXT(tmpText), gtk_text_get_length(GTK_TEXT(tmpText)));
625
547f4d35f56a Unify xs_fileinfo with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 622
diff changeset
140 #endif
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
141
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
142 /* Get subtune information */
751
55eea3fa8868 Rename some structures.
Matti Hamalainen <ccr@tnsp.org>
parents: 723
diff changeset
143 tmpNode = (XSSTILSubNode *) data;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
144 if (!tmpNode && xs_fileinfostil)
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
145 tmpNode = xs_fileinfostil->subTunes[0];
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
146
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
147 if (tmpNode) {
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
148 subName = tmpNode->name;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
149 subAuthor = tmpNode->author;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
150 subInfo = tmpNode->info;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
151 } else {
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
152 subName = NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
153 subAuthor = NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
154 subInfo = NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
155 }
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
156
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
157 /* Get and set subtune information */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
158 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_sub_name")), subName ? subName : "");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
159 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_sub_author")), subAuthor ? subAuthor : "");
625
547f4d35f56a Unify xs_fileinfo with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 622
diff changeset
160
547f4d35f56a Unify xs_fileinfo with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 622
diff changeset
161 #ifdef AUDACIOUS_PLUGIN
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
162 gtk_text_buffer_set_text(GTK_TEXT_BUFFER(gtk_text_view_get_buffer(GTK_TEXT_VIEW(tmpText))),
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
163 subInfo ? subInfo : "", -1);
625
547f4d35f56a Unify xs_fileinfo with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 622
diff changeset
164 #else
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
165 gtk_text_insert(GTK_TEXT(tmpText), NULL, NULL, NULL,
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
166 subInfo ? subInfo : "", -1);
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
167
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
168 /* Un-freeze the widget */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
169 gtk_text_thaw(GTK_TEXT(tmpText));
625
547f4d35f56a Unify xs_fileinfo with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 622
diff changeset
170 #endif
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
171 }
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
172
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
173
664
0fef72dce601 Rename pcFilename -> filename.
Matti Hamalainen <ccr@tnsp.org>
parents: 660
diff changeset
174 void xs_fileinfo(gchar * filename)
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
175 {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
176 GtkWidget *tmpMenuItem, *tmpMenu, *tmpOptionMenu;
751
55eea3fa8868 Rename some structures.
Matti Hamalainen <ccr@tnsp.org>
parents: 723
diff changeset
177 XSTuneInfo *tmpInfo;
55eea3fa8868 Rename some structures.
Matti Hamalainen <ccr@tnsp.org>
parents: 723
diff changeset
178 XSSTILSubNode *tmpNode;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
179 gchar tmpStr[256], *tmpFilename;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
180 gint n;
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
181
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
182 /* Current implementation leaves old fileinfo window untouched if
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
183 * no information can be found for the new file. Hmm...
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
184 */
636
ea06356d792b Show tags ("[!]" and "[*]") in fileinfo selector, if there is additional information for the subtune;
Matti Hamalainen <ccr@tnsp.org>
parents: 626
diff changeset
185 #ifdef AUDACIOUS_PLUGIN
664
0fef72dce601 Rename pcFilename -> filename.
Matti Hamalainen <ccr@tnsp.org>
parents: 660
diff changeset
186 xs_get_trackinfo(filename, &tmpFilename, &n);
636
ea06356d792b Show tags ("[!]" and "[*]") in fileinfo selector, if there is additional information for the subtune;
Matti Hamalainen <ccr@tnsp.org>
parents: 626
diff changeset
187 #else
664
0fef72dce601 Rename pcFilename -> filename.
Matti Hamalainen <ccr@tnsp.org>
parents: 660
diff changeset
188 tmpFilename = filename;
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
189 #endif
232
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
190
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
191 /* Get new tune information */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
192 XS_MUTEX_LOCK(xs_fileinfowin);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
193 XS_MUTEX_LOCK(xs_status);
753
36c6a6e629bb Rename some variables.
Matti Hamalainen <ccr@tnsp.org>
parents: 751
diff changeset
194 if ((tmpInfo = xs_status.engine->plrGetSIDInfo(tmpFilename)) == NULL) {
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
195 XS_MUTEX_UNLOCK(xs_fileinfowin);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
196 XS_MUTEX_UNLOCK(xs_status);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
197 return;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
198 }
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
199 XS_MUTEX_UNLOCK(xs_status);
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
200
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
201 xs_fileinfostil = xs_stil_get(tmpFilename);
636
ea06356d792b Show tags ("[!]" and "[*]") in fileinfo selector, if there is additional information for the subtune;
Matti Hamalainen <ccr@tnsp.org>
parents: 626
diff changeset
202
ea06356d792b Show tags ("[!]" and "[*]") in fileinfo selector, if there is additional information for the subtune;
Matti Hamalainen <ccr@tnsp.org>
parents: 626
diff changeset
203 #ifdef AUDACIOUS_PLUGIN
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
204 g_free(tmpFilename);
636
ea06356d792b Show tags ("[!]" and "[*]") in fileinfo selector, if there is additional information for the subtune;
Matti Hamalainen <ccr@tnsp.org>
parents: 626
diff changeset
205 #endif
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
206
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
207 /* Check if there already is an open fileinfo window */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
208 if (xs_fileinfowin)
665
94186706beed Use macro wrapping for Gtk+ v1 vs v2 differences, yet again.
Matti Hamalainen <ccr@tnsp.org>
parents: 664
diff changeset
209 XS_WINDOW_PRESENT(xs_fileinfowin);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
210 else {
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
211 xs_fileinfowin = create_xs_fileinfowin();
625
547f4d35f56a Unify xs_fileinfo with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 622
diff changeset
212 #ifndef AUDACIOUS_PLUGIN
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
213 XS_SIGNAL_CONNECT(gtk_range_get_adjustment(GTK_RANGE(LUW("fileinfo_subctrl_adj"))),
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
214 "value_changed", xs_fileinfo_setsong, NULL);
625
547f4d35f56a Unify xs_fileinfo with Aud-SID.
Matti Hamalainen <ccr@tnsp.org>
parents: 622
diff changeset
215 #endif
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
216 }
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
217
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
218 /* Delete current items */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
219 tmpOptionMenu = LUW("fileinfo_sub_tune");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
220 tmpMenu = gtk_option_menu_get_menu(GTK_OPTION_MENU(tmpOptionMenu));
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
221 gtk_widget_destroy(tmpMenu);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
222 gtk_option_menu_remove_menu(GTK_OPTION_MENU(tmpOptionMenu));
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
223 tmpMenu = gtk_menu_new();
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
224
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
225
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
226 /* Set the generic song information */
664
0fef72dce601 Rename pcFilename -> filename.
Matti Hamalainen <ccr@tnsp.org>
parents: 660
diff changeset
227 tmpFilename = XS_CS_FILENAME(filename);
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
228 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_filename")), tmpFilename);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
229 g_free(tmpFilename);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
230 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_songname")), tmpInfo->sidName);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
231 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_composer")), tmpInfo->sidComposer);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
232 gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_copyright")), tmpInfo->sidCopyright);
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
233
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
234
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
235 /* Main tune - the pseudo tune */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
236 tmpMenuItem = gtk_menu_item_new_with_label(_("General info"));
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
237 gtk_widget_show(tmpMenuItem);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
238 gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
239 if (xs_fileinfostil)
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
240 tmpNode = xs_fileinfostil->subTunes[0];
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
241 else
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
242 tmpNode = NULL;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
243 XS_SIGNAL_CONNECT(tmpMenuItem, "activate", xs_fileinfo_subtune, tmpNode);
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
244
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
245 /* Other menu items */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
246 for (n = 1; n <= tmpInfo->nsubTunes; n++) {
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
247 if (xs_fileinfostil && n <= xs_fileinfostil->nsubTunes && xs_fileinfostil->subTunes[n]) {
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
248 gboolean isSet = FALSE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
249 tmpNode = xs_fileinfostil->subTunes[n];
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
250
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
251 g_snprintf(tmpStr, sizeof(tmpStr), _("Tune #%i: "), n);
430
d787dae8c043 Bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 424
diff changeset
252
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
253 if (tmpNode->name) {
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
254 xs_pnstrcat(tmpStr, sizeof(tmpStr), tmpNode->name);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
255 isSet = TRUE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
256 }
636
ea06356d792b Show tags ("[!]" and "[*]") in fileinfo selector, if there is additional information for the subtune;
Matti Hamalainen <ccr@tnsp.org>
parents: 626
diff changeset
257
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
258 if (tmpNode->title) {
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
259 xs_pnstrcat(tmpStr, sizeof(tmpStr),
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
260 isSet ? " [*]" : tmpNode->title);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
261 isSet = TRUE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
262 }
636
ea06356d792b Show tags ("[!]" and "[*]") in fileinfo selector, if there is additional information for the subtune;
Matti Hamalainen <ccr@tnsp.org>
parents: 626
diff changeset
263
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
264 if (tmpNode->info) {
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
265 xs_pnstrcat(tmpStr, sizeof(tmpStr), " [!]");
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
266 isSet = TRUE;
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
267 }
636
ea06356d792b Show tags ("[!]" and "[*]") in fileinfo selector, if there is additional information for the subtune;
Matti Hamalainen <ccr@tnsp.org>
parents: 626
diff changeset
268
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
269 if (!isSet)
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
270 xs_pnstrcat(tmpStr, sizeof(tmpStr), "---");
636
ea06356d792b Show tags ("[!]" and "[*]") in fileinfo selector, if there is additional information for the subtune;
Matti Hamalainen <ccr@tnsp.org>
parents: 626
diff changeset
271
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
272 tmpMenuItem = gtk_menu_item_new_with_label(tmpStr);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
273 gtk_widget_show(tmpMenuItem);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
274 gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
275 XS_SIGNAL_CONNECT(tmpMenuItem, "activate", xs_fileinfo_subtune, tmpNode);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
276 }
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
277
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
278 }
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
279
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
280 gtk_option_menu_set_menu(GTK_OPTION_MENU(tmpOptionMenu), tmpMenu);
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
281 gtk_widget_show(tmpOptionMenu);
614
52a6c114e505 Sub-tune info selector fixed in file information dialog.
Matti Hamalainen <ccr@tnsp.org>
parents: 612
diff changeset
282
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
283 /* Set the subtune information */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
284 xs_fileinfo_subtune(tmpOptionMenu, NULL);
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
285
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
286 /* Free temporary tuneinfo */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
287 xs_tuneinfo_free(tmpInfo);
232
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
288
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
289 /* Show the window */
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
290 gtk_widget_show(xs_fileinfowin);
232
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
291
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
292 XS_MUTEX_UNLOCK(xs_fileinfowin);
232
e613873c3379 Thread locking now final. All parts, including GTK GUI, should be(?)
Matti Hamalainen <ccr@tnsp.org>
parents: 230
diff changeset
293
622
d7389ea52113 Move SLDB and STIL utility functions to xs_slsup.[ch] and amend some changes between XMMS-SID and Aud-SID via a macro mess.
Matti Hamalainen <ccr@tnsp.org>
parents: 615
diff changeset
294 #ifndef AUDACIOUS_PLUGIN
660
b0743dc9165d Change tabs to 4 spaces, everywhere.
Matti Hamalainen <ccr@tnsp.org>
parents: 657
diff changeset
295 xs_fileinfo_update();
622
d7389ea52113 Move SLDB and STIL utility functions to xs_slsup.[ch] and amend some changes between XMMS-SID and Aud-SID via a macro mess.
Matti Hamalainen <ccr@tnsp.org>
parents: 615
diff changeset
296 #endif
222
dcf88b73e4c1 Added fileinfo-dialog module.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
297 }