|
15 | 15 | import iblrig.misc |
16 | 16 | from iblrig.base_tasks import BpodMixin |
17 | 17 |
|
18 | | -_logger = logging.getLogger(__name__) |
| 18 | +_logger = logging.getLogger(f'iblrig.{__name__}') |
19 | 19 |
|
20 | 20 | # this allows the CI and automated tests to import the file and make sure it is valid without having vlc |
21 | 21 | try: |
|
29 | 29 |
|
30 | 30 | class Player: |
31 | 31 | """A VLC player.""" |
32 | | - def __init__(self, rate=1, logger=None): |
| 32 | + def __init__(self, rate=1): |
33 | 33 | self._instance = vlc.Instance(['--video-on-top']) |
34 | 34 | self._player = self._instance.media_player_new() |
35 | 35 | self._player.set_fullscreen(True) |
36 | 36 | self._player.set_rate(rate) |
37 | 37 | self._media = None |
38 | 38 | self.events = defaultdict(list) |
39 | | - self.logger = logger or _logger |
40 | 39 | em = self._player.event_manager() |
41 | 40 | for event in (vlc.EventType.MediaPlayerPlaying, vlc.EventType.MediaPlayerEndReached): |
42 | 41 | em.event_attach(event, self._record_event) |
43 | 42 |
|
44 | 43 | def _record_event(self, event): |
45 | 44 | """VLC event callback.""" |
46 | | - self.logger.debug('%s', event.type) |
| 45 | + _logger.debug('%s', event.type) |
47 | 46 | # Have to convert to str as object pointer may change |
48 | 47 | self.events[str(event.type).split('.')[-1]].append(time.time()) |
49 | 48 |
|
@@ -119,25 +118,25 @@ def __init__(self, **kwargs): |
119 | 118 | self.data = pd.DataFrame(pd.NA, index=range(self.task_params.NREPEATS), columns=columns) |
120 | 119 |
|
121 | 120 | def save(self): |
122 | | - self.logger.info('Saving data') |
| 121 | + _logger.info('Saving data') |
123 | 122 | if self.video: |
124 | 123 | data = pd.concat([self.data, pd.DataFrame.from_dict(self.video.events)], axis=1) |
125 | 124 | data.to_parquet(self.paths.DATA_FILE_PATH) |
126 | 125 | self.paths.SESSION_FOLDER.joinpath('transfer_me.flag').touch() |
127 | 126 |
|
128 | 127 | def start_hardware(self): |
129 | 128 | self.start_mixin_bpod() # used for protocol spacer only |
130 | | - self.video = Player(logger=self.logger) |
| 129 | + self.video = Player() |
131 | 130 |
|
132 | 131 | def next_trial(self): |
133 | 132 | """Start the next trial.""" |
134 | 133 | self.trial_num += 1 |
135 | 134 | self.data.at[self.trial_num, 'intervals_0'] = time.time() |
136 | 135 | if self.trial_num == 0: |
137 | | - self.logger.info('Starting video %s', self.task_params.VIDEO) |
| 136 | + _logger.info('Starting video %s', self.task_params.VIDEO) |
138 | 137 | self.video.play(self.task_params.VIDEO) |
139 | 138 | else: |
140 | | - self.logger.debug('Trial #%i: Replaying video', self.trial_num + 1) |
| 139 | + _logger.debug('Trial #%i: Replaying video', self.trial_num + 1) |
141 | 140 | assert self.video |
142 | 141 | self.video.replay() |
143 | 142 |
|
@@ -166,7 +165,7 @@ def _run(self): |
166 | 165 | self.session_info.NTRIALS += 1 |
167 | 166 | self.data.at[self.trial_num, 'intervals_1'] = time.time() |
168 | 167 | dt = self.task_params.ITI_DELAY_SECS - (time.time() - end_time) |
169 | | - self.logger.debug(f'dt = {dt}') |
| 168 | + _logger.debug(f'dt = {dt}') |
170 | 169 | # wait to achieve the desired ITI duration |
171 | 170 | if dt > 0: |
172 | 171 | time.sleep(dt) |
|
0 commit comments