Show
Ignore:
Timestamp:
06/04/10 15:22:39 (4 years ago)
Author:
Guillaume Pellerin <yomguy@…>
Children:
ac00b1520a6c25470705023a35ea81e8aeb5f05a
Parents:
05cce4d1cd60d3fe49925a596ee41aff3d505cf2
git-committer:
Guillaume Pellerin <yomguy@parisson.com> / 2010-06-04T13:22:39Z+0000
Message:

add run mode, fix bad tests

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • tools/station.py

    ra79f801 rb8048e2  
    157157                self.record_callback('/write', [1]) 
    158158 
     159        # Running 
     160        # mode = 0 means Off, mode = 1 means On 
     161        self.run_mode = 1 
     162 
    159163        # OSCing 
    160164        self.osc_control_mode = 0 
     
    173177                self.osc_controller.add_method('/record', 'i', self.record_callback) 
    174178                self.osc_controller.add_method('/player', 'i', self.player_callback) 
    175  
     179                self.osc_controller.add_method('/run', 'i', self.run_callback) 
     180 
     181    def run_callback(self, path, value): 
     182        value = value[0] 
     183        self.run_mode = value 
     184        message = "Received OSC message '%s' with arguments '%d'" % (path, value) 
     185        self.logger.write_info(message) 
    176186 
    177187    def media_next_callback(self, path, value): 
     
    434444 
    435445    def run(self): 
    436         while True: 
     446        while self.run_mode: 
    437447            self.q.get(1) 
    438448            self.next_media = 0 
     
    440450            self.counter += 1 
    441451 
    442             if self.relay_mode == 1: 
     452            if self.relay_mode: 
    443453                self.set_relay_mode() 
    444454            elif os.path.exists(self.media) and not os.sep+'.' in self.media: 
     
    450460 
    451461            self.q.get(1) 
    452             if (not (self.jingles_mode == 1 and (self.counter % 2) == 1) or self.relay_mode == 1) and self.twitter_mode == 1: 
     462            if (not (self.jingles_mode and (self.counter % 2)) or self.relay_mode) and self.twitter_mode: 
    453463                artist_names = self.artist.split(' ') 
    454464                artist_tags = ' #'.join(list(set(artist_names)-set(['&', '-']))) 
     
    462472            for self.chunk in self.stream: 
    463473                self.q.get(1) 
     474                if self.next_media or not self.run_mode: 
     475                    break 
    464476                try: 
    465477                    self.channel.send(self.chunk) 
    466478                    self.channel.sync() 
    467                     if self.next_media == 1: 
    468                         break 
    469479                except: 
    470480                    self.channel.close() 
     
    477487                    continue 
    478488                try: 
    479                     if self.record_mode == 1: 
     489                    if self.record_mode: 
    480490                        self.recorder.write(self.chunk) 
    481491                except: