/[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 2689 - (show annotations) (download) (as text)
Sun Jan 4 17:19:19 2015 UTC (4 years, 5 months ago) by schoenebeck
File MIME type: text/x-c++hdr
File size: 3110 byte(s)
* Automatically switch the sampler's (audible) instrument (in live-mode)
  whenever another instrument was selected in gigedit (this default
  behavior can be switched off in the settings menu of gigedit).

1 /* -*- c++ -*-
2 * Copyright (C) 2007-2015 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 #include <gig.h>
24
25 #include <list>
26 #include <cstddef>
27 #include <sigc++/signal.h>
28
29 class GigEdit {
30 public:
31 GigEdit();
32
33 int run(int argc, char* argv[]);
34 int run(gig::Instrument* pInstrument);
35
36 sigc::signal<void, gig::File*>& signal_file_structure_to_be_changed();
37 sigc::signal<void, gig::File*>& signal_file_structure_changed();
38 sigc::signal<void, std::list<gig::Sample*> >& signal_samples_to_be_removed();
39 sigc::signal<void>& signal_samples_removed();
40 sigc::signal<void, gig::Region*>& signal_region_to_be_changed();
41 sigc::signal<void, gig::Region*>& signal_region_changed();
42 sigc::signal<void, gig::DimensionRegion*>& signal_dimreg_to_be_changed();
43 sigc::signal<void, gig::DimensionRegion*>& signal_dimreg_changed();
44 sigc::signal<void, gig::Sample*>& signal_sample_changed();
45 sigc::signal<void, gig::Sample*/*old*/, gig::Sample*/*new*/>& signal_sample_ref_changed();
46 sigc::signal<void, int/*key*/, int/*velocity*/>& signal_keyboard_key_hit();
47 sigc::signal<void, int/*key*/, int/*velocity*/>& signal_keyboard_key_released();
48 sigc::signal<void, gig::Instrument*>& signal_switch_sampler_instrument();
49
50 void on_note_on_event(int key, int velocity);
51 void on_note_off_event(int key, int velocity);
52
53 private:
54 sigc::signal<void, gig::File*> file_structure_to_be_changed_signal;
55 sigc::signal<void, gig::File*> file_structure_changed_signal;
56 sigc::signal<void, std::list<gig::Sample*> > samples_to_be_removed_signal;
57 sigc::signal<void> samples_removed_signal;
58 sigc::signal<void, gig::Region*> region_to_be_changed_signal;
59 sigc::signal<void, gig::Region*> region_changed_signal;
60 sigc::signal<void, gig::DimensionRegion*> dimreg_to_be_changed_signal;
61 sigc::signal<void, gig::DimensionRegion*> dimreg_changed_signal;
62 sigc::signal<void, gig::Sample*> sample_changed_signal;
63 sigc::signal<void, gig::Sample*/*old*/, gig::Sample*/*new*/> sample_ref_changed_signal;
64 sigc::signal<void, int/*key*/, int/*velocity*/> keyboard_key_hit_signal;
65 sigc::signal<void, int/*key*/, int/*velocity*/> keyboard_key_released_signal;
66 sigc::signal<void, gig::Instrument*> switch_sampler_instrument_signal;
67 void* state;
68 };
69
70 #endif // GIGEDIT_H

  ViewVC Help
Powered by ViewVC