3 |
* LinuxSampler - modular, streaming capable sampler * |
* LinuxSampler - modular, streaming capable sampler * |
4 |
* * |
* * |
5 |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
6 |
* Copyright (C) 2005 - 2009 Christian Schoenebeck * |
* Copyright (C) 2005 - 2012 Christian Schoenebeck * |
7 |
* * |
* * |
8 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
9 |
* it under the terms of the GNU General Public License as published by * |
* it under the terms of the GNU General Public License as published by * |
67 |
static void OnInstrumentLoadingProgress(::gig::progress_t* pProgress); |
static void OnInstrumentLoadingProgress(::gig::progress_t* pProgress); |
68 |
|
|
69 |
// implementation of derived abstract methods from 'InstrumentManager' |
// implementation of derived abstract methods from 'InstrumentManager' |
|
virtual std::vector<instrument_id_t> Instruments(); |
|
70 |
virtual String GetInstrumentName(instrument_id_t ID); |
virtual String GetInstrumentName(instrument_id_t ID); |
71 |
virtual String GetInstrumentDataStructureName(instrument_id_t ID); |
virtual String GetInstrumentDataStructureName(instrument_id_t ID); |
72 |
virtual String GetInstrumentDataStructureVersion(instrument_id_t ID); |
virtual String GetInstrumentDataStructureVersion(instrument_id_t ID); |
91 |
// implementation of derived abstract methods from 'ResourceManager' |
// implementation of derived abstract methods from 'ResourceManager' |
92 |
virtual ::gig::Instrument* Create(instrument_id_t Key, InstrumentConsumer* pConsumer, void*& pArg); |
virtual ::gig::Instrument* Create(instrument_id_t Key, InstrumentConsumer* pConsumer, void*& pArg); |
93 |
virtual void Destroy(::gig::Instrument* pResource, void* pArg); |
virtual void Destroy(::gig::Instrument* pResource, void* pArg); |
|
virtual void OnBorrow(::gig::Instrument* pResource, InstrumentConsumer* pConsumer, void*& pArg); |
|
|
virtual void CacheInitialSamples(::gig::Sample* pSample, AbstractEngine* pEngine); |
|
|
virtual void CacheInitialSamples(::gig::Sample* pSample, EngineChannel* pEngineChannel); |
|
94 |
virtual void DeleteRegionIfNotUsed(::gig::DimensionRegion* pRegion, region_info_t* pRegInfo); |
virtual void DeleteRegionIfNotUsed(::gig::DimensionRegion* pRegion, region_info_t* pRegInfo); |
95 |
virtual void DeleteSampleIfNotUsed(::gig::Sample* pSample, region_info_t* pRegInfo); |
virtual void DeleteSampleIfNotUsed(::gig::Sample* pSample, region_info_t* pRegInfo); |
96 |
private: |
private: |
97 |
|
void CacheInitialSamples(::gig::Sample* pSample, AbstractEngine* pEngine); |
98 |
|
void CacheInitialSamples(::gig::Sample* pSample, EngineChannel* pEngineChannel); |
99 |
|
void CacheInitialSamples(::gig::Sample* pSample, uint maxSamplesPerCycle); |
100 |
|
|
101 |
typedef ResourceConsumer< ::gig::File> GigConsumer; |
typedef ResourceConsumer< ::gig::File> GigConsumer; |
102 |
|
|
103 |
class GigResourceManager : public ResourceManager<String, ::gig::File> { |
class GigResourceManager : public ResourceManager<String, ::gig::File> { |