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

Contents of /gigedit/trunk/src/gigedit/gigedit.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3364 - (show annotations) (download) (as text)
Tue Nov 14 18:07:25 2017 UTC (6 years, 5 months ago) by schoenebeck
File MIME type: text/x-c++hdr
File size: 3392 byte(s)
* Added experimental support for upcoming GTK(MM)4
  (for now up to GTKMM 3.91.2 while still preserving backward compatibility
  down to GTKMM 2).
* Re-merged r2845 to compile now with and without Gtk "Stock ID" API
  (see also r3158).

1 /* -*- c++ -*-
2 * Copyright (C) 2007-2017 Andreas Persson
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2, or (at
7 * your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with program; see the file COPYING. If not, write to the Free
16 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
17 * 02110-1301 USA.
18 */
19
20 #ifndef GIGEDIT_H
21 #define GIGEDIT_H
22
23 #ifdef LIBGIG_HEADER_FILE
24 # include LIBGIG_HEADER_FILE(gig.h)
25 #else
26 # include <gig.h>
27 #endif
28
29 #include <list>
30 #include <cstddef>
31 #ifdef SIGCPP_HEADER_FILE
32 # include SIGCPP_HEADER_FILE(signal.h)
33 #else
34 # include <sigc++/signal.h>
35 #endif
36
37 class GigEdit {
38 public:
39 GigEdit();
40
41 int run(int argc, char* argv[]);
42 int run(gig::Instrument* pInstrument);
43
44 sigc::signal<void, gig::File*>& signal_file_structure_to_be_changed();
45 sigc::signal<void, gig::File*>& signal_file_structure_changed();
46 sigc::signal<void, std::list<gig::Sample*> >& signal_samples_to_be_removed();
47 sigc::signal<void>& signal_samples_removed();
48 sigc::signal<void, gig::Region*>& signal_region_to_be_changed();
49 sigc::signal<void, gig::Region*>& signal_region_changed();
50 sigc::signal<void, gig::DimensionRegion*>& signal_dimreg_to_be_changed();
51 sigc::signal<void, gig::DimensionRegion*>& signal_dimreg_changed();
52 sigc::signal<void, gig::Sample*>& signal_sample_changed();
53 sigc::signal<void, gig::Sample*/*old*/, gig::Sample*/*new*/>& signal_sample_ref_changed();
54 sigc::signal<void, int/*key*/, int/*velocity*/>& signal_keyboard_key_hit();
55 sigc::signal<void, int/*key*/, int/*velocity*/>& signal_keyboard_key_released();
56 sigc::signal<void, gig::Instrument*>& signal_switch_sampler_instrument();
57
58 sigc::signal<void, gig::Script*> signal_script_to_be_changed;
59 sigc::signal<void, gig::Script*> signal_script_changed;
60
61 void on_note_on_event(int key, int velocity);
62 void on_note_off_event(int key, int velocity);
63
64 private:
65 sigc::signal<void, gig::File*> file_structure_to_be_changed_signal;
66 sigc::signal<void, gig::File*> file_structure_changed_signal;
67 sigc::signal<void, std::list<gig::Sample*> > samples_to_be_removed_signal;
68 sigc::signal<void> samples_removed_signal;
69 sigc::signal<void, gig::Region*> region_to_be_changed_signal;
70 sigc::signal<void, gig::Region*> region_changed_signal;
71 sigc::signal<void, gig::DimensionRegion*> dimreg_to_be_changed_signal;
72 sigc::signal<void, gig::DimensionRegion*> dimreg_changed_signal;
73 sigc::signal<void, gig::Sample*> sample_changed_signal;
74 sigc::signal<void, gig::Sample*/*old*/, gig::Sample*/*new*/> sample_ref_changed_signal;
75 sigc::signal<void, int/*key*/, int/*velocity*/> keyboard_key_hit_signal;
76 sigc::signal<void, int/*key*/, int/*velocity*/> keyboard_key_released_signal;
77 sigc::signal<void, gig::Instrument*> switch_sampler_instrument_signal;
78 void* state;
79 };
80
81 #endif // GIGEDIT_H

  ViewVC Help
Powered by ViewVC