Internet radio browser GUI for music/video streams from various directory services.

⌈⌋ ⎇ branch:  streamtuner2


Diff

Differences From Artifact [a4ef7a55bf]:

To Artifact [49404ca98a]:


354
355
356
357
358
359
360
361

362
363
364
365
366


367
368
369
370
371
372
373
374
375
376
377
378
379
380


381

382
383
384



385
386
387
388
389
390
391

392
393
394
395
396
397
398
399
354
355
356
357
358
359
360

361


362


363
364
365
366
367
368
369
370
371
372
373


374
375
376
377
378

379
380


381
382
383
384
385
386

387


388

389
390
391
392
393
394
395







-
+
-
-

-
-
+
+









-
-



+
+
-
+

-
-
+
+
+



-

-
-
+
-







    def switch_notebook_tabs_position(self, w, pos):
        self.notebook_channels.set_tab_pos(pos);
        




    # Shortcut to statusbar and progressbar.
    # Shortcut to statusbar and progressbar (receives either a string, or a float).
    # Either pass a string "" or a float 0.5, the message and pulse will be automatically
    # removed after 5 seconds now.
    def status(self, text=None, timeout=3):
        t = time.time() + timeout

        self.status_last = time.time() + timeout
        gobject.timeout_add(int(timeout*1000), self.status_clear)
        # progressbar
        if isinstance(text, (int, float)):
            if (text <= 0):  # unknown state
                uikit.do(self.progress.pulse, immediate=1)
            elif text >= 0.999 or text < 0.0:  # completed
                uikit.do(self.progress.hide)
            else:  # show percentage
                uikit.do(self.progress.show, immediate=1)
                uikit.do(self.progress.set_fraction, text, immediate=1)
            self.status_last = t
            
        # add text
        elif isinstance(text, (str)):
            uikit.do(self.statusbar.set_text, text)
        # clean up
        else:
            self.status_last = t
            self.status_clear(anyway=True)

        # timeout
        if not text or time.time() >= self.status_last:
    # Clean up after 3 seconds
    def status_clear(self, anyway=False):
        if anyway or time.time() >= self.status_last:
            self.statusbar.set_text("")
            self.progress.hide()
            return False
        # add timer
        else:
            gobject.timeout_add(int(timeout*1000), self.status)
        return True
            return True
    status_last = 0


    # load plugins from /usr/share/streamtuner2/channels/
    def load_plugin_channels(self):

        # initialize plugin modules (pre-ordered)
        ls = module_list()