4 |
* LinuxSampler - modular, streaming capable sampler * |
* LinuxSampler - modular, streaming capable sampler * |
5 |
* * |
* * |
6 |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
7 |
* Copyright (C) 2005 - 2020 Christian Schoenebeck * |
* Copyright (C) 2005 - 2021 Christian Schoenebeck * |
8 |
* * |
* * |
9 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
10 |
* 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 * |
755 |
if (bLock) Lock(); |
if (bLock) Lock(); |
756 |
std::set<EngineChannel*> result; |
std::set<EngineChannel*> result; |
757 |
std::set<InstrumentScriptConsumer*> consumers = scripts.ConsumersOf({ |
std::set<InstrumentScriptConsumer*> consumers = scripts.ConsumersOf({ |
758 |
.code = code, .wildcardPatchVars = true |
.code = code, |
759 |
|
.patchVars = std::map<String,String>(), // just required for GCC |
760 |
|
.wildcardPatchVars = true |
761 |
}); |
}); |
762 |
std::set<InstrumentScriptConsumer*>::iterator iter = consumers.begin(); |
std::set<InstrumentScriptConsumer*>::iterator iter = consumers.begin(); |
763 |
std::set<InstrumentScriptConsumer*>::iterator end = consumers.end(); |
std::set<InstrumentScriptConsumer*>::iterator end = consumers.end(); |
949 |
::gig::File* InstrumentResourceManager::GigResourceManager::Create(String Key, GigConsumer* pConsumer, void*& pArg) { |
::gig::File* InstrumentResourceManager::GigResourceManager::Create(String Key, GigConsumer* pConsumer, void*& pArg) { |
950 |
dmsg(1,("Loading gig file \'%s\'...", Key.c_str())); |
dmsg(1,("Loading gig file \'%s\'...", Key.c_str())); |
951 |
::RIFF::File* pRIFF = new ::RIFF::File(Key); |
::RIFF::File* pRIFF = new ::RIFF::File(Key); |
952 |
|
// due to the multi-threaded scenario use separate file I/O handles for |
953 |
|
// each thread to avoid file I/O concurrency issues with .gig file |
954 |
|
pRIFF->SetIOPerThread(true); |
955 |
|
|
956 |
::gig::File* pGig = new ::gig::File(pRIFF); |
::gig::File* pGig = new ::gig::File(pRIFF); |
957 |
pArg = pRIFF; |
pArg = pRIFF; |
958 |
dmsg(1,("OK\n")); |
dmsg(1,("OK\n")); |