/[svn]/linuxsampler/trunk/src/engines/common/AbstractInstrumentManager.h
ViewVC logotype

Contents of /linuxsampler/trunk/src/engines/common/AbstractInstrumentManager.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2611 - (show annotations) (download) (as text)
Mon Jun 9 19:20:37 2014 UTC (9 years, 9 months ago) by schoenebeck
File MIME type: text/x-c++hdr
File size: 1386 byte(s)
* Fixed crash when loading an instrument script.
* Fixed "init" script handler only to be executed once:
  when the script was loaded.
* Fixed aftertouch script event which always had value zero
  and controller number was set to aftertouch value instead.
* gig Engine: Fixed handling of "smartmidi" dimension, which
  was recognized as "unknown" dimension.
* Fixed script function gig_set_dim_zone(): was accessing
  wrong event.
* ls_instr_script command line tool: is now not limited to
  core language scripts, but can now also parse sampler format
  dependent instrument scripts, with the respective specific
  built-in script variables and functions.
* ScriptVM: Fixed runtime behavior of "and" and "or" binary
  script expressions, which also evaluated the right hand side
  of the expression even if the left hand side already failed
  the overall expression semantic to become true.
* Bumped version (1.0.0.svn46).

1 /*
2 * Copyright (c) 2014 Christian Schoenebeck
3 *
4 * http://www.linuxsampler.org
5 *
6 * This file is part of LinuxSampler and released under the same terms.
7 * See README file for details.
8 */
9
10 #ifndef LS_ABSTRACTINSTRUMENTMANAGER_H
11 #define LS_ABSTRACTINSTRUMENTMANAGER_H
12
13 #include "../InstrumentManager.h"
14 #include "../../common/ResourceManager.h"
15 #include "../../common/global_private.h"
16 #include "InstrumentScriptVM.h"
17
18 namespace LinuxSampler {
19
20 typedef ResourceConsumer<VMParserContext> InstrumentScriptConsumer;
21
22 class AbstractInstrumentManager : public InstrumentManager {
23 public:
24 AbstractInstrumentManager() { }
25 virtual ~AbstractInstrumentManager() { }
26
27 class ScriptResourceManager : public ResourceManager<String, VMParserContext> {
28 public:
29 ScriptResourceManager() {}
30 virtual ~ScriptResourceManager() {}
31 protected:
32 // implementation of derived abstract methods from 'ResourceManager'
33 virtual VMParserContext* Create(String Key, InstrumentScriptConsumer* pConsumer, void*& pArg);
34 virtual void Destroy(VMParserContext* pResource, void* pArg);
35 virtual void OnBorrow(VMParserContext* pResource, InstrumentScriptConsumer* pConsumer, void*& pArg) {} // ignore
36 } scripts;
37 };
38
39 } // namespace LinuxSampler
40
41 #endif // LS_ABSTRACTINSTRUMENTMANAGER_H

  ViewVC Help
Powered by ViewVC