Esempio n. 1
0
/**
 * This function does the preparsing and issues the art fetching requests
 */
static void *Thread( void *data )
{
    playlist_preparser_t *p_preparser = data;
    vlc_object_t *obj = p_preparser->object;

    for( ;; )
    {
        input_item_t *p_current;

        /* */
        vlc_mutex_lock( &p_preparser->lock );
        if( p_preparser->i_waiting > 0 )
        {
            p_current = p_preparser->pp_waiting[0];
            REMOVE_ELEM( p_preparser->pp_waiting, p_preparser->i_waiting, 0 );
        }
        else
        {
            p_current = NULL;
            p_preparser->b_live = false;
            vlc_cond_signal( &p_preparser->wait );
        }
        vlc_mutex_unlock( &p_preparser->lock );

        if( !p_current )
            break;

        Preparse( obj, p_current );

        Art( p_preparser, p_current );
        vlc_gc_decref(p_current);
    }
    return NULL;
}
Esempio n. 2
0
/**
 * This function does the preparsing and issues the art fetching requests
 */
static void *Thread( void *data )
{
    playlist_preparser_t *p_preparser = data;
    playlist_t *p_playlist = p_preparser->p_playlist;

    for( ;; )
    {
        input_item_t *p_current;

        /* */
        vlc_mutex_lock( &p_preparser->lock );
        if( p_preparser->i_waiting > 0 )
        {
            p_current = p_preparser->pp_waiting[0];
            REMOVE_ELEM( p_preparser->pp_waiting, p_preparser->i_waiting, 0 );
        }
        else
        {
            p_current = NULL;
            p_preparser->b_live = false;
        }
        vlc_mutex_unlock( &p_preparser->lock );

        if( !p_current )
            break;

        Preparse( p_playlist, p_current );

        Art( p_preparser, p_current );
    }
    return NULL;
}
Esempio n. 3
0
void Track::fill(Dict *d) const{
    d->SetIntValue("TID", id);
    d->SetValue("TITLE", title);
    d->ShowSection(visible ? "IS_VISIBLE" : "IS_HIDDEN");
    d->SetValue("DATE", date);
    d->SetValue("DAY", formatTime(date, "%B %-d, %Y"));
    artist.fill(d);
    d->ShowSection(Art(id) ? "HAS_ART" : "NO_ART");
}
Esempio n. 4
0
void intro_display()
{
	    std::ifstream Art ("art.txt");
	    std::ifstream Intro("intro.txt");
	    displaytext(Art);
	    displaytext_delay(Intro);
	    Art.close();
	    Intro.close();
}
Esempio n. 5
0
void Art(int v){
	low[v] = idx[v] = time = time+1;
	for (int w = 1; w <= n; w++)
		if(reach[v][w]){
			if (idx[w]) low[v] = min(low[v],idx[w]);
			else {
				Art(w);
				low[v] = min(low[v],low[w]);
				if(!art[v] && ((idx[v] == 1 && idx[w] != 2)||(idx[v] != 1 && low[w] >= idx[v])))
					art[v] = hasArt = 1;
			}
		}
}
Esempio n. 6
0
void Art(register unsigned char v, register unsigned char u){
	low[v] = vn[v] = time = time+1;
	for (register unsigned char w = 1; w <= n; w++)
		if(reach[v][w]){
			if (vn[w]) low[v] = min(low[v],vn[w]);
			else {
				Art(w, v);
				low[v] = min(low[v],low[w]);
				if(!art[v] && ((vn[v] == 1 && vn[w] != 2)||(vn[v] != 1 && low[w] >= vn[v]))) {
					art[v] = 1;
					crit++;
				}
			}
		}
}
Esempio n. 7
0
int main(void){
	while(scanf("%hu\n",&n)!=EOF && n){
		crit = time = 0;
		memset(reach,0,sizeof(unsigned char)*10201);
		memset(art,0,sizeof(unsigned char)*101);
		memset(low,0,sizeof(unsigned char)*101);
		memset(vn,0,sizeof(unsigned char)*101);
		while(scanf("%hu%c",&x,&test) && x) 
			while(test!='\n'){
				scanf("%hu%c",&y,&test);
				reach[x][y] = reach[y][x] = 1;
			}
		Art(1,0);	
		printf("%hu\n",crit);
	}
	return 0;
}
Esempio n. 8
0
int main(void){
	for(int t = 1; scanf("%d%d",&n,&m) && n; t++){
		memset(reach,0,sizeof(reach));
		memset(low,0,sizeof(low));
		memset(idx,0,sizeof(idx));
		memset(art,0,sizeof(art));
		for(i = 0; i < m; i++)
			scanf("%d%d",&a,&b),
			reach[a][b] = reach[b][a] = 1;
		hasArt = time = 0;
		Art(1);
		printf("Teste %d\n",t);
		if(hasArt){
			for(i = 1; i <= n; i++)
				if(art[i]) printf("%d ",i);
		}
		else printf("nenhum");
		printf("\n\n");
	}
	return 0;
}
Esempio n. 9
0
/**
 * This function does the preparsing and issues the art fetching requests
 */
static void *Thread( void *data )
{
    playlist_preparser_t *p_preparser = data;

    for( ;; )
    {
        input_item_t *p_current;
        input_item_meta_request_option_t i_options;

        /* */
        vlc_mutex_lock( &p_preparser->lock );
        if( p_preparser->i_waiting > 0 )
        {
            preparser_entry_t *p_entry = p_preparser->pp_waiting[0];
            p_current = p_entry->p_item;
            i_options = p_entry->i_options;
            free( p_entry );
            REMOVE_ELEM( p_preparser->pp_waiting, p_preparser->i_waiting, 0 );
        }
        else
        {
            p_current = NULL;
            p_preparser->b_live = false;
            vlc_cond_signal( &p_preparser->wait );
        }
        vlc_mutex_unlock( &p_preparser->lock );

        if( !p_current )
            break;

        Preparse( p_preparser, p_current, i_options );

        Art( p_preparser, p_current );
        vlc_gc_decref(p_current);
    }
    return NULL;
}
Esempio n. 10
0
 void Render(cSpriteBatch& batch)
 {
     batch.DrawTexturePos2Dim2Origin2Scale2Rot(Art("bubble"), pos.x, pos.y, dim.x, dim.y, dim.x/2.0f, dim.y/2.0f, 1.0f, 1.0f, 0.0f);
 }