Example #1
0
def defile_simple_block():
    t_tot = duration/len(blocks)
    t_center = t_tot/2
    
    t_in = t_tot/4
    t_out = t_tot/4
    
    grid.set_margin(20)
    grid.set_num_box(5)
    y0=1/8
    size = 2/3
    x =1/6 
    
    x0= 1
    x1=-2.1/3
    for block in blocks :
        if(isinstance(block, Te) or isinstance(block, L_inverse)):
            y =y0-size/3
        else :
            y=y0
        block.prop_move(y,x0,size)
        block.prop_move(y,x,size, t_in)
        incr_clock(t_in+ t_center)
        block.prop_move(y, x1, size, t_out)
        incr_clock(t_out)
        
    nous = Line([Camille_trombone, Srevol_tuba_recadre])
    
    nous.inside(grid).prop_move(-1/3,1/6,2/3)
    nous.prop_move(1/8,1/6,2/3,t_in)
Example #2
0
    def move_down(self):
        grid = self.get_top_grid()
        min_distance = grid.num_box_line
        max_line = 0

        for child in self.children:
            child_abs_line, child_abs_col, child_abs_size = grid.to_line_and_cols(
                *child.get_absolute_coordinates())

            max_line = max(max_line, child_abs_line)

            for player in get_current_resource().players_registry.values():
                if (player.parent != self and not player.hidden):
                    player_line, player_col, player_size = grid.to_line_and_cols(
                        *player.get_absolute_coordinates())

                    if (player_col == child_abs_col
                            and player_line > child_abs_line):
                        min_distance = min(
                            min_distance,
                            player_line - (child_abs_line + child_abs_size))

        if (min_distance == grid.num_box_line):
            min_distance = grid.num_box_line - (max_line)

        self_abs_x, self_abs_y, self_abs_size = self.get_absolute_coordinates()

        move_down_time = min_distance / MOVE_SPEED
        abs_distance = min_distance / grid.num_box_line
        self.inside(grid).prop_move(self_abs_y + abs_distance, self_abs_x,
                                    self_abs_size, move_down_time)
        incr_clock(move_down_time)
Example #3
0
def check_lines(grid):
    first_full_line = 0
    lines_to_remove = []
    for line_index in range(grid.num_box_line):
        line = grid.get_line(line_index + 1)
        if (len(line.children) == grid.num_box_col):
            if (first_full_line == 0):
                first_full_line = line_index + 1
            lines_to_remove.append(line)

    if (len(lines_to_remove) > 0):
        incr_clock(1)
        for line in lines_to_remove:
            line.hide()
        incr_clock(0.5)
        for line in lines_to_remove:
            line.show()
        incr_clock(0.5)
        for line in lines_to_remove:
            line.hide()
        incr_clock(0.1)
        box = grid.get_box(1, 1, first_full_line, grid.num_box_col)
        t_move = len(lines_to_remove) / MOVE_SPEED
        box.goto(1 + len(lines_to_remove), 1, t_move)
        incr_clock(t_move)
Example #4
0
    def beat3(self, ratio, freq, duration):
        nb_beats = int(freq * duration)
        period = 1 / freq

        beat_index = 0

        while (beat_index < nb_beats):
            self.expand(ratio, expand_children=False, duration=period / 3)
            incr_clock(period / 2)
            self.expand(1 / ratio, expand_children=False, duration=period / 3)
            incr_clock(period / 2)
            beat_index += 1
Example #5
0
def rotate(container, iteration_par_second, duration):
    iteration_num = iteration_par_second * duration
    iteration_duration = duration / iteration_num

    col_size = container.num_box_line - 1
    line_size = container.num_box_col - 1
    for _ in range(iteration_num):
        col_gauche = container.get_box(1, 1, col_size, 1)
        ligne_bas = container.get_box(col_size + 1, 1, 1, line_size)
        col_droite = container.get_box(2, line_size + 1, col_size, 1)
        ligne_haut = container.get_box(1, 2, 1, line_size)

        col_gauche.goto(2, 1, iteration_duration)
        ligne_bas.goto(col_size + 1, 2, iteration_duration)
        col_droite.goto(1, line_size + 1, iteration_duration)
        ligne_haut.goto(1, 1, iteration_duration)
        incr_clock(iteration_duration)
Example #6
0
    def play(self, moves):

        previous_line, previous_col, switch = moves[0]
        self.inside(self.get_top_grid()).goto(previous_line, previous_col)

        if (len(moves) > 1):
            for line, col, switch in moves[1:]:

                distance = math.sqrt((line - previous_line)**2 +
                                     (col - previous_col)**2)
                self.goto(line, col, distance / MOVE_SPEED)
                incr_clock(distance / (MOVE_SPEED))
                print(self.parent)
                if (switch):
                    self.switch()
                previous_line = line

        self.move_down()
        print(self.parent)
Example #7
0
def spectrum(columns, lines, rate, duration):
    cols = []
    mus = get_current_resource().players_registry
    grid = get_current_resource().grid
    remaining_players = list(mus.values())

    for col_num in range(columns):
        col = SepctrumCol([], lines)
        remaining_players = col.fill(remaining_players)
        col.inside(grid).goto(2, col_num + 1)
        cols.append(col)

    col.inside(grid).goto(3, col_num + 1)

    audio_data = get_audio_data(columns, rate, duration)
    #print(audio_data.shape)
    #print(grid)

    for index in range(audio_data.shape[0]):
        print(audio_data[index, :])
        for col_index in range(columns):
            cols[col_index].set_level(audio_data[index, col_index])

        incr_clock(rate)
Example #8
0
def defile_3_blocks():
    
    minus_1 = None
    one = None
    center = None
    two = None
    plus_1 = None
    
    
    size = len(blocks)
    for index in range (size+4) :
        if (index < size):
            minus_1 = blocks[index]
        else :
            minus_1 = None
        if (index >0 and index < size+1):
            one = blocks[index-1]
        else :
            one = None
        if (index >1 and  index < size+2):
            center = blocks[index-2]
        else:
            center = None
        if (index >2 and index < size +3):
            two = blocks[index-3]
        else :
            two = None
            
        if (index >3):
            plus_1 = blocks[index-4]
        else :
            plus_1 =None
        
        if (minus_1 is not None):
            minus_1.inside(grid).prop_move(*get_cell_position(0.6,4))
            
        
        if (one is not None):
            one.inside(grid).prop_move(*get_cell_position(0.6,3),shift_duration)
         

        if (center is not None ):
            center.inside(grid).prop_move(*get_cell_position(1.2,2),shift_duration)
            #center.expand(1/0.6, shift_duration)
        
        if (two is not None):
            two.inside(grid).prop_move(*get_cell_position(0.6,1),shift_duration)
        
        if (plus_1 is not None):
            plus_1.inside(grid).prop_move(*get_cell_position(0.6,0),shift_duration)
            
        if (index > 0):
            incr_clock(2*shift_duration)
        
        else : 
            incr_clock(shift_duration)
        
#         if (one is not None):
#             one.switch()
#         if (center is not None):
#             center.switch()
#         if (two is not None):
#             two.switch()
            
        print(grid)
Example #9
0
def i_love_emgb(grid):
    clock(start_time_string)
    grid.set_num_box(15)
    grid.set_margin(20)
    
    Camille_bonus_recadre.hide()
    nb_mesure = 12
    duration = (end_time-start_time).total_seconds()
    
    #deux mesures par image
    image_duration = 2*duration /nb_mesure
    temps_duration = duration/(4*nb_mesure)
    clock(start_time_string)
    
    ######### I #################
    
    i = I()
    i_players = get_all_players()
    
    i.inside(grid).move(2,6,4)
    remaing_players =i.fill(i_players, temps_duration)
     
    hide_all(remaing_players)
    print(grid)
    incr_clock(image_duration)
    
    
    grid.set_margin(0)
    coeur_players = get_all_players()
    random.shuffle(coeur_players)
    coeur = Coeur()
    coeur.inside(grid).prop_move(0.495,0.495, 0.01)
    remaing_players=coeur.fill(coeur_players)
    coeur.inside(grid).prop_move(1/15,1/15+(13-9.1)/(2*13), 9.1/15,temps_duration) 
     

    hide_all(remaing_players)
    print(grid)
     
    incr_clock(image_duration)
    
    
    grid.set_margin(20) 
    e = E()
    e_players = get_all_players()
    
    random.shuffle(e_players)
    e.inside(grid).move(2,6,5 ) 
    remaing_players = e.fill(e_players, temps_duration)
    hide_all(remaing_players)
     
    incr_clock(image_duration)
    #hide_all(remaing_players)
     
    print(grid)
    m_players = get_all_players()
    
    random.shuffle(e_players)
    m = M()
    m.inside(grid).move(2,4,9)
    remaing_players=m.fill(m_players, temps_duration) 
    hide_all(remaing_players)
     
    incr_clock(image_duration)
     
     
    print(grid)
     
    g_players = get_all_players()
    
    random.shuffle(g_players)
    g =G()
    g.inside(grid).move(2,4.5,6)
    remaing_players=g.fill(g_players, temps_duration) 
    hide_all(remaing_players)
    incr_clock(image_duration)
 
    
    print(grid)
     
    b_players = get_all_players()
    random.shuffle(b_players)
    #g_players.extend(m.get_players())
    b =B()
    b.inside(grid).move(2,4.5,6)
    remaing_players=b.fill(b_players, temps_duration) 
    hide_all(remaing_players)
     
    incr_clock(image_duration)
    print(grid)
    grid.set_margin(0)
    grid.set_num_box(7)
   
    players = get_all_players()
    players.remove(Natacha_clarinette) 
    random.Random(6).shuffle(players)
    
    col_gauche = Box([],5,2)
    col_gauche.inside(grid).move(1,1,2)
    
    ligne_bas =  Box([],2,5)
    ligne_bas.inside(grid).move(6,1, 5)
    
    col_droite =  Box([],5,2)
    col_droite.inside(grid).move(3,6, 2)
    
    ligne_haut=  Box([],2,5)
    ligne_haut.inside(grid).move(1,3, 5)
    
    players = col_gauche.fill(players,0.2)
    players = ligne_bas.fill(players,0.2)
    players = col_droite.fill(players,0.2)
    players = ligne_haut.fill(players,0.2)
    
    Natacha_clarinette.inside(grid).move(3,3,3, 0.2)
    hide_all(players)
    JeanJacques_chef.hide()
    JeanJacques_chef_lacheprise.hide()
    print(grid)
    
    
    
    clock("00:02:18:70")
    
   
    
    current_time = get_time_from_user_string(get_clock())
    fin_tour = get_time_from_user_string("00:02:21:06")
    duration = ((fin_tour-current_time) - get_frame_duration()).total_seconds()
    col_gauche.inside(grid).goto(-5,1,duration)
    ligne_bas.inside(grid).goto(6,-5,duration)
    col_droite.inside(grid).goto(9,6,duration)
    ligne_haut.inside(grid).goto(1,9,duration)
Example #10
0
def play_tetris(grid):
    
    start_time_string = "00:02:21:16"
    end_time_string = "00:03:14:00"

    start_time = get_time_from_user_string(start_time_string)
    end_time = get_time_from_user_string(end_time_string)
    
    grid.set_margin(20)
    clock(start_time_string)
    
    
    hide_all()
    grid.set_num_box(7)
    grid.set_margin(20)
    
    players = get_all_players()
    players.remove(Serge_trompette)
    
    init_pos = (-3,3,False)
   
    te = Te()
    remaining_players = te.fill(players)
    te.play(
        [init_pos,
        (2,3, True),
        (4,1, True)
        ])
    
    z = Z()
    remaining_players = z.fill(remaining_players)
    z.play(
        [init_pos,
        (4,3, False),
        ])
     
    s= S()
    remaining_players = s.fill(remaining_players)
    s.play(
        [init_pos,
        (3,4, True),
        ])
    
    carre = Carre()
    remaining_players = carre.fill(remaining_players)
    carre.play(
        [init_pos,
        (3,6, False)
        ])
    
    
    barre = Barre()
    remaining_players = barre.fill(remaining_players)
    barre.play(
        [init_pos,
        (1,1, True)
        ])
    
    l = L()
    remaining_players = l.fill(remaining_players)
    l.play(
        [init_pos,
        (0,1, True),
        ])
    
    z= Z()
    remaining_players = z.fill(remaining_players)
    z.play(
        [init_pos,
        (3,5, False)
        ])
   
    te = Te()
    remaining_players = te.fill(remaining_players)
    te.play(
        [init_pos,
        (0,5, True),
        (1,6, False)
        ])  
   
   
    l = L()
    remaining_players = l.fill(remaining_players)
    l.play(
        [(-3,3,True),
         (-3,3,True),
         (-3,3,True)
        ])
    
    
    barre = Barre()
    remaining_players = barre.fill(remaining_players)
    barre.play(
        [init_pos,
        (0,1, False)
        ])
    
    print('----------------------------')
    print('Fin Tetris')
    print(grid)
    
    clock("00:02:51:79")
    last = Line([],2)
    remaining_players = last.fill(remaining_players)
    last.inside(grid).goto(0,5)
    last.goto(2,5,2.87)
    
    
    incr_clock(2.87)
    grid.tag('fin tetris')
     
    print(grid)
    

    players = get_all_players()
    players.remove(Serge_trompette)
    random.Random(4).shuffle(players)
    grid.set_num_box(7)
    grid.set_margin(0)
    
    col_gauche = Box([],5,2)
    col_gauche.inside(grid).goto(1,1)
    ligne_bas =  Box([],2,5)
    ligne_bas.inside(grid).goto(6,1)
    col_droite =  Box([],5,2)
    col_droite.inside(grid).goto(3,6)
    ligne_haut= Box([],2,5)
    ligne_haut.inside(grid).goto(1,3)
    hide_all()
    remaining_players= col_gauche.fill(players, 0.5)
    remaining_players= ligne_bas.fill(remaining_players, 0.5)
    remaining_players= col_droite.fill(remaining_players, 0.5)
    remaining_players= ligne_haut.fill(remaining_players, 0.5)
    Laurence_flute.swap( Chloe_saxophone)  # @UndefinedVariable
    Chloe_saxophone.inside(grid).move(3,3,3)  # @UndefinedVariable
    
    box_chloe = grid.get_box(1,1,7,7)
    #box_chloe.expand(0.5, expand_children = True)
    #box_chloe.expand(2, expand_children = False)
    Chloe_saxophone.inside(grid).move(3,3,3)  # @UndefinedVariable
   
    sub_box = grid.get_box(2,2,5,5)
    time= get_clock()
    
    rotate(grid, 0.3,7.5)
    clock(time)
    rotate_clock(sub_box,0.3,7.5 )
    
    grid.set_margin(0)
   
    
    clarinettes = clar.all.copy()
    clarinettes.remove(Cecile_clarinette)
    flute_et_hb = fl.all
    flute_et_hb.extend(hb.all)
    grid.set_num_box(8)
    clock("00:03:03:30")
    hide_all()
    box_clar = Box(clarinettes)
    box_clar.auto_layout()
    box_clar.inside(grid).move(1,1,4)
    
    clock("00:03:04:20")
    box_clar.hide()
    box_flute_hb = Box(flute_et_hb)
    box_flute_hb.auto_layout()
    box_flute_hb.inside(grid).move(5,5,4)
    
    clock("00:03:04:70")
    box_all = Box([],4,4)
    clarinettes.extend(flute_et_hb)
    box_all.inside(grid).move(1,1,8)
    remaining_players=box_all.fill(clarinettes)
    hide_all(remaining_players)
    
    
    clock("00:03:05:20")
    box_all.hide()
    grid.set_num_box(2)
    Serge_baryton.inside(grid).move(1,1,1)  # @UndefinedVariable
    Cecile_clarinette.inside(grid).move(2,2,1)  # @UndefinedVariable
    Svoisine_tuba.inside(grid).move(1,2,1)  # @UndefinedVariable
    Srevol_tuba_recadre.inside(grid).move(2,1,1)  # @UndefinedVariable
    
    
    grid.set_num_box(9)
    previous_player = None
    line_num =1
    col_num =1

   
    start_time_string = "00:03:07:00"
    start_time = get_time_from_user_string(start_time_string)

    end_time_string = "00:03:13:00"
    end_time = get_time_from_user_string(end_time_string)
    
    duration = (end_time-start_time).total_seconds()
    
    #deux mesures par image
    image_duration = duration/42
    clock(start_time_string)
    
    grid.to_tag('fin tetris') 
    box1 = grid.get_box(2,1, 7,7)
    new_box = Box([], 6,7)
    
    for line in range(6) :
        for col in range (7):
            player = box1.get_player(line+1, col+1)
            player.inside(new_box).move(line+1, col+1, 1)
            
    #grid.tag('fin tetris')
    
    
    box1=new_box
    grid.set_num_box(9)
    box1.inside(grid).move(1.5,2, 7, 0.2 )
    incr_clock(0.2)
    print(len(box1.children))
    ratio = 1+2/7
    box1.expand(ratio, expand_children = False)  
   
    rel_x, rel_y,rel_size = box1.get_absolute_coordinates()
    rel_x=rel_x-(rel_size/2)*(1-ratio)/8
    box1.prop_move(rel_y, rel_x, rel_size)
    
    
    next_player = box1.get_player(line_num, col_num)
    next_player.expand(1+1/7 ,0.5)
    incr_clock(image_duration)
    line_num, col_num = get_next_player_index(box1, line_num, col_num)
    while (line_num is not None):
        previous_player = next_player;
        next_player = box1.get_player(line_num, col_num)
        
        previous_player.expand(1/(1+2/7), image_duration)
        next_player.expand(1+2/7, image_duration)
        incr_clock(image_duration)
        line_num, col_num = get_next_player_index(box1, line_num, col_num)
    
    clock("00:03:13:20")    
    
    JeanJacques_chef_lacheprise.inside(grid).move(4,4,3,0.4)  # @UndefinedVariable
    
    
    grid.set_num_box(15)
    grid.set_margin(0)
    box1.expand(10, expand_children = False, duration=1)
    incr_clock(1.7)
    JeanJacques_chef_lacheprise.hide()  # @UndefinedVariable
    JeanJacques_chef.hide()  # @UndefinedVariable
    coeur_players = get_all_players()
    coeur_players.remove(Serge_trompette)
    coeur_players.remove(Bidou_euphonium)
    random.Random(1).shuffle(coeur_players)
    coeur = Coeur()
    coeur.inside(grid).prop_move(0.495,0.495, 0.01)
    remaing_players=coeur.fill(coeur_players)    
    coeur.get_player(4,4).swap(Veronique_hautbois)
    coeur.inside(grid).prop_move(1/15,1/20+(13-9.1)/(2*13), 9.1/15,1) 
    
    
   
    
    clock("00:03:26:22")
  
    players.remove(Veronique_hautbois)
   
    grid.set_num_box(3)
    Veronique_hautbois.inside(grid).move(2,2,1,2)  # @UndefinedVariable
    JeanSeb_percu.hide()  # @UndefinedVariable
    incr_clock(0.5)
    Benoit_flute.hide()  # @UndefinedVariable
    incr_clock(0.5)
    Serge_euphonium.hide()  # @UndefinedVariable
    incr_clock(0.5)
    Serge_baryton.hide()  # @UndefinedVariable