Exemple #1
0
void enable_vis_plugin(int i, gboolean enable)
{
	GList *node = g_list_nth(vp_data->vis_list, i);
	VisPlugin *vp;

	if (!node || !(node->data))
		return;
	vp = (VisPlugin *) node->data;

	if (enable && !g_list_find(vp_data->enabled_list, vp))
	{
		vp_data->enabled_list = g_list_append(vp_data->enabled_list, vp);
		if (vp->init)
			vp->init();
		if(get_input_playing() && vp->playback_start)
			vp->playback_start();
	}
	else if (!enable && g_list_find(vp_data->enabled_list, vp))
	{
		vp_data->enabled_list = g_list_remove(vp_data->enabled_list, vp);
		if(get_input_playing() && vp->playback_stop)
			vp->playback_stop();
		if (vp->cleanup)
			vp->cleanup();
	}
}
Exemple #2
0
void vis_playback_stop(void)
{
	GList *node = vp_data->enabled_list;
	VisPlugin *vp;
	
	if(!vp_data->playback_started)
		return;

	
	while(node)
	{
		vp = node->data;
		if(vp->playback_stop)
			vp->playback_stop();
		node = g_list_next(node);
	}
	vp_data->playback_started = FALSE;
}