Re: [yoshimi-user] suggested patch

  • From: Brendan Jones <brendan.jones.it@xxxxxxxxx>
  • To: yoshimi-user@xxxxxxxxxxxxxxxxxxxxx
  • Date: Mon, 06 Feb 2012 14:42:22 +0100

On 02/06/2012 02:27 PM, Jeremy Jongepier wrote:

On 02/06/12 13:02, Brendan Jones wrote:
Hi Jeremy,

I took it upon myself to implement the window icon.

Basically I took your png and converted it to an xpm and added that to
the UI directory (have to change the declaration to static const). This
adds a new dependancy - libXpm.

Icons.fl is a class to hold a single instance of the pixmap, but it is
possible to add other icons/pixmaps to it if you wanted have different
icons for different windows.

There is probably a smarter way to do this by subclassing FL_Window and
its derivatives, but I'm not sure how the fluid editor would react -
there's fewer changes this way I think, and the UI hasn't changed much
since its inception.

Anyway, patch attached. Comments welcome!

regards,

Brendan

Hello Brendan,

Great, thanks! Can't get it to compile though. First I had to change the
reference to Fl/x.h to Fl/x.H and then the compilitaion got stuck almost
at the end:
[ 82%] Building CXX object CMakeFiles/yoshimi.dir/main.cpp.o
make[2]: *** No rule to make target `/usr/lib/libGL.so', needed by
`yoshimi'. Stop.
make[1]: *** [CMakeFiles/yoshimi.dir/all] Error 2
make: *** [all] Error 2


I think this is because you have a proprietary video driver? There's some info here which shows you how to create the correct symlink to this library on your system [1].

Reattached the patch to include Fl/x.H as you changed.

thanks

Brendan

[1] http://techtidings.blogspot.com/2012/01/problem-with-libglso-on-64-bit-ubuntu.html
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/CMakeLists.txt
yoshimi-0.060.12/src/CMakeLists.txt
--- yoshimi-0.060.12.orig/src/CMakeLists.txt 2012-01-03 21:16:34.000000000
+0100
+++ yoshimi-0.060.12/src/CMakeLists.txt 2012-02-06 12:29:46.469340005 +0100
@@ -155,6 +155,14 @@
message (FATAL_ERROR "fontconfig>=0.22 required but not found")
endif(FONTCONFIG_FOUND)

+# libXpm
+find_package (X11)
+if (X11_Xpm_FOUND)
+ message(STATUS "Found Xpm headers")
+else (X11_Xpm_FOUND)
+ message (FATAL_ERROR "Xpm headers required, but not found")
+endif (X11_Xpm_FOUND)
+
# fltk
find_package (FLTK REQUIRED)
if (FLTK_FOUND)
@@ -172,7 +180,7 @@
UI/OscilGenUI.fl UI/ADnoteUI.fl UI/PADnoteUI.fl
UI/EffUI.fl UI/BankUI.fl UI/PartUI.fl
UI/MicrotonalUI.fl UI/MasterUI.fl UI/MasterMiscUI.fl
- UI/ParametersUI.fl UI/ConsoleUI.fl
+ UI/ParametersUI.fl UI/ConsoleUI.fl UI/Icons.fl
)

fltk_wrap_ui (yoshimi ${GuiFluids})
@@ -324,6 +332,7 @@
${MXML_INCLUDE_DIRS}
${ALSA_INCLUDE_DIRS}
${JACK_INCLUDE_DIRS}
+ ${X11_INCLUDE_DIRS}
${FONTCONFIG_INCLUDE_DIRS}
${FLTK_INCLUDE_DIR}
${FFTW3F_INC_DIR}
@@ -335,6 +344,7 @@
${MXML_LIBRARIES}
${ALSA_LIBRARIES}
${JACK_LIBRARIES}
+ ${X11_Xpm_LIB}
${LIBSNDFILE_LIBRARIES}
${FFTW3F_LIBRARIES}
z
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/ADnoteUI.fl
yoshimi-0.060.12/src/UI/ADnoteUI.fl
--- yoshimi-0.060.12.orig/src/UI/ADnoteUI.fl 2011-04-12 01:20:30.000000000
+0200
+++ yoshimi-0.060.12/src/UI/ADnoteUI.fl 2012-02-06 12:31:06.708842579 +0100
@@ -48,6 +48,9 @@
\#include "OscilGenUI.h"} {public global
}

+decl {\#include "Icons.h"} {public
+}
+
class ADvoicelistitem {open : {public Fl_Group, SynthHelper}
} {
Function {make_window()} {open private
@@ -944,6 +947,7 @@
Fl_Window ADnoteGlobalParameters {
label {ADsynth Global Parameters of the Instrument} open
xywh {996 680 540 425} type Double hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Group {} {
label FREQUENCY open
@@ -1191,6 +1195,7 @@
Fl_Window ADnoteVoice {
label {ADsynth Voice Parameters} open
xywh {719 139 765 620} type Double hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Group advoice {
xywh {0 0 760 575} box BORDER_BOX
@@ -1232,6 +1237,7 @@
Fl_Window ADnoteVoiceList {
label {ADsynth Voices list} open
xywh {33 292 650 260} type Double hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Text_Display {} {
label {No.}
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/BankUI.fl
yoshimi-0.060.12/src/UI/BankUI.fl
--- yoshimi-0.060.12.orig/src/UI/BankUI.fl 2012-01-02 21:01:20.000000000
+0100
+++ yoshimi-0.060.12/src/UI/BankUI.fl 2012-02-06 12:42:52.008940439 +0100
@@ -48,6 +48,9 @@
decl {\#include "Misc/SynthEngine.h"} {public
}

+decl {\#include "Icons.h"} {public
+}
+
class BankProcess_ {open
} {
Function {process(void)} {open return_type {virtual void}
@@ -130,7 +133,8 @@
xywh {688 549 785 575} type Double
code0 {o->label(bank->bankfiletitle.c_str());}
code1 {if (!bank->bankfiletitle.size())
- o->label ("Choose a bank from the bank list on the left (or go to
settings if to configure the bank location) or choose 'New Bank...' to make a
new bank.");} visible
+ o->label ("Choose a bank from the bank list on the left (or go to
settings if to configure the bank location) or choose 'New Bank...' to make a
new bank.");}
+ code2 {o->icon((char*) icons.main_pixmap);} visible
} {
Fl_Button {} {
label Close
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/ConfigUI.fl
yoshimi-0.060.12/src/UI/ConfigUI.fl
--- yoshimi-0.060.12.orig/src/UI/ConfigUI.fl 2011-04-12 01:20:30.000000000
+0200
+++ yoshimi-0.060.12/src/UI/ConfigUI.fl 2012-02-06 12:31:06.712842461 +0100
@@ -36,6 +36,8 @@
decl {\#include "Misc/MiscFuncs.h"} {public
}

+decl {\#include "Icons.h"} {public
+}
class ConfigUI {open : {private MiscFuncs}
} {
Function {make_window()} {open
@@ -62,6 +64,7 @@
else
o->hide();} open
xywh {1050 243 465 335} type Double visible
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Tabs {} {open
xywh {5 5 520 325}
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/ConsoleUI.fl
yoshimi-0.060.12/src/UI/ConsoleUI.fl
--- yoshimi-0.060.12.orig/src/UI/ConsoleUI.fl 2011-04-12 01:20:30.000000000
+0200
+++ yoshimi-0.060.12/src/UI/ConsoleUI.fl 2012-02-06 12:31:06.713842430
+0100
@@ -34,6 +34,9 @@
decl {\#include "MasterUI.h"} {global
}

+decl {\#include <Icons.h>} {public
+}
+
class ConsoleUI {open
} {
Function {make_window(void)} {open
@@ -42,6 +45,7 @@
label {yoshimi console}
callback {o->hide()} open
xywh {1077 699 320 180} type Double color 54 selection_color 36
labeltype NORMAL_LABEL labelfont 13 labelsize 13 align 0 when 1 hide resizable
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Text_Display logText {
label {log text} selected
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/EffUI.fl
yoshimi-0.060.12/src/UI/EffUI.fl
--- yoshimi-0.060.12.orig/src/UI/EffUI.fl 2011-04-12 01:20:30.000000000
+0200
+++ yoshimi-0.060.12/src/UI/EffUI.fl 2012-02-06 12:31:06.718842272 +0100
@@ -51,6 +51,9 @@
decl {\#include "PresetsUI.h"} {public
}

+decl {\#include "Icons.h"} {public
+}
+
class EQGraph {open : {public Fl_Box}
} {
Function {EQGraph(int x,int y, int w, int h, const char
*label=0):Fl_Box(x,y,w,h,label)} {open
@@ -1268,6 +1271,7 @@
Fl_Window filterwindow {
label {Filter Parameters for DynFilter Eff.} open selected
xywh {1186 779 290 110} type Double visible
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Group {} {
label {DynFilter effect - Filter}
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/EnvelopeUI.fl
yoshimi-0.060.12/src/UI/EnvelopeUI.fl
--- yoshimi-0.060.12.orig/src/UI/EnvelopeUI.fl 2011-04-12 01:20:30.000000000
+0200
+++ yoshimi-0.060.12/src/UI/EnvelopeUI.fl 2012-02-06 12:31:06.721842181
+0100
@@ -52,6 +52,9 @@
decl {\#include "PresetsUI.h"} {public
}

+decl {\#include "Icons.h"} {public
+}
+
class EnvelopeFreeEdit {: {public Fl_Box}
} {
Function {EnvelopeFreeEdit(int x,int y, int w, int h, const char
*label=0):Fl_Box(x,y,w,h,label)} {} {
@@ -234,6 +237,7 @@
Fl_Window freemodeeditwindow {
label Envelope open
xywh {623 229 575 180} type Double visible
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Box freeedit {
label Envelope
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/FilterUI.fl
yoshimi-0.060.12/src/UI/FilterUI.fl
--- yoshimi-0.060.12.orig/src/UI/FilterUI.fl 2011-04-12 01:20:30.000000000
+0200
+++ yoshimi-0.060.12/src/UI/FilterUI.fl 2012-02-06 12:31:06.724842088 +0100
@@ -55,6 +55,9 @@
decl {\#include "Misc/MiscFuncs.h"} {public
}

+decl {\#include "Icons.h"} {public
+}
+
class FormantFilterGraph {open : {public Fl_Box, MiscFuncs}
} {
Function {FormantFilterGraph(int x,int y, int w, int h, const char
*label=0):Fl_Box(x,y,w,h,label)} {open
@@ -370,6 +373,7 @@
Fl_Window formantparswindow {
label {Formant Filter Parameters} open
xywh {914 714 700 205} type Double labelfont 1 labelsize 12 visible
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Group {} {
xywh {485 47 105 113} box THIN_UP_BOX
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/Icons.fl
yoshimi-0.060.12/src/UI/Icons.fl
--- yoshimi-0.060.12.orig/src/UI/Icons.fl 1970-01-01 01:00:00.000000000
+0100
+++ yoshimi-0.060.12/src/UI/Icons.fl 2012-02-06 12:44:49.365291000 +0100
@@ -0,0 +1,36 @@
+# data file for the Fltk User Interface Designer (fluid)
+version 1.0300
+header_name {.h}
+code_name {.cxx}
+declblock {\#ifndef ICONS_H} {open after {\#endif}
+} {
+ decl {\#define ICONS_H} {private local
+ }
+ decl {\#include <X11/xpm.h>} {public local
+ }
+ decl {\#include <Fl/x.H>} {public local
+ }
+ decl {\#include "UI/yoshimi_icon.xpm"} {private}
+ class Icons {open
+ } {
+ Function {Icons()} {open
+ } {
+ code {if (!fl_display) fl_open_display();
+XpmCreatePixmapFromData(fl_display, DefaultRootWindow(fl_display),
+ (char**) &yoshimi_icon_xpm, &main_pixmap,
+ &main_mask, NULL);} {}
+ }
+ Function {~Icons()} {open
+ } {
+ code {if (main_pixmap) {
+ XFreePixmap(fl_display, main_pixmap);
+ XFreePixmap(fl_display, main_mask);
+}} {}
+ }
+ decl {Pixmap main_pixmap,main_mask;} {public local
+ }
+ }
+}
+
+decl {Icons icons;} {public local
+}
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/MasterUI.fl
yoshimi-0.060.12/src/UI/MasterUI.fl
--- yoshimi-0.060.12.orig/src/UI/MasterUI.fl 2011-04-12 01:21:54.000000000
+0200
+++ yoshimi-0.060.12/src/UI/MasterUI.fl 2012-02-06 12:31:06.730841902 +0100
@@ -78,6 +78,9 @@
decl {\#include "Misc/MiscFuncs.h"} {public
}

+decl {\#include "Icons.h"} {public
+}
+
decl {class MasterUI;} {public
}

@@ -162,7 +165,10 @@
yoshiLog = new ConsoleUI();
yoshiLog->setLabel();
make_window();
- setMasterLabel(Runtime.paramsLoad);
+ setMasterLabel(Runtime.nameTag,Runtime.paramsLoad);
+
+ masterwindow->icon((char *)icons.main_pixmap);
+
masterwindow->show();
if (Runtime.showConsole)
yoshiLog->Show();
@@ -175,6 +181,7 @@
label {Yoshimi meets ZynAddSubFX}
callback {Runtime.saveConfig(); Runtime.runSynth = false;} open
xywh {1406 409 390 460} type Double labelfont 13 labelsize 12 xclass
Yoshimi visible
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Menu_Bar mastermenu {open
xywh {-5 0 690 25} labelsize 13
@@ -702,6 +709,7 @@
Fl_Window aboutwindow {
label {About Yoshimi}
xywh {1173 908 320 270} type Double color 54 labelfont 13 labelsize 13
when 0 hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Box {} {
label {Yoshimi
@@ -739,6 +747,7 @@
Fl_Window syseffsendwindow {
label {System Effects Send}
xywh {175 338 120 250} type Double labelfont 13 labelsize 13 hide
resizable
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Scroll {} {
xywh {0 45 120 170} box FLAT_BOX resizable
@@ -768,6 +777,7 @@
Fl_Window panelwindow {
label {Yoshimi Panel}
xywh {402 107 630 635} type Double labelfont 13 labelsize 13 hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Scroll {} {
xywh {0 5 570 310} type HORIZONTAL box THIN_UP_BOX
@@ -823,11 +833,13 @@
}
} {}
}
- Function {setMasterLabel(string name)} {} {
+ Function {setMasterLabel(string name, string params)} {} {
code {//
masterwindowlabel = "Yoshimi";
if (name.size())
- masterwindowlabel += (" : " + name);
+ masterwindowlabel = name;
+ if (params.size())
+ masterwindowlabel += (" : " + params);
masterwindow->label(masterwindowlabel.c_str());
masterwindow->changed();} {}
}
@@ -868,7 +880,7 @@
if (result >= 0)
{
if (updatehistory)
- setMasterLabel(Runtime.addParamHistory(string(fname)));
+
setMasterLabel(Runtime.nameTag,Runtime.addParamHistory(string(fname)));
RecentParams->activate();
}
else
@@ -909,7 +921,7 @@
fl_alert("Could not save the file.");
else
{
- setMasterLabel(Runtime.addParamHistory(fname));
+ setMasterLabel(Runtime.nameTag,Runtime.addParamHistory(fname));
RecentParams->activate();
}
updatepanel();} {}
@@ -962,6 +974,7 @@
inseffectuigroup->activate();
inseffectuigroup->show();} {}
}
+
decl {ConfigUI *configui;} {}
decl {ParametersUI *paramsui;} {}
decl {BankUI *bankui;} {}
@@ -976,4 +989,5 @@
decl {Panellistitem *panellistitem[NUM_MIDI_PARTS];} {}
decl {ConsoleUI *yoshiLog;} {}
decl {string laststatefile;} {}
+
}
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/MicrotonalUI.fl
yoshimi-0.060.12/src/UI/MicrotonalUI.fl
--- yoshimi-0.060.12.orig/src/UI/MicrotonalUI.fl 2011-04-12
01:20:30.000000000 +0200
+++ yoshimi-0.060.12/src/UI/MicrotonalUI.fl 2012-02-06 12:31:06.731841871
+0100
@@ -39,11 +39,15 @@
decl {\#include "Misc/Microtonal.h"} {public
}

+decl {\#include <Icons.h>} {public
+}
+
class MicrotonalUI {} {
Function {make_window()} {} {
Fl_Window microtonaluiwindow {
label Scales
xywh {99 164 405 450} type Double hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Group {} {
tooltip {Center where the note's freqs. are turned upside-down} xywh
{249 2 155 45} box ENGRAVED_FRAME
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/OscilGenUI.fl
yoshimi-0.060.12/src/UI/OscilGenUI.fl
--- yoshimi-0.060.12.orig/src/UI/OscilGenUI.fl 2012-01-02 21:01:20.000000000
+0100
+++ yoshimi-0.060.12/src/UI/OscilGenUI.fl 2012-02-06 12:31:06.735841747
+0100
@@ -406,7 +406,8 @@
Fl_Window osceditUI {
label {ADsynth Oscillator Editor} open
xywh {132 116 735 595} type Double
- code0 {if (oscil->ADvsPAD) o->label("PADsynth Harmonic Content
Editor");} visible
+ code0 {if (oscil->ADvsPAD) o->label("PADsynth Harmonic Content Editor");}
+ code1 {o->icon((char*) icons.main_pixmap);} visible
} {
Fl_Button applybutton {
label Apply
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/PADnoteUI.fl
yoshimi-0.060.12/src/UI/PADnoteUI.fl
--- yoshimi-0.060.12.orig/src/UI/PADnoteUI.fl 2011-04-12 01:20:30.000000000
+0200
+++ yoshimi-0.060.12/src/UI/PADnoteUI.fl 2012-02-06 12:31:06.740841592
+0100
@@ -48,6 +48,9 @@
\#include "OscilGenUI.h"} {public global
}

+decl {\#include "Icons.h"} {public
+}
+
class PADnoteHarmonicProfile {: {public Fl_Box}
} {
Function {PADnoteHarmonicProfile(int x,int y, int w, int h, const char
*label=0):Fl_Box(x,y,w,h,label)} {} {
@@ -241,6 +244,7 @@
Fl_Window padnotewindow {
label {PAD synth Parameters} open
xywh {776 290 535 450} type Double visible
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Tabs {} {
callback {//
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/ParametersUI.fl
yoshimi-0.060.12/src/UI/ParametersUI.fl
--- yoshimi-0.060.12.orig/src/UI/ParametersUI.fl 2011-04-12
01:20:30.000000000 +0200
+++ yoshimi-0.060.12/src/UI/ParametersUI.fl 2012-02-06 12:31:06.740841592
+0100
@@ -31,6 +31,9 @@
decl {\#include "MasterUI.h"} {global
}

+decl {\#include "Icons.h"} {global
+}
+
class ParametersUI {open
} {
Function {make_window(void)} {open
@@ -39,6 +42,7 @@
label {Recent Parameters}
callback {o->hide()} open
xywh {917 745 220 180} type Double labeltype NORMAL_LABEL labelfont 13
labelsize 12 align 0 visible
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Browser BrowseRecent {
callback {if (o->value() > 0)
@@ -51,7 +55,7 @@
{
fle = Runtime.ParamsHistory.at(o->value() - 1).file;
guiMaster->do_load_master(false, fle.c_str());
-
guiMaster->setMasterLabel(Runtime.ParamsHistory.at(o->value() - 1).name);
+
guiMaster->setMasterLabel(Runtime.nameTag,Runtime.ParamsHistory.at(o->value() -
1).name);
}
break;

diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/PartUI.fl
yoshimi-0.060.12/src/UI/PartUI.fl
--- yoshimi-0.060.12.orig/src/UI/PartUI.fl 2012-01-02 21:01:21.000000000
+0100
+++ yoshimi-0.060.12/src/UI/PartUI.fl 2012-02-06 12:31:06.744841468 +0100
@@ -48,6 +48,9 @@
\#define MAX_INFO_TEXT_SIZE 256} {public
}

+decl {\#include "Icons.h"} {public
+}
+
class PartSysEffSend {open : {public Fl_Group, private MiscFuncs}
} {
Function {make_window()} {private
@@ -543,6 +546,7 @@
Fl_Window ctlwindow {
label Controllers open
private xywh {204 628 460 130} type Double hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Check_Button {} {
label Expr
@@ -704,6 +708,7 @@
Fl_Window partfx {
label {Part's Insert Effects} open
private xywh {127 580 390 145} type Double hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Counter inseffnocounter {
label {FX No.}
@@ -831,6 +836,7 @@
Fl_Window instrumentkitlist {
label {Instrument Kit} open
xywh {115 376 670 370} type Double hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Button {} {
label {Close Window}
@@ -912,6 +918,7 @@
Fl_Window instrumenteditwindow {
label {Instrument Edit} open
xywh {183 240 395 360} type Double hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Group {} {
xywh {0 220 395 110} box ENGRAVED_FRAME
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/PresetsUI.fl
yoshimi-0.060.12/src/UI/PresetsUI.fl
--- yoshimi-0.060.12.orig/src/UI/PresetsUI.fl 2012-01-02 21:01:21.000000000
+0100
+++ yoshimi-0.060.12/src/UI/PresetsUI.fl 2012-02-06 12:31:06.746841406
+0100
@@ -33,6 +33,9 @@
decl {\#include <FL/fl_ask.H>} {public
}

+decl {\#include "Icons.h"} {public
+}
+
decl {\#include <string>} {selected public global
}

@@ -67,6 +70,7 @@
Fl_Window copywin {
label {Copy to Clipboard/Preset}
xywh {190 173 265 430} type Double box PLASTIC_THIN_UP_BOX color 238
hide modal
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Browser copybrowse {
callback {
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/ResonanceUI.fl
yoshimi-0.060.12/src/UI/ResonanceUI.fl
--- yoshimi-0.060.12.orig/src/UI/ResonanceUI.fl 2011-04-12 01:20:30.000000000
+0200
+++ yoshimi-0.060.12/src/UI/ResonanceUI.fl 2012-02-06 12:31:06.747841375
+0100
@@ -49,6 +49,9 @@
decl {\#include "Synth/Resonance.h"} {public
}

+decl {\#include "Icons.h"} {public
+}
+
class ResonanceGraph {: {public Fl_Box}
} {
Function {ResonanceGraph(int x,int y, int w, int h, const char
*label=0):Fl_Box(x,y,w,h,label)} {} {
@@ -208,6 +211,7 @@
Fl_Window resonancewindow {
label Resonance selected
xywh {120 70 780 305} type Double hide
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Value_Output khzvalue {
label kHz
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/SUBnoteUI.fl
yoshimi-0.060.12/src/UI/SUBnoteUI.fl
--- yoshimi-0.060.12.orig/src/UI/SUBnoteUI.fl 2011-04-12 01:20:30.000000000
+0200
+++ yoshimi-0.060.12/src/UI/SUBnoteUI.fl 2012-02-06 12:31:06.749841313
+0100
@@ -45,6 +45,9 @@
decl {\#include "Misc/SynthHelper.h"} {public
}

+decl {\#include "Icons.h"} {public
+}
+
decl {\#include "Params/SUBnoteParameters.h"} {public
}

@@ -122,6 +125,7 @@
Fl_Window SUBparameters {
label {SUBsynth Parameters} open
xywh {887 235 735 390} type Double visible
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Scroll {} {open
xywh {5 140 435 245} type HORIZONTAL box THIN_UP_BOX
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/VirKeyboardUI.fl
yoshimi-0.060.12/src/UI/VirKeyboardUI.fl
--- yoshimi-0.060.12.orig/src/UI/VirKeyboardUI.fl 2011-04-12
01:20:30.000000000 +0200
+++ yoshimi-0.060.12/src/UI/VirKeyboardUI.fl 2012-02-06 12:31:06.751841251
+0100
@@ -52,6 +52,9 @@
decl {\#include "WidgetPDialUI.h"} {public
}

+decl {\#include "Icons.h"} {public
+}
+
decl {const int keyspos[12]={0,-1,1,-2,2,3,-4,4,-5,5,-6,6};} {}

decl {const int
keysoct1qwerty[]={'q','2','w','3','e','r','5','t','6','y','7','u','i','9','o','0','p','[','=',']','\\\\',FL_Enter,0};}
{}
@@ -287,6 +290,7 @@
callback {relaseallkeys();
virkeyboardwindow->hide();} open
xywh {930 219 650 130} type Double visible
+ code0 {o->icon((char*) icons.main_pixmap);}
} {
Fl_Box virkeys {
label Keyboard
diff -Nur '-x*~' '-x.*' '-x*dev4' yoshimi-0.060.12.orig/src/UI/yoshimi_icon.xpm
yoshimi-0.060.12/src/UI/yoshimi_icon.xpm
--- yoshimi-0.060.12.orig/src/UI/yoshimi_icon.xpm 1970-01-01
01:00:00.000000000 +0100
+++ yoshimi-0.060.12/src/UI/yoshimi_icon.xpm 2012-02-06 12:13:33.026668692
+0100
@@ -0,0 +1,358 @@
+/* XPM */
+static const char * yoshimi_icon_xpm[] = {
+"32 32 323 2",
+" c None",
+". c #030303",
+"+ c #010101",
+"@ c #090909",
+"# c #0B0B0B",
+"$ c #131313",
+"% c #020202",
+"& c #202020",
+"* c #2A2A2A",
+"= c #343434",
+"- c #000000",
+"; c #1D1D1D",
+"> c #070707",
+", c #141414",
+"' c #161616",
+") c #190B12",
+"! c #D072A1",
+"~ c #ED78B2",
+"{ c #ED78B3",
+"] c #FF78BC",
+"^ c #F178B5",
+"/ c #F578B6",
+"( c #E178AC",
+"_ c #DD78AA",
+": c #EA78B1",
+"< c #E878B0",
+"[ c #E478AE",
+"} c #D678A7",
+"| c #F578B7",
+"1 c #E178AD",
+"2 c #F178B4",
+"3 c #EF78B3",
+"4 c #EE74B2",
+"5 c #F978B9",
+"6 c #E879B2",
+"7 c #F378B6",
+"8 c #F678B7",
+"9 c #EF7AB4",
+"0 c #EB7AB3",
+"a c #E97BB2",
+"b c #E57BB1",
+"c c #EC79B3",
+"d c #D97FAC",
+"e c #EC7AB2",
+"f c #F479B7",
+"g c #EF78B4",
+"h c #F278B6",
+"i c #F279B6",
+"j c #F278B4",
+"k c #EE7AB4",
+"l c #F778B8",
+"m c #F376B5",
+"n c #DE78AA",
+"o c #DA7EAB",
+"p c #F379B7",
+"q c #E979B1",
+"r c #D170A1",
+"s c #E270AA",
+"t c #E072A9",
+"u c #F579B7",
+"v c #C882A4",
+"w c #E27DB0",
+"x c #C882A5",
+"y c #B08199",
+"z c #D071A1",
+"A c #E473AC",
+"B c #F478B6",
+"C c #DC7DAD",
+"D c #EC7BB4",
+"E c #ED79B2",
+"F c #EC75B1",
+"G c #BC789A",
+"H c #CB81A6",
+"I c #C183A2",
+"J c #6F6168",
+"K c #2B1A1F",
+"L c #4E2F29",
+"M c #784339",
+"N c #764048",
+"O c #130E0D",
+"P c #545252",
+"Q c #E27CB0",
+"R c #D87EAB",
+"S c #C682A4",
+"T c #EA7BB3",
+"U c #686868",
+"V c #161110",
+"W c #462A25",
+"X c #774339",
+"Y c #5A352E",
+"Z c #17100F",
+"` c #4C4948",
+" . c #C582A4",
+".. c #E27CAF",
+"+. c #F476B6",
+"@. c #D578A6",
+"#. c #DC7EAD",
+"$. c #656565",
+"%. c #201513",
+"&. c #D57664",
+"*. c #F98A75",
+"=. c #DF7B69",
+"-. c #2E1D19",
+";. c #735B67",
+">. c #CC80A6",
+",. c #727272",
+"'. c #140E0D",
+"). c #C66E5D",
+"!. c #E8816D",
+"~. c #422722",
+"{. c #6C4F5D",
+"]. c #EA75B0",
+"^. c #D080A8",
+"/. c #171211",
+"(. c #C86F5E",
+"_. c #F78974",
+":. c #965347",
+"<. c #E27D6A",
+"[. c #3E202C",
+"}. c #D580AB",
+"|. c #272120",
+"1. c #AD6051",
+"2. c #B86656",
+"3. c #BE6A59",
+"4. c #EA826E",
+"5. c #130D0C",
+"6. c #EE76B2",
+"7. c #CA78A1",
+"8. c #1C1311",
+"9. c #854A3E",
+"0. c #030201",
+"a. c #2D1915",
+"b. c #35221E",
+"c. c #D474A4",
+"d. c #EE79B4",
+"e. c #0C0908",
+"f. c #F68874",
+"g. c #D37563",
+"h. c #070403",
+"i. c #E07C69",
+"j. c #53312A",
+"k. c #F074B2",
+"l. c #E074AA",
+"m. c #E678AF",
+"n. c #DA78AA",
+"o. c #17100E",
+"p. c #CA705F",
+"q. c #130A09",
+"r. c #884B40",
+"s. c #311F1C",
+"t. c #EC76B1",
+"u. c #221218",
+"v. c #F28672",
+"w. c #EE8470",
+"x. c #341D18",
+"y. c #3E221D",
+"z. c #F38772",
+"A. c #4D2E28",
+"B. c #E373AB",
+"C. c #1C1715",
+"D. c #CE7261",
+"E. c #120D0D",
+"F. c #C481A3",
+"G. c #BB85A0",
+"H. c #814761",
+"I. c #975448",
+"J. c #713752",
+"K. c #D17AA6",
+"L. c #E475AD",
+"M. c #CD78A2",
+"N. c #876F7B",
+"O. c #BD6959",
+"P. c #C76E5E",
+"Q. c #1E1412",
+"R. c #A16A85",
+"S. c #DD7EAD",
+"T. c #120D0C",
+"U. c #AA5E51",
+"V. c #D87865",
+"W. c #2D1C19",
+"X. c #64565D",
+"Y. c #DC7CAC",
+"Z. c #F577B6",
+"`. c #C6789F",
+" + c #CD7FA6",
+".+ c #6B6B6B",
+"++ c #1B1615",
+"@+ c #2F1E1B",
+"#+ c #5B352E",
+"$+ c #35211D",
+"%+ c #15100F",
+"&+ c #A06A85",
+"*+ c #E77BB2",
+"=+ c #ED7AB4",
+"-+ c #967485",
+";+ c #211B1A",
+">+ c #281A17",
+",+ c #3A2420",
+"'+ c #AB6789",
+")+ c #DF7DAF",
+"!+ c #E17BAF",
+"~+ c #F576B6",
+"{+ c #E778AF",
+"]+ c #E47CB0",
+"^+ c #DE7DAE",
+"/+ c #937182",
+"(+ c #97647E",
+"_+ c #D674A5",
+":+ c #DE7BAD",
+"<+ c #EC7AB3",
+"[+ c #F079B5",
+"}+ c #E57CB1",
+"|+ c #F379B6",
+"1+ c #E87AB2",
+"2+ c #5A5A5A",
+"3+ c #E875AF",
+"4+ c #C87DA3",
+"5+ c #E07DAF",
+"6+ c #EE75B2",
+"7+ c #E27DAF",
+"8+ c #EA7AB3",
+"9+ c #F07AB5",
+"0+ c #E97AB2",
+"a+ c #C981A5",
+"b+ c #E37CAF",
+"c+ c #DD7EAE",
+"d+ c #D87DAB",
+"e+ c #E97AB3",
+"f+ c #D180A9",
+"g+ c #D579A7",
+"h+ c #F278B5",
+"i+ c #EE78B3",
+"j+ c #D379A6",
+"k+ c #EC78B2",
+"l+ c #E978B1",
+"m+ c #D679A8",
+"n+ c #CE79A4",
+"o+ c #CA78A2",
+"p+ c #C879A1",
+"q+ c #E578AF",
+"r+ c #D17CA7",
+"s+ c #ED76B1",
+"t+ c #DC78AA",
+"u+ c #E87CB2",
+"v+ c #585858",
+"w+ c #060204",
+"x+ c #2C1420",
+"y+ c #321724",
+"z+ c #161315",
+"A+ c #F378B5",
+"B+ c #D280A9",
+"C+ c #474747",
+"D+ c #383838",
+"E+ c #D0D0D0",
+"F+ c #A2A2A2",
+"G+ c #C9C9C9",
+"H+ c #404040",
+"I+ c #5B5B5B",
+"J+ c #A9A9A9",
+"K+ c #7B7B7B",
+"L+ c #DE73A9",
+"M+ c #DF7DAE",
+"N+ c #3F3F3F",
+"O+ c #EEEEEE",
+"P+ c #BABABA",
+"Q+ c #E7E7E7",
+"R+ c #4A4A4A",
+"S+ c #C1C1C1",
+"T+ c #8D8D8D",
+"U+ c #242424",
+"V+ c #EA79B2",
+"W+ c #594B52",
+"X+ c #1A1A1A",
+"Y+ c #595959",
+"Z+ c #454545",
+"`+ c #565656",
+" @ c #1C1C1C",
+".@ c #272727",
+"+@ c #484848",
+"@@ c #353535",
+"#@ c #0E0E0E",
+"$@ c #DB7CAC",
+"%@ c #E675AE",
+"&@ c #C481A2",
+"*@ c #E175AB",
+"=@ c #E378AD",
+"-@ c #D47FAA",
+";@ c #CE7FA6",
+">@ c #D273A3",
+",@ c #CD80A7",
+"'@ c #D07DA6",
+")@ c #D873A6",
+"!@ c #ED7AB3",
+"~@ c #1B1B1B",
+"{@ c #606060",
+"]@ c #555555",
+"^@ c #2D2D2D",
+"/@ c #5E5E5E",
+"(@ c #3D3D3D",
+"_@ c #434343",
+":@ c #575757",
+"<@ c #4B4B4B",
+"[@ c #4C4C4C",
+"}@ c #E37AAF",
+"|@ c #B77998",
+"1@ c #493C43",
+"2@ c #57404C",
+"3@ c #393638",
+"4@ c #605359",
+"5@ c #D67FAB",
+"6@ c #F37AB7",
+"7@ c #F07AB6",
+"8@ c #EB7BB3",
+"9@ c #F17AB6",
+"0@ c #CF81A8",
+"a@ c #D973A7",
+"b@ c #111111",
+"c@ c #301F27",
+"d@ c #4F2C3E",
+"e@ c #2B1D24",
+"f@ c #3C2531",
+"g@ c #191617",
+"h@ c #0F0F0F",
+" . . ",
+" + @ # + + $ . % ",
+" % & * + @ = # ",
+" - . ; > - + , ' + ",
+" - - - - - - - - - ) ) - - - - - - - - - - - - - - - ",
+" - ! ~ { ] ^ ] / ] ( _ : < ] [ } ( | ] : 1 2 3 [ 4 - ",
+" - 5 6 7 8 | ] 9 0 a b ] c d ] e { f g h i j k l m - ",
+" - n o p f q r s t ] ] u 0 v w x y z s A B C D E F - ",
+" - G H I J K L M N O P Q R S T U V W X Y Z ` ...+.- ",
+" - @.#.$.%.&.*.*.*.=.-.;.>.H ,.'.).*.*.*.!.~.{.| ].- ",
+" - @.^./.(.*._.:.<.*.=.[.0 }.|.1.*.*.2.3.*.4.5.] 6.- ",
+" - < 7.8.*.*.9.0.a.*.*.b.c.d.e.f.*.g.h.h.i.*.j.k.l.- ",
+" - m.n.o.*.*.p.q.r.*.*.s.t.d.u.v.*.w.x.y.z.*.A.B.].- ",
+" - _ ] C.2.*.*.*.*.*.D.E.F.G.H.I.*.*.*.*.*.=.J.K.L.- ",
+" - M.#.N.Z O.*.*.*.P.Q.R.S.}.] T.U.*.*.*.V.W.X.Y.Z.- ",
+" - `. +>..+++@+#+$+%+&+*+H S =+-+;+>+Y ,+'.'+)+!+~+- ",
+" - {+]+^+)+F./+(+_+:+<+[+C ] }+|+1+] 2+3+4+5+k h 6+- ",
+" - l 7+] 8+] 9+] [+0+] a+b+] #.c+] D }.] =+d+e+| m - ",
+" - ~ f+f g+] h+] ] { i+j+k+l+m+n+l+o+p+q+^ 1 r+d s+- ",
+" - t+u+v+- - - - - - w+x+- w+x+x+w+- - y+- - z+l ] - ",
+" - A+B+C+D+E+F+- G+E+H+I+E+G+- J+E+K+& E+E+F+- d.L+- ",
+" - ( M+C+N+O+P+- Q+O+R+U O+Q+- S+O+T+U+O+O+P+- V+].- ",
+" - i+I W+X+Y+Z+- `+Y+ @.@Y+`+- +@Y+@@#@Y+Y+Z+- $@%@- ",
+" - [ G.W+X+Y+Z+- `+Y+ @.@Y+`+- +@Y+@@#@Y+Y+Z+- &@*@- ",
+" - =@-@C+N+O+P+- Q+O+R+U O+Q+- S+O+T+U+O+O+P+- ;@>@- ",
+" - g ,@C+N+O+P+- Q+O+R+U O+Q+- S+O+T+U+O+O+P+- '@)@- ",
+" - B !@C+~@{@]@^@/@{@(@_@{@/@^@:@{@<@@@{@{@[@- }@].- ",
+" - | ] |@1@@@@@@@@@@@@@2@3@@@@@@@@@@@@@@@@@@@4@7 ].- ",
+" - m.] 5@#.7+7+6@9 7@u+c+8@S }+9@] ] }.0@7+S.5@*+a@- ",
+" - b@, , , , , , , , , , , c@d@e@e@, f@g@, e@e@, h@- ",
+" - - - - - - - - - - - - - - - - - - - - - - - - - - ",
+" "};

Other related posts: