Crate projectm_sys

Source

Structs§

projectm
projectm_playlist

Constants§

projectm_channels_PROJECTM_MONO
projectm_channels_PROJECTM_STEREO
projectm_playlist_sort_order_SORT_ORDER_ASCENDING
!< Sort in alphabetically ascending order.
projectm_playlist_sort_order_SORT_ORDER_DESCENDING
!< Sort in alphabetically descending order.
projectm_playlist_sort_predicate_SORT_PREDICATE_FILENAME_ONLY
!< Sort only by preset filename
projectm_playlist_sort_predicate_SORT_PREDICATE_FULL_PATH
!< Sort by full path name
projectm_touch_type_PROJECTM_TOUCH_TYPE_BLOB2
!< Draws a blob-style waveform.
projectm_touch_type_PROJECTM_TOUCH_TYPE_BLOB3
!< Draws another blob-style waveform.
projectm_touch_type_PROJECTM_TOUCH_TYPE_BLOB5
!< Draws a five-blob waveform.
projectm_touch_type_PROJECTM_TOUCH_TYPE_CIRCLE
!< Draws a circular waveform.
projectm_touch_type_PROJECTM_TOUCH_TYPE_DERIVATIVE_LINE
!< Draws a derivative-line waveform.
projectm_touch_type_PROJECTM_TOUCH_TYPE_DOUBLE_LINE
!< Draws a double-line waveform.
projectm_touch_type_PROJECTM_TOUCH_TYPE_LINE
!< Draws a single-line waveform.
projectm_touch_type_PROJECTM_TOUCH_TYPE_RADIAL_BLOB
!< Draws a radial blob waveform.
projectm_touch_type_PROJECTM_TOUCH_TYPE_RANDOM
!< Random waveform type.

Functions§

projectm_alloc_string
@brief Allocates memory for a string and returns the pointer.
projectm_create
@brief Creates a new projectM instance.
projectm_destroy
@brief Destroys the given instance and frees the resources.
projectm_free_string
@brief Frees the memory of an allocated string.
projectm_get_aspect_correction
@brief Returns whether aspect ratio correction is enabled or not. @param instance The projectM instance handle. @return True if aspect ratio correction is enabled, false otherwise.
projectm_get_beat_sensitivity
@brief Returns the beat sensitivity. @param instance The projectM instance handle. @return The current sensitivity setting.
projectm_get_easter_egg
@brief Returns the current “easter egg” value. @param instance The projectM instance handle. @return The current “easter egg” value.
projectm_get_fps
@brief Returns the current/average frames per second.
projectm_get_hard_cut_duration
@brief Returns the minimum display time before a hard cut can happen. @param instance The projectM instance handle. @return The minimum number of seconds the preset will be displayed before a hard cut.
projectm_get_hard_cut_enabled
@brief Returns whether hard cuts are enabled or not. @param instance The projectM instance handle. @return True if hard cuts are enabled, false otherwise.
projectm_get_hard_cut_sensitivity
@brief Returns the current hard cut sensitivity. @param instance The projectM instance handle. @return The current hard cut sensitivity.
projectm_get_mesh_size
@brief Returns the per-pixel equation mesh size in units. @param instance The projectM instance handle. @param width The width of the mesh. @param height The height of the mesh.
projectm_get_preset_duration
@brief Returns the preset display duration before switching to the next using a soft cut.
projectm_get_preset_locked
@brief Returns whether the current preset is locked or not. @param instance The projectM instance handle. @return True if the preset lock is enabled, false otherwise.
projectm_get_soft_cut_duration
@brief Returns the time in seconds for a soft transition between two presets. @param instance The projectM instance handle. @return Time in seconds it takes to smoothly transition from one preset to another.
projectm_get_vcs_version_string
@brief Returns the VCS revision from which the projectM library was built.
projectm_get_version_components
@brief Returns the runtime library version components as individual integers.
projectm_get_version_string
@brief Returns the runtime library version as a string.
projectm_get_window_size
@brief Returns the current viewport size in pixels. @param instance The projectM instance handle. @param width Valid pointer to a size_t variable that will receive the window width value. @param height Valid pointer to a size_t variable that will receive the window height value.
projectm_load_preset_data
@brief Loads a preset from the data pointer.
projectm_load_preset_file
@brief Loads a preset from the given filename/URL.
projectm_opengl_render_frame
@brief Renders a single frame.
projectm_pcm_add_float
@brief Adds 32-bit floating-point audio samples.
projectm_pcm_add_int16
@brief Adds 16-bit integer audio samples.
projectm_pcm_add_uint8
@brief Adds 8-bit unsigned integer audio samples.
projectm_pcm_get_max_samples
@brief Returns the maximum number of audio samples that can be stored.
projectm_playlist_add_path
@brief Appends presets from the given path to the end of the current playlist.
projectm_playlist_add_preset
@brief Adds a single preset to the end of the playlist.
projectm_playlist_add_presets
@brief Adds a list of presets to the end of the playlist.
projectm_playlist_apply_filter
@brief Applies the current filter list to the existing playlist.
projectm_playlist_clear
@brief Clears the playlist. @param instance The playlist manager instance to clear.
projectm_playlist_connect
@brief Connects the playlist manager to a projectM instance.
projectm_playlist_create
@brief Creates a playlist manager for the given projectM instance
projectm_playlist_destroy
@brief Destroys a previously created playlist manager.
projectm_playlist_free_string
@brief Frees a char pointer returned by any of the playlist API functions.
projectm_playlist_free_string_array
@brief Frees a string array returned by any of the playlist API functions.
projectm_playlist_get_filter
@brief Returns the current filter list.
projectm_playlist_get_position
@brief Returns the current playlist position. @param instance The playlist manager instance. @return The current playlist position. If the playlist is empty, 0 will be returned.
projectm_playlist_get_retry_count
@brief Returns the number of retries after failed preset switches. @param instance The playlist manager instance. @return The number of retries after failed preset switches.
projectm_playlist_get_shuffle
@brief Retrieves the current state of shuffle mode. @param instance The playlist manager instance. @return True if shuffle mode is enabled, false otherwise.
projectm_playlist_insert_path
@brief Inserts presets from the given path to the end of the current playlist.
projectm_playlist_insert_preset
@brief Adds a single preset to the playlist at the specified position.
projectm_playlist_insert_presets
@brief Adds a single preset to the playlist at the specified position.
projectm_playlist_item
@brief Returns the name of a preset at the given index in the current playlist. @note Call projectm_playlist_free_string() when you’re done using the return value. @note If you need to retrieve a major part of playlist filenames, use projectm_playlist_items() instead. @param instance The playlist manager instance. @param index The index to retrieve the filename for. @return The filename of the requested preset, or NULL if the index was out of bounds or the playlist is empty.
projectm_playlist_items
@brief Returns a list of preset files inside the given range of the current playlist, in order.
projectm_playlist_play_last
@brief Plays the last preset played in the history and returns the index of the preset.
projectm_playlist_play_next
@brief Plays the next playlist item and returns the index of the new preset.
projectm_playlist_play_previous
@brief Plays the previous playlist item and returns the index of the new preset.
projectm_playlist_remove_preset
@brief Removes a single preset from the playlist at the specified position.
projectm_playlist_remove_presets
@brief Removes a number of presets from the playlist from the specified position.
projectm_playlist_set_filter
@brief Sets a new filter list.
projectm_playlist_set_position
@brief Plays the preset at the requested playlist position and returns the actual playlist index.
projectm_playlist_set_preset_switch_failed_event_callback
@brief Sets a callback function that will be called when a preset change failed.
projectm_playlist_set_preset_switched_event_callback
@brief Sets a callback function that will be called when a preset changes.
projectm_playlist_set_retry_count
@brief Sets the number of retries after failed preset switches. @note Don’t set this value too high, as each retry is done recursively. @param instance The playlist manager instance. @param retry_count The number of retries after failed preset switches. Default is 5. Set to 0 to simply forward the failure event from projectM.
projectm_playlist_set_shuffle
@brief Enable or disable shuffle mode. @param instance The playlist manager instance. @param shuffle True to enable random shuffling, false to play presets in playlist order.
projectm_playlist_size
@brief Returns the number of presets in the current playlist. @param instance The playlist manager instance. @return The number of presets in the current playlist.
projectm_playlist_sort
@brief Sorts part or the whole playlist according to the given predicate and order.
projectm_reset_textures
@brief Reloads all textures.
projectm_set_aspect_correction
@brief Enabled or disables aspect ratio correction in presets that support it.
projectm_set_beat_sensitivity
@brief Sets the beat sensitivity.
projectm_set_easter_egg
@brief Sets the “easter egg” value.
projectm_set_fps
@brief Sets the current/average frames per second.
projectm_set_hard_cut_duration
@brief Sets the minimum display time before a hard cut can happen.
projectm_set_hard_cut_enabled
@brief Enables or disables hard cuts.
projectm_set_hard_cut_sensitivity
@brief Sets the hard cut volume sensitivity.
projectm_set_mesh_size
@brief Sets the per-pixel equation mesh size in units. Will internally be clamped to [8,300] in each axis. If any dimension is set to an odd value, it will be incremented by 1 so only multiples of two are used. @param instance The projectM instance handle. @param width The new width of the mesh. @param height The new height of the mesh.
projectm_set_preset_duration
@brief Sets the preset display duration before switching to the next using a soft cut.
projectm_set_preset_locked
@brief Locks or unlocks the current preset.
projectm_set_preset_switch_failed_event_callback
@brief Sets a callback function that will be called when a preset change failed.
projectm_set_preset_switch_requested_event_callback
@brief Sets a callback function that will be called when a preset change is requested.
projectm_set_soft_cut_duration
@brief Sets the time in seconds for a soft transition between two presets.
projectm_set_texture_search_paths
@brief Sets the texture search paths.
projectm_set_window_size
@brief Sets the current viewport size in pixels.
projectm_touch
@brief Starts a touch event or moves an existing waveform.
projectm_touch_destroy
@brief Removes any additional touch waveforms under the given coordinates. @param instance The projectM instance handle. @param x The last known x touch coordinate. @param y The last known y touch coordinate.
projectm_touch_destroy_all
@brief Removes all touch waveforms from the screen.
projectm_touch_drag
@brief Centers any waveforms under the coordinates to simulate dragging. @param instance The projectM instance handle. @param x The x coordinate of the drag. @param y the y coordinate of the drag. @param pressure The amount of pressure applied in a range from 0.0 to 1.0.
projectm_write_debug_image_on_next_frame
@brief Writes a .bmp main texture dump after rendering the next main texture, before shaders are applied.

Type Aliases§

projectm_channels
For specifying audio data format.
projectm_handle
projectm_playlist_handle
projectm_playlist_preset_switch_failed_event
@brief Callback function that is executed if a preset change failed too often.
projectm_playlist_preset_switched_event
@brief Callback function that is executed on each preset change.
projectm_playlist_sort_order
Sort order for playlist sorting.
projectm_playlist_sort_predicate
Sort predicate for playlist sorting.
projectm_preset_switch_failed_event
@brief Callback function that is executed if a preset change failed.
projectm_preset_switch_requested_event
@brief Callback function that is executed whenever projectM wants to switch to a new preset.
projectm_touch_type
Waveform render types used in the touch start method.