This object can be used to query the properties of a given expansion and modify it. The creation of this object is usually done by the ExpansionHandler and its various calls.
Be aware that you don't need this class in order to load content from an expansion as it's already resolved through the Expansion wildcard
Returns a list of all available audio files in the expansion.
This returns a list of all audio files that are included in the given Expansion. Also it will load all audio files into the pool so they are available in the list.
Returns a list of all available data files in the expansion.
returns the expansion type. Use the constants of ExpansionHandler to resolve the integer number.
Returns a list of all available images in the expansion.
Returns a list of all available MIDI files in the expansion.
Returns an object containing all properties of the expansion.
This returns a JSON object with the properties of the Expansion pack. Be aware that this might be subject to change, but the current properties are:
Name: the name of the expansion pack
Version: the version number of the expansion pack
Blowfish-Key: the key that is used to encode the expansion pack data.
Protip: You might not want to display the blowfish key somewhere on your interface...
Returns the root folder for this expansion.
Returns the folder where this expansion looks for samples.
Returns a list of all available sample maps in the expansion.
Returns a list of all available user presets in the expansion.
Returns a valid wildcard reference ((
) for the expansion.
Attempts to parse a JSON file in the AdditionalSourceCode directory of the expansion.
directory in the project folder of a HISE project is reserved for C++ files which will be compiled on plugin export.
In an expansion pack, this directory can be used for any arbtitrary kind of text content, however the most useful recommended format to use for this is JSON.
This method (and it's friend Expansion.writeDataFile()
can be used to fetch (and write) data to this directory.
Reextracts (and overrides) the user presets from the given expansion. Only works with intermediate / encrypted expansions.
If the expansion contains User Presets , they will be extracted automatically when you install the expansion the first time.
However if you update an existing expansion, the installation procedure will not override the user presets by default. If you want to ship new / modified user presets with your expansion update, you will need to call this manually after the installation of the expansion is finished.
The most convenient place for calling this method is the install callback that can be defined with Expansionhandler.setInstallCallback()
Sets whether the samples are allowed to be duplicated for this expansion. Set this to false if you operate on the same samples differently.
Changes the sample folder of that particular expansion.
Be aware that this function will not move any samples to the new location, so the user has to do this step manually.
The most recommended way to choose a sample folder is during the installation from a package using the ExpansionHandler.installFromPackage() call.
However this function let's you offer the user a way to fix a false sample path without having to hack around with a text editor.
It's also recommended to hint to the user that he might want to restart the plugin after changing this location in order to remove any chances that the old sample path is still being cached somewhere.
Unloads this expansion so it will not show up in the list of expansions until the next restart.
Writes the given data into the file in the AdditionalSourceCode directory of the expansion.
Expansion.writeDataFile(var relativePath, var dataToWrite)