Changeset 1589

Show
Ignore:
Timestamp:
2005-10-30 20:25:18 (3 years ago)
Author:
jkivlighn
Message:

Implement a callback to be used by the TreeView? to indicate the currently playing chapter

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • annoamp/trunk/annoamp.py

    r1588 r1589  
    5454                elif isinstance(taglist.get(tag), GstCmmlTagHead): 
    5555                    print type(taglist.get(tag)) 
     56                    if self.current_chapter_callback != None: 
     57                        self.current_chapter_callback(self.pos) 
    5658                    self.pos = self.pos + 1 
    5759                    print "new position: "+str(self.pos) 
     
    5961                    #print type(taglist.get(tag)) 
    6062                    print taglist.get(tag).get_property("id") 
     63                    if self.current_chapter_callback != None: 
     64                        self.current_chapter_callback(self.pos) 
    6165                    self.pos = self.pos + 1 
    6266                    print "new position: "+str(self.pos) 
     
    100104        result = fake.set_state(gst.STATE_PLAYING) 
    101105 
    102         #FIXME 
    103         self.chapters = 6 
    104  
    105106    def play(self): 
    106107        print "Play." 
     
    117118        print "%s" % event 
    118119        result = self.bin.send_event(event) 
     120 
     121        self.pos = 0 
     122        def get_curr_pos(model, path, iter, self): 
     123            curr_time = playlist.get_value(iter,1) 
     124            if curr_time >= location: 
     125                return True 
     126            self.pos += 1 
     127        playlist.foreach(get_curr_pos,self) 
     128 
     129        if self.current_chapter_callback != None: 
     130           self.current_chapter_callback(self.pos) 
     131         
    119132        print result 
    120133         
    121134    def next(self): 
    122         if self.pos == self.chapters
     135        if self.pos == playlist.iter_n_children(None)
    123136            print "can't go forward, doosh-bag" 
    124137            return 
     
    137150 
    138151    pos = 0 
    139     chapters = 0 
    140152    playlist = None 
     153    current_chapter_callback = None 
    141154 
    142155def destroy(widget, self): 
     
    177190        pass 
    178191    return True 
     192 
     193def update_chapter(chapter): 
     194    global playlist_view 
     195    global playlist 
     196    playlist_view.set_cursor(playlist.get_path(playlist.iter_nth_child(None,chapter))) 
     197    print "updated chapter" 
    179198 
    180199playlist = gtk.TreeStore(str, int) 
     
    201220 
    202221player = AnxPlayer() 
     222player.current_chapter_callback = update_chapter 
    203223player.loadFile(os.environ['HOME']+"/lugradio.anx",playlist) 
    204224