libgig
4.0.0
|
Group of instrument scripts (gig format extension). More...
#include <gig.h>
Public Member Functions | |
Script * | GetScript (uint index) |
Get instrument script. More... | |
Script * | AddScript () |
Add new instrument script. More... | |
void | DeleteScript (Script *pScript) |
Delete an instrument script. More... | |
Public Attributes | |
String | Name |
Name of this script group. For example to be displayed in an instrument editor. More... | |
Protected Member Functions | |
ScriptGroup (File *file, RIFF::List *lstRTIS) | |
virtual | ~ScriptGroup () |
void | LoadScripts () |
void | UpdateChunks (progress_t *pProgress) |
Apply this script group to the respective RIFF chunks. More... | |
Friends | |
class | Script |
class | File |
Group of instrument scripts (gig format extension).
This class is simply used to sort a bunch of real-time instrument scripts into individual groups. This allows instrument designers and script developers to keep scripts in a certain order while working with a larger amount of scripts in an instrument editor.
This is an extension of the GigaStudio format, thus a feature which was not available in the GigaStudio 4 software. It is currently only supported by LinuxSampler and gigedit.
|
protected |
Definition at line 4211 of file gig.cpp.
References CHUNK_ID_LSNM, RIFF::List::GetSubChunk(), sf2::LoadString(), and Name.
Script * gig::ScriptGroup::AddScript | ( | ) |
Add new instrument script.
Adds a new real-time instrument script to the file. The script is not actually used / executed unless it is referenced by an instrument to be used. This is similar to samples, which you can add to a file, without an instrument necessarily actually using it.
You have to call Save() to make this persistent to the file.
Definition at line 4286 of file gig.cpp.
References LoadScripts(), and Script.
void gig::ScriptGroup::DeleteScript | ( | Script * | pScript | ) |
Delete an instrument script.
This will delete the given real-time instrument script. References of instruments that are using that script will be removed accordingly.
You have to call Save() to make this persistent to the file.
pScript | - script to delete |
gig::Exception | if given script could not be found |
Definition at line 4303 of file gig.cpp.
References RIFF::List::DeleteSubChunk(), RIFF::Chunk::GetParent(), LoadScripts(), and gig::Script::RemoveAllScriptReferences().
Referenced by gig::File::DeleteScriptGroup().
Script * gig::ScriptGroup::GetScript | ( | uint | index | ) |
Get instrument script.
Returns the real-time instrument script with the given index.
index | - number of the sought script (0..n) |
Definition at line 4267 of file gig.cpp.
References LoadScripts().
Referenced by gig::File::DeleteScriptGroup(), and gig::Instrument::LoadScripts().
|
protected |
Definition at line 4316 of file gig.cpp.
References CHUNK_ID_SCRI, RIFF::List::GetFirstSubChunk(), RIFF::List::GetNextSubChunk(), and Script.
Referenced by AddScript(), DeleteScript(), and GetScript().
|
protected |
Apply this script group to the respective RIFF chunks.
You have to call File::Save() to make changes persistent.
Usually there is absolutely no need to call this method explicitly. It will be called automatically when File::Save() was called.
pProgress | - callback function for progress notification |
Definition at line 4244 of file gig.cpp.
References RIFF::List::AddSubList(), CHUNK_ID_LSNM, RIFF::List::GetSubList(), LIST_TYPE_3LS, LIST_TYPE_RTIS, Name, and DLS::File::pRIFF.
|
friend |
Definition at line 1050 of file gig.h.
Referenced by AddScript(), and LoadScripts().
String gig::ScriptGroup::Name |
Name of this script group. For example to be displayed in an instrument editor.
Definition at line 1040 of file gig.h.
Referenced by ScriptGroup(), and UpdateChunks().