1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 | #!/usr/bin/env python
# encoding: UTF-8
# api: python
# type: application
# title: streamtuner2
# description: Directory browser for internet radio, audio and video streams
# version: 2.1.9-beta1
# state: beta
# author: Mario Salzer <mario@include-once.org>
# license: Public Domain
# url: http://freshcode.club/projects/streamtuner2
# config:
# { type: env, name: http_proxy, description: proxy for HTTP access }
# { type: env, name: XDG_CONFIG_HOME, description: relocates user .config subdirectory }
# category: sound
# depends: pygtk | gi, threading, requests, pyquery, lxml
# id: streamtuner2
# pack: *.py, gtk3.xml.gz, bin, channels/__init__.py, bundle/*.py, CREDITS, help/index.page,
# streamtuner2.desktop, README, help/streamtuner2.1=/usr/share/man/man1/,
# NEWS=/usr/share/doc/streamtuner2/, icon.png=/usr/share/pixmaps/streamtuner2.png |
|
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 | #!/usr/bin/env python
# encoding: UTF-8
# api: python
# type: application
# title: streamtuner2
# description: Directory browser for internet radio, audio and video streams
# version: 2.1.9-beta1
# state: beta
# author: Mario Salzer <mario@include-once.org>
# license: Public Domain
# url: http://freshcode.club/projects/streamtuner2
# config:
# { type: env, name: HTTP_PROXY, description: proxy for HTTP access }
# { type: env, name: XDG_CONFIG_HOME, description: relocates user .config subdirectory }
# category: sound
# depends: pygtk | gi, threading, requests, pyquery, lxml
# id: streamtuner2
# pack: *.py, gtk3.xml.gz, bin, channels/__init__.py, bundle/*.py, CREDITS, help/index.page,
# streamtuner2.desktop, README, help/streamtuner2.1=/usr/share/man/man1/,
# NEWS=/usr/share/doc/streamtuner2/, icon.png=/usr/share/pixmaps/streamtuner2.png |
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289 |
# Play button
def on_play_clicked(self, widget, event=None, *args):
self.status("Starting player...")
channel = self.channel()
pixstore = [channel.ls, channel.pix_entry, channel.rowno()]
row = channel.play()
self.status("")
[callback(row, pixstore=pixstore, channel=channel) for callback in self.hooks["play"]]
# Recording: invoke streamripper for current stream URL
def on_record_clicked(self, widget):
self.status("Recording station...")
row = self.channel().record()
[callback(row) for callback in self.hooks["record"]]
|
<
|
| 272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288 |
# Play button
def on_play_clicked(self, widget, event=None, *args):
self.status("Starting player...")
channel = self.channel()
row = channel.play()
self.status("")
[callback(row, channel=channel) for callback in self.hooks["play"]]
# Recording: invoke streamripper for current stream URL
def on_record_clicked(self, widget):
self.status("Recording station...")
row = self.channel().record()
[callback(row) for callback in self.hooks["record"]]
|
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342 | def update_categories(self, widget):
self.thread(self.channel().reload_categories)
# Menu invocation: refresh favicons for all stations in current streams category
def update_favicons(self, widget):
if "favicon" in self.features:
ch = self.channel()
self.features["favicon"].update_all(entries=ch.stations(), pixstore=[ch.ls, ch.pix_entry, None])
# Save stream to file (.m3u)
def save_as(self, widget):
row = self.row()
default_fn = row["title"] + ".m3u"
fn = uikit.save_file("Save Stream", None, default_fn, [(".m3u","*m3u"),(".pls","*pls"),(".xspf","*xspf"),(".jspf","*jspf"),(".smil","*smil"),(".asx","*asx"),("all files","*")])
if fn: |
|
| 327
328
329
330
331
332
333
334
335
336
337
338
339
340
341 | def update_categories(self, widget):
self.thread(self.channel().reload_categories)
# Menu invocation: refresh favicons for all stations in current streams category
def update_favicons(self, widget):
if "favicon" in self.features:
ch = self.channel()
self.features["favicon"].update_all(entries=ch.stations(), channel=ch)
# Save stream to file (.m3u)
def save_as(self, widget):
row = self.row()
default_fn = row["title"] + ".m3u"
fn = uikit.save_file("Save Stream", None, default_fn, [(".m3u","*m3u"),(".pls","*pls"),(".xspf","*xspf"),(".jspf","*jspf"),(".smil","*smil"),(".asx","*asx"),("all files","*")])
if fn: |