annotate Plugins/Input/modplug/gui/main.cpp @ 924:5ef13028e42d trunk

[svn] Allow to disable grabbing Amiga MOD files so a diferent plugin such as UADE gets a chance. Adds a few extra magic strings for Amiga files. Amiga MOD grabbing defaults to on for that Just Works(TM) feeling.
author chainsaw
date Tue, 11 Apr 2006 14:33:16 -0700
parents 9d393eabf984
children a8e4435f65f2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
278
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
1 /*
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
2 * Initial main.c file generated by Glade. Edit as required.
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
3 * Glade will not overwrite this file.
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
4 */
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
5
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
6 #ifdef HAVE_CONFIG_H
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
7 # include <config.h>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
8 #endif
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
9
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
10 #include <gtk/gtk.h>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
11 #include <libintl.h>
864
9d393eabf984 [svn] now modplug uses xmms_show_message for its aboutbox
giacomo
parents: 278
diff changeset
12 #include "libaudacious/util.c"
278
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
13
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
14 #include "interface.h"
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
15 #include "support.h"
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
16 #include "main.h"
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
17
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
18 #include <sstream>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
19 //open()
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
20 #include <sys/types.h>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
21 #include <sys/stat.h>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
22 #include <fcntl.h>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
23 //mmap()
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
24 #include <unistd.h>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
25 #include <sys/mman.h>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
26 #include <fstream>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
27
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
28 #include "../stddefs.h"
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
29 #include <libmodplug/stdafx.h>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
30 #include <libmodplug/sndfile.h>
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
31 #include "../archive/open.h"
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
32
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
33 #define MAX_MESSAGE_LENGTH 4000
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
34
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
35 GtkWidget *AboutWin = NULL;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
36 GtkWidget *ConfigWin = NULL;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
37 GtkWidget *InfoWin = NULL;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
38
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
39 void ShowAboutWindow()
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
40 {
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
41 if(!AboutWin)
864
9d393eabf984 [svn] now modplug uses xmms_show_message for its aboutbox
giacomo
parents: 278
diff changeset
42 {
9d393eabf984 [svn] now modplug uses xmms_show_message for its aboutbox
giacomo
parents: 278
diff changeset
43 gchar * about_text = g_strjoin( "" , _("Modplug Input Plugin for Audacious ver") ,
9d393eabf984 [svn] now modplug uses xmms_show_message for its aboutbox
giacomo
parents: 278
diff changeset
44 VERSION , _("\nModplug sound engine written by Olivier Lapicque.\nXMMS interface for Modplug by Kenton Varda.\n(c)2000 Olivier Lapicque and Kenton Varda.\nUpdates and Maintainance by Konstanty Bialkowski.\nPorted to BMP by Theofilos Intzoglou.") , NULL );
9d393eabf984 [svn] now modplug uses xmms_show_message for its aboutbox
giacomo
parents: 278
diff changeset
45 AboutWin = xmms_show_message( _("About Modplug") , about_text , _("Ok") , FALSE , NULL , NULL );
9d393eabf984 [svn] now modplug uses xmms_show_message for its aboutbox
giacomo
parents: 278
diff changeset
46 gtk_signal_connect( GTK_OBJECT(AboutWin) , "destroy" ,
9d393eabf984 [svn] now modplug uses xmms_show_message for its aboutbox
giacomo
parents: 278
diff changeset
47 GTK_SIGNAL_FUNC(gtk_widget_destroyed), &AboutWin);
9d393eabf984 [svn] now modplug uses xmms_show_message for its aboutbox
giacomo
parents: 278
diff changeset
48 g_free( about_text );
9d393eabf984 [svn] now modplug uses xmms_show_message for its aboutbox
giacomo
parents: 278
diff changeset
49 }
278
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
50 gtk_widget_show(AboutWin);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
51 }
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
52
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
53 void ShowConfigureWindow(const ModplugXMMS::Settings& aProps)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
54 {
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
55 if(!ConfigWin)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
56 ConfigWin = create_Config();
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
57
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
58 if(aProps.mBits == 8)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
59 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "bit8"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
60 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
61 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "bit16"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
62
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
63 if(aProps.mFrequency == 11025)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
64 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "samp11"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
65 else if (aProps.mFrequency == 22050)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
66 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "samp22"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
67 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
68 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "samp44"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
69
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
70 if(aProps.mChannels == 1)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
71 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "mono"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
72 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
73 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "stereo"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
74
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
75 if(aProps.mResamplingMode == 0)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
76 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "resampNearest"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
77 else if(aProps.mResamplingMode == 1)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
78 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "resampLinear"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
79 else if(aProps.mResamplingMode == 2)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
80 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "resampSpline"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
81 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
82 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "resampPolyphase"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
83
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
84 if(aProps.mNoiseReduction)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
85 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxNR"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
86 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
87 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxNR"), FALSE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
88
924
5ef13028e42d [svn] Allow to disable grabbing Amiga MOD files so a diferent plugin such as UADE gets a chance. Adds a few extra magic strings for Amiga files. Amiga MOD grabbing defaults to on for that Just Works(TM) feeling.
chainsaw
parents: 864
diff changeset
89 if(aProps.mGrabAmigaMOD)
5ef13028e42d [svn] Allow to disable grabbing Amiga MOD files so a diferent plugin such as UADE gets a chance. Adds a few extra magic strings for Amiga files. Amiga MOD grabbing defaults to on for that Just Works(TM) feeling.
chainsaw
parents: 864
diff changeset
90 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxAmigaMOD"), TRUE);
5ef13028e42d [svn] Allow to disable grabbing Amiga MOD files so a diferent plugin such as UADE gets a chance. Adds a few extra magic strings for Amiga files. Amiga MOD grabbing defaults to on for that Just Works(TM) feeling.
chainsaw
parents: 864
diff changeset
91 else
5ef13028e42d [svn] Allow to disable grabbing Amiga MOD files so a diferent plugin such as UADE gets a chance. Adds a few extra magic strings for Amiga files. Amiga MOD grabbing defaults to on for that Just Works(TM) feeling.
chainsaw
parents: 864
diff changeset
92 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxAmigaMOD"), FALSE);
5ef13028e42d [svn] Allow to disable grabbing Amiga MOD files so a diferent plugin such as UADE gets a chance. Adds a few extra magic strings for Amiga files. Amiga MOD grabbing defaults to on for that Just Works(TM) feeling.
chainsaw
parents: 864
diff changeset
93
278
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
94 if(aProps.mFastinfo)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
95 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxFastInfo"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
96 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
97 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxFastInfo"), FALSE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
98
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
99 if(aProps.mUseFilename)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
100 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxUseFilename"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
101 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
102 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxUseFilename"), FALSE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
103
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
104 if(aProps.mReverb)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
105 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxReverb"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
106 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
107 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxReverb"), FALSE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
108
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
109 if(aProps.mMegabass)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
110 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxBassBoost"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
111 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
112 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxBassBoost"), FALSE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
113
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
114 if(aProps.mSurround)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
115 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxSurround"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
116 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
117 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxSurround"), FALSE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
118
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
119 if(aProps.mPreamp)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
120 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxPreamp"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
121 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
122 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxPreamp"), FALSE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
123
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
124 gtk_adjustment_set_value(gtk_range_get_adjustment((GtkRange*)lookup_widget(ConfigWin, "fxReverbDepth")), aProps.mReverbDepth);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
125 gtk_adjustment_set_value(gtk_range_get_adjustment((GtkRange*)lookup_widget(ConfigWin, "fxReverbDelay")), aProps.mReverbDelay);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
126 gtk_adjustment_set_value(gtk_range_get_adjustment((GtkRange*)lookup_widget(ConfigWin, "fxBassAmount")), aProps.mBassAmount);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
127 gtk_adjustment_set_value(gtk_range_get_adjustment((GtkRange*)lookup_widget(ConfigWin, "fxBassRange")), aProps.mBassRange);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
128 gtk_adjustment_set_value(gtk_range_get_adjustment((GtkRange*)lookup_widget(ConfigWin, "fxSurroundDepth")), aProps.mSurroundDepth);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
129 gtk_adjustment_set_value(gtk_range_get_adjustment((GtkRange*)lookup_widget(ConfigWin, "fxSurroundDelay")), aProps.mSurroundDelay);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
130 gtk_adjustment_set_value(gtk_range_get_adjustment((GtkRange*)lookup_widget(ConfigWin, "fxPreampLevel")), aProps.mPreampLevel);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
131
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
132 if(aProps.mLoopCount < 0)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
133 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxLoopForever"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
134 else if(aProps.mLoopCount == 0)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
135 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxNoLoop"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
136 else
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
137 {
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
138 gtk_toggle_button_set_active((GtkToggleButton*)lookup_widget(ConfigWin, "fxLoopFinite"), TRUE);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
139 gtk_adjustment_set_value(gtk_spin_button_get_adjustment(
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
140 (GtkSpinButton*)lookup_widget(ConfigWin, "fxLoopCount")), aProps.mLoopCount);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
141 }
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
142
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
143 gtk_widget_show(ConfigWin);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
144 }
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
145
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
146 void ShowInfoWindow(const string& aFilename)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
147 {
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
148 if(!InfoWin)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
149 InfoWin = create_Info();
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
150
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
151 uint32 lSongTime, lNumSamples, lNumInstruments, i;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
152 string lInfo;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
153 char lBuffer[33];
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
154 stringstream lStrStream(ios::out); //C++ replacement for sprintf()
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
155
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
156 CSoundFile* lSoundFile;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
157
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
158 Archive* lArchive;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
159 string lShortFN;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
160 uint32 lPos;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
161
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
162 lPos = aFilename.find_last_of('/') + 1;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
163 lShortFN = aFilename.substr(lPos);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
164
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
165 //open and mmap the file
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
166 lArchive = OpenArchive(aFilename);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
167 if(lArchive->Size() == 0)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
168 {
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
169 delete lArchive;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
170 return;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
171 }
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
172
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
173 lSoundFile = new CSoundFile;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
174 lSoundFile->Create((uchar*)lArchive->Map(), lArchive->Size());
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
175
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
176 lInfo = lShortFN;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
177 lInfo += '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
178 lInfo += lSoundFile->GetTitle();
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
179 lInfo += '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
180
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
181 switch(lSoundFile->GetType())
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
182 {
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
183 case MOD_TYPE_MOD:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
184 lInfo+= "ProTracker";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
185 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
186 case MOD_TYPE_S3M:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
187 lInfo+= "Scream Tracker 3";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
188 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
189 case MOD_TYPE_XM:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
190 lInfo+= "Fast Tracker 2";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
191 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
192 case MOD_TYPE_IT:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
193 lInfo+= "Impulse Tracker";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
194 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
195 case MOD_TYPE_MED:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
196 lInfo+= "OctaMed";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
197 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
198 case MOD_TYPE_MTM:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
199 lInfo+= "MTM";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
200 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
201 case MOD_TYPE_669:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
202 lInfo+= "669 Composer / UNIS 669";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
203 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
204 case MOD_TYPE_ULT:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
205 lInfo+= "ULT";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
206 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
207 case MOD_TYPE_STM:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
208 lInfo+= "Scream Tracker";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
209 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
210 case MOD_TYPE_FAR:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
211 lInfo+= "Farandole";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
212 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
213 case MOD_TYPE_AMF:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
214 lInfo+= "ASYLUM Music Format";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
215 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
216 case MOD_TYPE_AMS:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
217 lInfo+= "AMS module";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
218 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
219 case MOD_TYPE_DSM:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
220 lInfo+= "DSIK Internal Format";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
221 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
222 case MOD_TYPE_MDL:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
223 lInfo+= "DigiTracker";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
224 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
225 case MOD_TYPE_OKT:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
226 lInfo+= "Oktalyzer";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
227 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
228 case MOD_TYPE_DMF:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
229 lInfo+= "Delusion Digital Music Fileformat (X-Tracker)";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
230 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
231 case MOD_TYPE_PTM:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
232 lInfo+= "PolyTracker";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
233 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
234 case MOD_TYPE_DBM:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
235 lInfo+= "DigiBooster Pro";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
236 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
237 case MOD_TYPE_MT2:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
238 lInfo+= "MT2";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
239 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
240 case MOD_TYPE_AMF0:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
241 lInfo+= "AMF0";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
242 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
243 case MOD_TYPE_PSM:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
244 lInfo+= "PSM";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
245 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
246 default:
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
247 lInfo+= "Unknown";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
248 break;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
249 }
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
250 lInfo += '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
251
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
252 lSongTime = lSoundFile->GetSongTime();
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
253 lStrStream.clear();
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
254 lStrStream << (int)(lSongTime / 60) << ":";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
255 if(lSongTime % 60 < 10) //single digit for seconds?
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
256 lStrStream << '0'; //yes, so add a 0.
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
257 lStrStream << (int)(lSongTime % 60);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
258
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
259 lStrStream << '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
260
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
261 lStrStream << (int)lSoundFile->GetMusicSpeed() << '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
262 lStrStream << (int)lSoundFile->GetMusicTempo() << '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
263 lStrStream << (int)(lNumSamples = lSoundFile->GetNumSamples()) << '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
264 lStrStream << (int)(lNumInstruments = lSoundFile->GetNumInstruments());
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
265 lStrStream << '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
266 lStrStream << (int)(lSoundFile->GetNumPatterns()) << '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
267 lStrStream << (int)lSoundFile->GetNumChannels();
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
268 lInfo += lStrStream.str();
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
269
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
270 gtk_label_set_text((GtkLabel*)lookup_widget(InfoWin, "info_general"), lInfo.c_str());
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
271
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
272 lInfo = "";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
273 for(i = 0; i < lNumSamples; i++)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
274 {
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
275 lSoundFile->GetSampleName(i, lBuffer);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
276 lInfo += lBuffer;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
277 lInfo += '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
278 }
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
279 gtk_label_set_text((GtkLabel*)lookup_widget(InfoWin, "info_samples"), lInfo.c_str());
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
280
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
281 lInfo = "";
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
282 for(i = 0; i < lNumInstruments; i++)
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
283 {
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
284 lSoundFile->GetInstrumentName(i, lBuffer);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
285 lInfo += lBuffer;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
286 lInfo += '\n';
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
287 }
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
288 gtk_label_set_text((GtkLabel*)lookup_widget(InfoWin, "info_instruments"), lInfo.c_str());
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
289
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
290 char message[MAX_MESSAGE_LENGTH];
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
291 static int length = 0;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
292
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
293 //textbox = (GtkLabel*)lookup_widget(InfoWin, "info_message");
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
294 //gtk_text_backward_delete(textbox, length);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
295 length = lSoundFile->GetSongComments(message, MAX_MESSAGE_LENGTH, 80);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
296 if (length != 0) {
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
297 gtk_label_set_text((GtkLabel*)lookup_widget(InfoWin, "info_message"), message);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
298 }
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
299
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
300 //unload the file
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
301 lSoundFile->Destroy();
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
302 delete lSoundFile;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
303 delete lArchive;
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
304
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
305 gtk_widget_show(InfoWin);
37316876ef6e [svn] Use modplug instead of mikmod. Supports more formats & compressed files.
chainsaw
parents:
diff changeset
306 }