Interface IMetaModuleModuleHandle
MetaModule is a full-featured copy of SunVox in a single module. So you can include one SunVox-project into another recursively.
public interface IMetaModuleModuleHandle : ITypedModuleHandle, IGenericSynthModuleHandle
- Inherited Members
Methods
GetBeatsPerMinute(ValueScalingMode)
Original name: 3 'BPM (Beats Per Minute)'
int GetBeatsPerMinute(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)
Parameters
valueScalingModeValueScalingMode
Returns
- int
GetInputModule(ValueScalingMode)
Original name: 1 'Input module'
int GetInputModule(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)
Parameters
valueScalingModeValueScalingMode
Returns
- int
GetPlayPatterns()
Original name: 2 'Play patterns'
MetaModulePatternMode GetPlayPatterns()
Returns
GetTicksPerLine(ValueScalingMode)
Original name: 4 'TPL (Ticks Per Line)'
int GetTicksPerLine(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)
Parameters
valueScalingModeValueScalingMode
Returns
- int
GetUserControllerCount()
Get the count of a user-defined controllers. User-defined controllers start at index 5.
Get the number of controllers in the module.
int GetUserControllerCount()
Returns
- int
Number of controllers.
Remarks
Exceptions
- SunVoxException
Thrown when the operation fails.
GetUserControllerMaxValue(int, ValueScalingMode)
Get the maximum value of a user-defined controller. User-defined controllers start at index 5.
Get the controller maximum value.
void GetUserControllerMaxValue(int index, ValueScalingMode scalingMode)
Parameters
indexintscalingModeValueScalingModeValue scaling mode.
Remarks
GetUserControllerMinValue(int, ValueScalingMode)
Get the minimum value of a user-defined controller. User-defined controllers start at index 5.
Get the controller minimum value.
void GetUserControllerMinValue(int index, ValueScalingMode scalingMode)
Parameters
indexintscalingModeValueScalingModeValue scaling mode.
Remarks
GetUserControllerName(int)
Get the name of a user-defined controller. User-defined controllers start at index 5.
Get the controller name.
string? GetUserControllerName(int index)
Parameters
indexint
Returns
- string
Controller name, or null if unavailable.
Remarks
GetUserControllerOffset(int)
Get the offset value of a user-defined controller. User-defined controllers start at index 5.
Get the controller display value offset.
void GetUserControllerOffset(int index)
Parameters
indexint
Remarks
GetUserControllerType(int)
Get the type of a user-defined controller. User-defined controllers start at index 5.
Get the controller type.
ControllerType GetUserControllerType(int index)
Parameters
indexint
Returns
- ControllerType
Controller type.
Remarks
Exceptions
- SunVoxException
Thrown when the operation fails.
GetUserControllerValue(int, ValueScalingMode)
Get the value of a user-defined controller. User-defined controllers start at index 5.
Get the controller value.
void GetUserControllerValue(int index, ValueScalingMode scalingMode)
Parameters
indexintscalingModeValueScalingModeValue scaling mode.
Remarks
GetVolume(ValueScalingMode)
Value range: displayed: 0 to 1024, real: 0 to 1024 Original name: 0 'Volume'
int GetVolume(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)
Parameters
valueScalingModeValueScalingMode
Returns
- int
LoadFile(byte[])
Load a file into a MetaModule from memory. Supported file formats: sunvox, mod, xm, midi.
void LoadFile(byte[] data)
Parameters
databyte[]Byte array with project data.
Remarks
Exceptions
- SunVoxException
Thrown when the operation fails.
- ArgumentNullException
Thrown if
datais null.
LoadFile(string)
Load a file into a MetaModule. Supported file formats: sunvox, mod, xm, midi.
void LoadFile(string path)
Parameters
pathstringFile path (relative or absolute).
Remarks
Exceptions
- SunVoxException
Thrown when the operation fails.
- ArgumentNullException
Thrown if
pathis null.
MakeBeatsPerMinuteEvent(int)
This is a helper method to automatically handle turning target controller values into column values.
For this controller the input value is taken as is, only clamped to column value range.
PatternEvent MakeBeatsPerMinuteEvent(int value)
Parameters
valueint
Returns
MakeInputModuleEvent(int)
This is a helper method to automatically handle turning target controller values into column values.
For this controller the input value is taken as is, only clamped to column value range.
PatternEvent MakeInputModuleEvent(int value)
Parameters
valueint
Returns
MakePlayPatternsEvent(MetaModulePatternMode)
This is a helper method to automatically handle turning target controller values into column values.
For this controller the input value is taken as is, only clamped to column value range.
PatternEvent MakePlayPatternsEvent(MetaModulePatternMode value)
Parameters
valueMetaModulePatternMode
Returns
MakeTicksPerLineEvent(int)
This is a helper method to automatically handle turning target controller values into column values.
For this controller the input value is taken as is, only clamped to column value range.
PatternEvent MakeTicksPerLineEvent(int value)
Parameters
valueint
Returns
MakeUserControllerEvent(int, int, int, int, int)
Make a pattern event that sets a user-defined controller value. User-defined controllers start at index 5.
This overload allows for using display-values, as long as offset, min and max values of the controller are known..
PatternEvent MakeUserControllerEvent(int index, int value, int offset, int minValue, int maxValue)
Parameters
indexintvalueintoffsetintminValueintmaxValueint
Returns
MakeUserControllerEvent(int, ushort)
Make a pattern event that sets a user-defined controller value. User-defined controllers start at index 5.
This overload allows for raw column values to be used. Values are clamped to the 0x0 to 0x8000 range.
PatternEvent MakeUserControllerEvent(int index, ushort value)
Parameters
indexintvalueushort
Returns
MakeUserControllerEvent<T>(int, T)
Make a pattern event that sets a user-defined controller value. User-defined controllers start at index 5.
This overload allows for any enum value to be used.
PatternEvent MakeUserControllerEvent<T>(int index, T value) where T : Enum, IConvertible
Parameters
indexintvalueT
Returns
Type Parameters
T
MakeVolumeEvent(int)
This is a helper method to automatically handle turning target controller values into column values.
For this controller the input value is mapped from displayed range (0 to 1024) to column range (0 to 0x8000). Out of range values are clamped.
PatternEvent MakeVolumeEvent(int value)
Parameters
valueint
Returns
SetBeatsPerMinute(int, ValueScalingMode)
Original name: 3 'BPM (Beats Per Minute)' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.
void SetBeatsPerMinute(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)
Parameters
valueintvalueScalingModeValueScalingMode
SetInputModule(int, ValueScalingMode)
Original name: 1 'Input module' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.
void SetInputModule(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)
Parameters
valueintvalueScalingModeValueScalingMode
SetPlayPatterns(MetaModulePatternMode)
Original name: 2 'Play patterns' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.
void SetPlayPatterns(MetaModulePatternMode value)
Parameters
valueMetaModulePatternMode
SetTicksPerLine(int, ValueScalingMode)
Original name: 4 'TPL (Ticks Per Line)' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.
void SetTicksPerLine(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)
Parameters
valueintvalueScalingModeValueScalingMode
SetUserControllerValue(int, int, ValueScalingMode)
Set the value of a user-defined controller. User-defined controllers start at index 5.
Set a controller value. Note: SendEvent(int, int, PatternEvent) will be used internally, which may introduce latency.
void SetUserControllerValue(int index, int value, ValueScalingMode scalingMode)
Parameters
indexintvalueintController value.
scalingModeValueScalingModeValue scaling mode.
Remarks
Exceptions
- SunVoxException
Thrown when the operation fails.
SetVolume(int, ValueScalingMode)
Value range: displayed: 0 to 1024, real: 0 to 1024 Original name: 0 'Volume' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.
void SetVolume(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)
Parameters
valueintvalueScalingModeValueScalingMode