/usr/include/gmerlin/visualize.h is in libgmerlin-dev 1.2.0~dfsg+1-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | /*****************************************************************
* gmerlin - a general purpose multimedia framework and applications
*
* Copyright (c) 2001 - 2011 Members of the Gmerlin project
* gmerlin-general@lists.sourceforge.net
* http://gmerlin.sourceforge.net
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* *****************************************************************/
/** \defgroup visualize Visualizer
* \brief Visualization module
*
* This is the recommended frontend for visualization plugins.
* You pass it audio frames in your format, and it will handle
* all format conversions, rendering and fps control. Visualizations
* are run in a separate process, so plugins can never make the calling
* application crash.
*
* @{
*/
/** \brief Opaque visualizer structure
*
* You don't want to know what's inside
*
*/
typedef struct bg_visualizer_s bg_visualizer_t;
/** \brief Create a visualizer
* \param plugin_reg A plugin registry
* \returns A newly create visualizer
*/
bg_visualizer_t * bg_visualizer_create(bg_plugin_registry_t * plugin_reg);
/** \brief Destroy a visualizer
* \param v A Visualizer
*/
void bg_visualizer_destroy(bg_visualizer_t * v);
/** \brief Get the parameters of a visualizer
* \param v A Visualizer
* \returns NULL terminated array of parameter descriptions
*/
const bg_parameter_info_t * bg_visualizer_get_parameters(bg_visualizer_t* v);
/** \brief Set ov callbacks
* \param v A visualizer
* \param cb Callbacks
*/
void bg_visualizer_set_callbacks(bg_visualizer_t* v,
bg_ov_callbacks_t * cb);
/** \brief Set a parameter of a visualizer
* \param priv A visualizer casted to void
* \param name Name
* \param val Value
*/
void bg_visualizer_set_parameter(void * priv,
const char * name,
const bg_parameter_value_t * val);
/** \brief Set the visualization plugin
* \param v A Visualizer
* \param info A plugin info
*/
void bg_visualizer_set_vis_plugin(bg_visualizer_t * v,
const bg_plugin_info_t * info);
/** \brief Set a parameter of the visualization plugin
* \param priv A visualizer casted to void
* \param name Name
* \param val Value
*/
void bg_visualizer_set_vis_parameter(void * priv,
const char * name,
const bg_parameter_value_t * val);
/** \brief Open visualization with a video output plugin
* \param v A Visualizer
* \param format An audio format
* \param ov_handle Handle for the video output plugin
*/
void bg_visualizer_open_plugin(bg_visualizer_t * v,
const gavl_audio_format_t * format,
bg_plugin_handle_t * ov_handle);
/** \brief Open visualization with a plugin info and a window ID
* \param v A Visualizer
* \param format An audio format
* \param ov_info Which video output plugin to use
* \param display_id Window ID
*/
void bg_visualizer_open_id(bg_visualizer_t * v,
const gavl_audio_format_t * format,
const bg_plugin_info_t * ov_info,
const char * display_id);
/* Set new audio format without stopping the visualization thread */
/** \brief Set the audio format of a visualizer
* \param v A Visualizer
* \param format An audio format
*
* This function can be called on a visualizer, which is already
* open, to change the audio format on the fly
*/
void bg_visualizer_set_audio_format(bg_visualizer_t * v,
const gavl_audio_format_t * format);
/** \brief Send audio data to a visualizer
* \param v A Visualizer
* \param frame An audio frame
*/
void bg_visualizer_update(bg_visualizer_t * v,
const gavl_audio_frame_t * frame);
/** \brief Close a visualizer
* \param v A Visualizer
*
* This stops all the internal visualization thread as well as the
* child process, in which the visualization is run
*/
void bg_visualizer_close(bg_visualizer_t * v);
/** \brief Check, whether a visualizer needs to be restarted
* \param v A Visualizer
* \returns 1 if the visualizer needs a restart
*
* Call this function after \ref bg_visualizer_set_parameter to check,
* if you must close and reopen the visualizer.
*/
int bg_visualizer_need_restart(bg_visualizer_t * v);
/** \brief Get the frames per second
* \param v A Visualizer
* \returns The frames per second
*/
double bg_visualizer_get_fps(bg_visualizer_t * v);
/**
* @}
*/
|