Crate sunvox_sys [] [src]

sunvox-sys

FFI bindings to the Sunvox library (http://warmplace.ru/soft/sunvox).

Structs

sunvox_note

A single note cell in a pattern.

Constants

NOTECMD_ALL_NOTES_OFF

Notes of all synths off.

NOTECMD_CLEAN_SYNTHS

Stop and clean all synths.

NOTECMD_NOTE_OFF

Single note off.

NOTECMD_PLAY
NOTECMD_PREV_TRACK

Apply effect in this note cell to the corresponding one in the previous track.

NOTECMD_SET_PITCH

Change the pitch of a currently playing note.

NOTECMD_STOP
SV_INIT_FLAG_AUDIO_FLOAT32

Audio is float (c_float).

SV_INIT_FLAG_AUDIO_INT16

Audio is signed 16-bit (c_short).

SV_INIT_FLAG_NO_DEBUG_OUTPUT

Supresses debug output from the SunVox library.

SV_INIT_FLAG_ONE_THREAD

Audio callback and song modification functions are in a single thread.

SV_INIT_FLAG_USER_AUDIO_CALLBACK

Interaction with sound card is on the user side.

SV_MODULE_FLAG_EFFECT
SV_MODULE_FLAG_EXISTS
SV_MODULE_INPUTS_MASK
SV_MODULE_INPUTS_OFF
SV_MODULE_OUTPUTS_MASK
SV_MODULE_OUTPUTS_OFF
SV_STYPE_FLOAT32
SV_STYPE_FLOAT64
SV_STYPE_INT16
SV_STYPE_INT32

Functions

sv_audio_callback

Gets the next piece of SunVox audio.

sv_close_slot

Closes a slot. See sv_open_slot() for more details.

sv_connect_module

Connects the source to the destination. USE LOCK/UNLOCK!

sv_deinit

Deinitializes the library.

sv_disconnect_module

Disconnects the source from the destination. USE LOCK/UNLOCK!

sv_end_of_song

Gets whether the project is stopped (ie. not playing).

sv_get_current_line

Gets the line number of the play cursor.

sv_get_current_line2

Gets the line number of the play in fixed point format: 27.5

sv_get_current_signal_level

Gets the current signal level/amplitude for a given audio channel in the range 0 to 255 inclusive.

sv_get_module_color
sv_get_module_ctl_name
sv_get_module_ctl_value
sv_get_module_flags
sv_get_module_inputs
sv_get_module_name
sv_get_module_outputs
sv_get_module_scope
sv_get_module_scope2

Return value: received number of samples (may be less or equal to samples_to_read).

sv_get_module_xy
sv_get_number_of_module_ctls
sv_get_number_of_modules

Gets the number of modules in the currently loaded project?

sv_get_number_of_patterns
sv_get_pattern_data

How to use sv_get_pattern_data():

sv_get_pattern_lines
sv_get_pattern_tracks
sv_get_pattern_x
sv_get_pattern_y
sv_get_sample_type

Gets the internal sample type of the SunVox engine.

sv_get_song_bpm

Gets the Beats Per Minute of the currently loaded project.

sv_get_song_length_frames

Gets the currently loaded song's length in audio samples/frames.

sv_get_song_length_lines

Gets the currently loaded song's length in pattern lines.

sv_get_song_name

Gets the name of the currently loaded project.

sv_get_song_tpl

Gets the Ticks Per Line of the currently loaded project.

sv_get_ticks

Gets the current tick counter (from 0 to 0xFFFFFFFF).

sv_get_ticks_per_second

Gets the number of SunVox ticks per second.

sv_init

Initializes the library.

sv_load

Loads a SunVox project file into the specified slot.

sv_load_from_memory

Loads a SunVox project from file data in memory. TEST

sv_load_module

Loads a module.

sv_lock_slot

Locks a slot.

sv_new_module

Creates a new module. USE LOCK/UNLOCK!

sv_open_slot

Opens a slot.

sv_pattern_mute

USE LOCK/UNLOCK!

sv_play

Starts playing the project from the current play cursor position.

sv_play_from_beginning

Starts playing the project from the beginning.

sv_remove_module

Removes the specified module. USE LOCK/UNLOCK!

sv_rewind

Rewinds the project to the beginning.

sv_sampler_load

Loads a sample to an existing Sampler.

sv_send_event

Causes an event to occur as though it had been played in a pattern.

sv_set_autostop

Enables or disables autostop.

sv_stop

Stops playing the project. The play cursor stays where it is.

sv_unlock_slot

Unlocks a slot. See sv_lock_slot() for more details.

sv_volume

Sets the volume of the project.