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

⌈⌋ ⎇ branch:  streamtuner2


Diff

Differences From Artifact [0bca1b8083]:

To Artifact [af3c3860ce]:


30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#
# Primarily radio stations are displayed, some channels however are music
# collections. Commercial and sign-up services are not an objective.


# standard modules
import sys
import os
import re
from copy import copy
import inspect
import traceback
from threading import Thread
import time
from compat2and3 import *







|







30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#
# Primarily radio stations are displayed, some channels however are music
# collections. Commercial and sign-up services are not an objective.


# standard modules
import sys
import os, subprocess
import re
from copy import copy
import inspect
import traceback
from threading import Thread
import time
from compat2and3 import *
448
449
450
451
452
453
454
455
456

457











458

459
460
461

462


463
464
465
466
467
468
469
            pix = pix.scale_simple(int(321*r), int(115*r), gtk.gdk.INTERP_BILINEAR)
        self.img_logo.set_from_pixbuf(pix)

    # Extra buttons
    def specbuttons_load(self):
        x = 0
        for btn,cmd in conf.specbuttons.items():
            log.BTN(btn, cmd)
            i = gtk.Image()

            i.set_from_stock(btn, gtk.ICON_SIZE_SMALL_TOOLBAR)











            b = gtk.Button(btn, btn)

            b.connect("clicked", lambda *x: action.run(cmd))
            self.specbuttons.attach_defaults(b, int(x / 2), int(x/2)+1, x%2, (x%2)+1)
            x = x + 1

            self.specbuttons.attach_defaults(b, int(x / 2), int(x/2)+1, x%2, (x%2)+1)


            x = x + 1
        self.specbuttons.show_all()

    # load application state (widget sizes, selections, etc.)
    def init_app_state(self):
        winlayout = conf.load("window")
        if (winlayout):







|

>
|
>
>
>
>
>
>
>
>
>
>
>
|
>
|
|
<
>
|
>
>







448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473

474
475
476
477
478
479
480
481
482
483
484
            pix = pix.scale_simple(int(321*r), int(115*r), gtk.gdk.INTERP_BILINEAR)
        self.img_logo.set_from_pixbuf(pix)

    # Extra buttons
    def specbuttons_load(self):
        x = 0
        for btn,cmd in conf.specbuttons.items():
            log.IN(btn, cmd)
            i = gtk.Image()
            if (btn.find("gtk-") == 0):
                i.set_from_stock(btn, gtk.ICON_SIZE_SMALL_TOOLBAR)
            else:
                path = None
                if os.path.exists(btn):
                    path = btn
                else:
                    f = subprocess.Popen(["locate", "/usr/share/[pi]*s/*%s*.*" % btn], stdout=subprocess.PIPE)
                    path, err = f.communicate()
                    path = path.split("\n")[0]
                    log.DATA(path)
                if path:
                    i.set_from_file(path)
            b = gtk.Button()
            b.set_image(i)
            b.connect("clicked", lambda x0, cmd=cmd, *x: action.run(cmd) )
            self.specbuttons.attach(

                b,
                int(x / 2), int(x/2)+1, x%2, (x%2)+1,
                gtk.SHRINK, gtk.SHRINK, 0, 0
            )
            x = x + 1
        self.specbuttons.show_all()

    # load application state (widget sizes, selections, etc.)
    def init_app_state(self):
        winlayout = conf.load("window")
        if (winlayout):