/[svn]/gigedit/trunk/src/gigedit/gigedit.cpp
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/gigedit.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1322 by schoenebeck, Tue Sep 4 11:04:56 2007 UTC revision 1396 by schoenebeck, Wed Oct 10 15:48:54 2007 UTC
# Line 22  Line 22 
22  #include <gtkmm/main.h>  #include <gtkmm/main.h>
23  #include "mainwindow.h"  #include "mainwindow.h"
24    
25  #include <libintl.h>  #include "global.h"
 #include <config.h>  
26    
27  // the app has to work from a DLL as well, so we hard code argv  // the app has to work from a DLL as well, so we hard code argv
28  int argc = 1;  int argc = 1;
29  const char* argv_c[] = { "gigedit" };  const char* argv_c[] = { "gigedit" };
30  char** argv = const_cast<char**>(argv_c);  char** argv = const_cast<char**>(argv_c);
31    //FIXME: Gtk only allows to instantiate one Gtk::Main object per process, so this might crash other Gtk applications, i.e. launched as plugins by LinuxSampler
32    Gtk::Main kit(argc, argv);
33    
34  static void __init_app() {  static void __init_app() {
35      setlocale(LC_ALL, "");      static bool process_initialized = false;
36      bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);      if (!process_initialized) {
37      bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");          std::cout << "Initializing 3rd party services needed by gigedit.\n"
38      textdomain(GETTEXT_PACKAGE);                    << std::flush;
39            setlocale(LC_ALL, "");
40    
41    #if HAVE_GETTEXT
42            bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
43            bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
44            textdomain(GETTEXT_PACKAGE);
45    #endif // HAVE_GETTEXT
46    
47      Glib::thread_init();          // make sure thread_init() is called once and ONLY once per process
48            if (!Glib::thread_supported()) Glib::thread_init();
49    
50            process_initialized = true;
51        }
52  }  }
53    
54  static void __connect_signals(GigEdit* gigedit, MainWindow* mainwindow) {  static void __connect_signals(GigEdit* gigedit, MainWindow* mainwindow) {
# Line 74  static void __connect_signals(GigEdit* g Line 86  static void __connect_signals(GigEdit* g
86    
87  int GigEdit::run() {  int GigEdit::run() {
88      __init_app();      __init_app();
     Gtk::Main kit(argc, argv);  
89      MainWindow window;      MainWindow window;
90      __connect_signals(this, &window);      __connect_signals(this, &window);
91      kit.run(window);      kit.run(window);
# Line 83  int GigEdit::run() { Line 94  int GigEdit::run() {
94    
95  int GigEdit::run(const char* pFileName) {  int GigEdit::run(const char* pFileName) {
96      __init_app();      __init_app();
     Gtk::Main kit(argc, argv);  
97      MainWindow window;      MainWindow window;
98      __connect_signals(this, &window);      __connect_signals(this, &window);
99      if (pFileName) window.load_file(pFileName);      if (pFileName) window.load_file(pFileName);
# Line 93  int GigEdit::run(const char* pFileName) Line 103  int GigEdit::run(const char* pFileName)
103    
104  int GigEdit::run(gig::Instrument* pInstrument) {  int GigEdit::run(gig::Instrument* pInstrument) {
105      __init_app();      __init_app();
     Gtk::Main kit(argc, argv);  
106      MainWindow window;      MainWindow window;
107      __connect_signals(this, &window);      __connect_signals(this, &window);
108      if (pInstrument) window.load_instrument(pInstrument);      if (pInstrument) window.load_instrument(pInstrument);
# Line 101  int GigEdit::run(gig::Instrument* pInstr Line 110  int GigEdit::run(gig::Instrument* pInstr
110      return 0;      return 0;
111  }  }
112    
113  sigc::signal<void, gig::File*> GigEdit::signal_file_structure_to_be_changed() {  sigc::signal<void, gig::File*>& GigEdit::signal_file_structure_to_be_changed() {
114      return file_structure_to_be_changed_signal;      return file_structure_to_be_changed_signal;
115  }  }
116    
117  sigc::signal<void, gig::File*> GigEdit::signal_file_structure_changed() {  sigc::signal<void, gig::File*>& GigEdit::signal_file_structure_changed() {
118      return file_structure_changed_signal;      return file_structure_changed_signal;
119  }  }
120    
121  sigc::signal<void, std::list<gig::Sample*> > GigEdit::signal_samples_to_be_removed() {  sigc::signal<void, std::list<gig::Sample*> >& GigEdit::signal_samples_to_be_removed() {
122      return samples_to_be_removed_signal;      return samples_to_be_removed_signal;
123  }  }
124    
125  sigc::signal<void> GigEdit::signal_samples_removed() {  sigc::signal<void>& GigEdit::signal_samples_removed() {
126      return samples_removed_signal;      return samples_removed_signal;
127  }  }
128    
129  sigc::signal<void, gig::Region*> GigEdit::signal_region_to_be_changed() {  sigc::signal<void, gig::Region*>& GigEdit::signal_region_to_be_changed() {
130      return region_to_be_changed_signal;      return region_to_be_changed_signal;
131  }  }
132    
133  sigc::signal<void, gig::Region*> GigEdit::signal_region_changed() {  sigc::signal<void, gig::Region*>& GigEdit::signal_region_changed() {
134      return region_changed_signal;      return region_changed_signal;
135  }  }
136    
137  sigc::signal<void, gig::DimensionRegion*> GigEdit::signal_dimreg_to_be_changed() {  sigc::signal<void, gig::DimensionRegion*>& GigEdit::signal_dimreg_to_be_changed() {
138      return dimreg_to_be_changed_signal;      return dimreg_to_be_changed_signal;
139  }  }
140    
141  sigc::signal<void, gig::DimensionRegion*> GigEdit::signal_dimreg_changed() {  sigc::signal<void, gig::DimensionRegion*>& GigEdit::signal_dimreg_changed() {
142      return dimreg_changed_signal;      return dimreg_changed_signal;
143  }  }
144    
145  sigc::signal<void, gig::Sample*/*old*/, gig::Sample*/*new*/> GigEdit::signal_sample_ref_changed() {  sigc::signal<void, gig::Sample*/*old*/, gig::Sample*/*new*/>& GigEdit::signal_sample_ref_changed() {
146      return sample_ref_changed_signal;      return sample_ref_changed_signal;
147  }  }

Legend:
Removed from v.1322  
changed lines
  Added in v.1396

  ViewVC Help
Powered by ViewVC