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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3177 - (show annotations) (download) (as text)
Thu May 11 20:59:46 2017 UTC (22 months, 1 week ago) by schoenebeck
File MIME type: text/x-c++hdr
File size: 2350 byte(s)
* Live mode performance optimization: fixed the editor to be non-responsive
  for a very long time, which happened if changing instrument parameters of
  a very large amount of dimension regions was requested.
* Bumped version (1.0.0.svn45).

1 /*
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_LINUXSAMPLER_PLUGIN_H
21 #define GIGEDIT_LINUXSAMPLER_PLUGIN_H
22
23 #ifdef HAVE_CONFIG_H
24 # include <config.h>
25 #endif
26
27 #ifdef LIBLINUXSAMPLER_HEADER_FILE
28 # include LIBLINUXSAMPLER_HEADER_FILE(plugins/InstrumentEditor.h)
29 #else
30 # include <linuxsampler/plugins/InstrumentEditor.h>
31 #endif
32
33 #ifdef LIBGIG_HEADER_FILE
34 # include LIBGIG_HEADER_FILE(gig.h)
35 #else
36 # include <gig.h>
37 #endif
38
39 class LinuxSamplerPlugin : public LinuxSampler::InstrumentEditor {
40 public:
41 LinuxSamplerPlugin();
42 virtual int Main(void* pInstrument, String sTypeName, String sTypeVersion); // old LS plugin API entry point
43 virtual int Main(void* pInstrument, String sTypeName, String sTypeVersion, void* pUserData); // new LS plugin API entry point
44 virtual bool IsTypeSupported(String sTypeName, String sTypeVersion);
45 virtual String Name();
46 virtual String Version();
47 virtual String Description();
48 virtual ~LinuxSamplerPlugin();
49
50 private:
51 void* pApp;
52 class LSPluginPrivate* priv;
53
54 void __onSamplesToBeRemoved(std::list<gig::Sample*> lSamples);
55 void __onVirtualKeyboardKeyHit(int Key, int Velocity);
56 void __onVirtualKeyboardKeyReleased(int Key, int Velocity);
57 void __requestSamplerToSwitchInstrument(gig::Instrument* pInstrument);
58 bool __onPollPeriod();
59 void __onDimRegionToBeChanged(gig::DimensionRegion* pDimRgn);
60 void __onDimRegionChanged(gig::DimensionRegion* pDimRgn);
61 void __onDimRegionChangedDebounced();
62 };
63
64 #endif // GIGEDIT_LINUXSAMPLER_PLUGIN_H

  ViewVC Help
Powered by ViewVC