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

⌈⌋ ⎇ branch:  streamtuner2


Timeline

358 check-ins using file channels/exportcat.py version 66f2154eb8

2016-11-10
17:35
Custom .quote() cmd argument escaping for windows. check-in: 89f9b52549 user: mario tags: trunk
2016-11-09
20:08
Fixed file open "rt" mode. check-in: 93908484c3 user: mario tags: trunk
20:06
Fix binary file open mode (CRLF corruption on Windows) check-in: 9564d3909a user: mario tags: trunk
15:15
Strip carriage return from plugin meta block, which causes field reading to fail on Windows. And use `empty_pixbuf` as fallback for uikit.pixbuf() in case the content isn't valid base64 still. check-in: 730e6dc9f1 user: mario tags: trunk
2016-11-08
20:01
Add Windows support (taskkill instead of pkill) check-in: 20cd77b794 user: mario tags: trunk
2016-11-07
16:28
Move reddit into distributed plugins, add some midi subreddits. check-in: 747bc65a0b user: mario tags: trunk
14:37
Shorten plugins with new init2() callback. check-in: e98ac20fc6 user: mario tags: trunk
14:36
Remove last remaining `newstation_cancel` signal reference check-in: 631ecdc077 user: mario tags: trunk
14:36
Update feature plugin cross references check-in: 6734c46cfb user: mario tags: trunk
14:35
Ensure streamedit picks up all changes, and populates fields even if absent in original row{} check-in: b4e595711c user: mario tags: trunk
2016-11-06
20:48
Update HTML manual check-in: 09c09235d8 user: mario tags: trunk
20:48
Apply unhtml() after resolve_urn() lookup. check-in: 5cda19beb0 user: mario tags: trunk
20:06
Fix hidden `conf.cmd` lookup check-in: a2ef839027 user: mario tags: trunk
18:53
Remove newstation_ok/_cancel signal symbols. check-in: 045ec7be83 user: mario tags: trunk
18:52
Alternate "rt" and "r" gzopen file flag (the "t" is an addition of Python3 gzip, and failed with Python2 on Windows) check-in: ee1b2744a1 user: mario tags: trunk
18:51
Fix misnamed row{} reference. check-in: d2925011aa user: mario tags: trunk
18:51
Add unichr() function alias for Python3. check-in: 049c5a6edd user: mario tags: trunk
14:41
Use subprocess.list2cmdline() for Windows, and pipes.quote() for BSD/Linux command execution. check-in: 5a6185c3aa user: mario tags: trunk
12:45
Make action.cmd() more explicit again. Introduce cmd= override flag for action.run_fmt_url(). So that specbuttons can use it instead of just interpol(). Thus the urn:/mime handlers will engage as well. check-in: 2b300a090d user: mario tags: trunk
12:42
Document row placeholders, such as %title or $playing check-in: 0fb24c100c user: mario tags: trunk
12:13
Implement a status message for URN: resolving, shorten code back (- row[] object gets implicitly updated.) check-in: 199ac60b55 user: mario tags: trunk
12:12
Less debug messages for reciva.resolve_urn check-in: f249524147 user: mario tags: trunk
11:43
Show player config screenshot also in config_apps/placeholder page. check-in: 2a46669362 user: mario tags: trunk
11:42
Implement new .resolve_urn() hook (replacing .row() override), which is added automatically now in ChannelPlugin init. check-in: e4fa4859c6 user: mario tags: trunk
11:40
Also perform an action.resolve_urn() right when accessing a row. Thus the stremaing lsits get updated on any .row() acccess (= now centrally covered). check-in: 2859a51985 user: mario tags: trunk
11:39
Implement resolve_urn() and handlers to look up "urn:xxx:iii" stream urls pripr playback. (Currently just used by reciva and delicast. Now allows to remove channel.row() override.) check-in: 5b63504d79 user: mario tags: trunk
01:57
Keep some notes about how to specify application paths on Windows. check-in: 2fb9158589 user: mario tags: trunk
01:56
More specific command argument quoting for Windows. check-in: d253deb912 user: mario tags: trunk
2016-11-05
23:55
Reciva: add search function check-in: 30cdbc9ba4 user: mario tags: trunk
2016-11-01
21:57
Undo extra os.system("start \"%s\"") quotes for Windows. check-in: 2e49eacad9 user: mario tags: trunk
16:03
Contrib plugin: show `extra` column in bookmarks (origin channel). Changed bookmark.add() to add it only if field missing. check-in: 5bc9e1a5f8 user: mario tags: trunk
16:02
Reciva: added a more readable log.ERR() message for empty results. check-in: 66802cbdf6 user: mario tags: trunk
15:55
Added login capability. check-in: 9f6a662093 user: mario tags: trunk
2016-10-31
21:52
Python3 compatibility: can't use len() on TreeModelRow (Gtk3 doesn't return ListStore row). So use simpler but less exact try/except block to probe for our dict-ListStore and its pixbuf column. check-in: e667190902 user: mario tags: trunk
21:50
Slim down comment (too lengthy contents break gtk tooltip) check-in: 2b17639821 user: mario tags: trunk
21:49
Add value unserialization for plugin config `type: array/list` using format "1,2,3|4,5,6|..." and `dict` type with "1 => 2, 3 => 4, ..." check-in: 1efa95be56 user: mario tags: trunk
16:17
Build `new_station` dialog manually. Leaf check-in: a1d8b8ef7b user: mario tags: new_station
16:16
Document house-mixes plugin. check-in: eb226c6d4b user: mario tags: trunk
16:15
Add link to RadioDroid. check-in: 418f9d2513 user: mario tags: trunk
14:33
Prepare simpler new_station dialog. check-in: 889ab628ed user: mario tags: trunk
14:32
Update specbuttons help pages. check-in: ed73b89bba user: mario tags: trunk
14:31
radio-browser.info: support for submitting stations check-in: 01c7c85d47 user: mario tags: trunk
2016-10-30
13:13
bookmarks: save origin channel in `extra` field. (It's mostly unused, except for the Jamendo and timer plugins.) check-in: 7bdd44a163 user: mario tags: trunk
2016-10-28
23:40
Updated HTML version of help/ check-in: 4293fd7db3 user: mario tags: trunk
23:18
bump minor versions check-in: 1478740ada user: mario tags: trunk
23:12
Enable `list`/`array`/`table` config schemes in addition to `dict`. Currently unused, just added because it's little more code. No custom value="x,x,x|y,y,y" parser yet. Not for `dict` either, as it's only used by specbuttons with a predefined list. check-in: 50c68197c7 user: mario tags: trunk
23:08
Fix add_default=False logic. check-in: 87a6d5ac96 user: mario tags: trunk
18:14
Rename to "Spec buttons", use new {type:dict} config descriptor. check-in: e0aba9dd4e user: mario tags: trunk
18:13
Update config_play/_record and their TreeViews for the slimmer ListStore without row[2] `editable` bool, and the more generic uikit.liststore_edit callback (still requires lambda handlers for column and liststore as user_data). check-in: bca80ec8af user: mario tags: trunk
18:11
Move liststore_edit() and app_bin_check() from configwin. to uikit.

Allow ListStore for config_play/_record/_specbuttons without `editable` row [2], which is now a property of the CellRenderers (instead of a cell-attribute).

Specialized uikit.config_treeview() builds a custom two-column TreeView now. check-in: d90db23c73 user: mario tags: trunk

2016-10-27
16:42
Introduce `dict` configuration type, prepare TreeView in uikit (similar to record/play config table). check-in: 095de3353f user: mario tags: trunk
2016-10-23
16:29
Cleaner specbuttons plugin, add support for placeholders in button commands. Add documentation and some config ideas. check-in: 824186a7c3 user: mario tags: trunk
16:28
action: Allow %url %title placeholders also with $ prefix. Also reuse interpolate() function for specbuttons and without default %pls. check-in: 27c88c7dcd user: mario tags: trunk
2016-10-22
19:07
new plugin: specbuttons allows to define mini toolbar buttons to control applications (audio settings, mute/volume, start/kill players or other apps). Has been externalized as plugin. The UI features are built into gtk3.xml specbuttons check-in: 43b36ed35b user: mario tags: trunk
19:01
Minor text fixes check-in: e421c1af60 user: mario tags: trunk
19:00
Set "instant activation" option background yellow instead of orange. check-in: 6c2f0c5c09 user: mario tags: trunk
18:59
- check-in: 1306bc3c6c user: mario tags: trunk
18:59
Remove default specbuttons{} entry. check-in: 54297a5913 user: mario tags: trunk
18:58
Shorten "house-mixes" title. check-in: dd4aa1e8ec user: mario tags: trunk
18:58
Allow plugin # config: bags only with <> or {} as delimiters, to support markup description/label. check-in: ea30a91e8d user: mario tags: trunk
2016-10-18
22:11
Move action/playback handlers to contrib/cmdline/ check-in: 05817e12db user: mario tags: trunk
21:57
Make specbuttons smaller, lookup image names (using `locate` - should be moved to configwin saving callback, as it's slow on startup otherwise) check-in: 4767ecba93 user: mario tags: trunk
21:27
Prepare specbuttons addin (small user-defined application control interface, adds to the main toolbar) check-in: e1d9342408 user: mario tags: trunk
21:26
Smaller icon for housemixes plugin check-in: adb4636366 user: mario tags: trunk
2016-10-09
12:18
Mini plugin to set current working directory on startup. check-in: 04b43d90af user: mario tags: trunk
2016-10-08
14:47
housemixes: set listformat to 'href' instead of pls check-in: 1b5a6c73d3 user: mario tags: trunk
14:44
Fixed status updates for scanning 1-9 pages (still using conf.max_streams), sum up favorites/downloads/likes for overview. check-in: 267a8d18f2 user: mario tags: trunk
14:43
Removed stray `print` statement check-in: 36dcba6639 user: mario tags: trunk
14:42
Fix statusbar #257: minor unicode fixes (wasn't showing up due to str/unicode in Py2, imported compat.unicode for Py3 now) check-in: 04daa96360 user: mario tags: trunk
04:07
Fix HTML assembling (<body>.+?</body> cleanup for PyQuery to see all entries). check-in: ea2010c673 user: mario tags: trunk
03:32
New channel housemixes.com added. check-in: fa19c2995e user: mario tags: trunk
2016-09-25
17:56
Minor text fixes. Compacted "configuration" back into features topic. check-in: cb5846cb2d user: mario tags: trunk
17:49
Generates a "common-repo.json" list from specified files in a fossil repository. (Used with a glob param like "/repo.json/REPO/files/*.py" to slice out interesting meta information.)

primary origin: http://fossil.include-once.org/fossil-skins/wiki/features check-in: 3f139e24c9 user: mario tags: trunk

2016-09-04
13:44
Prepare for crontab mode check-in: 7f2050ecba user: mario tags: trunk
2016-08-24
01:22
Stop vTuner page fetching depending on &iCurrPage=+1 presence. check-in: c49eb0e669 user: mario tags: trunk
01:21
Minor text fixes check-in: ac7e0587e9 user: mario tags: trunk
2016-07-11
18:37
Fetch channels per API search first, add playlists afterwards. check-in: f8c1bd8ce6 user: mario tags: trunk
2016-06-28
16:17
Remove di.fm help page check-in: cf0c3d95f9 user: mario tags: trunk
16:16
removed Live365 help page check-in: 1888b5ce65 user: mario tags: trunk
2016-06-27
22:43
di.fm/sky.fm/jazzradio removed, no longer support direct streams (direct access won't work unless audio players also fake a browser user-agent) check-in: 8563285a2b user: mario tags: trunk
00:09
Adapted extraction regex slightly. check-in: 6811f698e7 user: mario tags: trunk
2016-06-23
20:19
Some types and pluginmanager2 notes (user-local versions vs. sys-wide plugins). check-in: dd6b528646 user: mario tags: trunk
15:51
Updated help pages, radiobrowser.info summary check-in: 9cddf6091a user: mario tags: trunk
15:51
Removed Live365 check-in: 605de6f36e user: mario tags: trunk
15:45
(no comment) check-in: 1465e428c8 user: mario tags: trunk
09:14
Reword radiobrowser plugin comment. check-in: e9b7aa1f1b user: mario tags: trunk
09:13
Live365 is no more. check-in: 490abb1150 user: mario tags: trunk
2016-06-17
17:42
Default internetradio_max_pages=5 in the config. (Last report indicated it didn't get picked up. And it's a default plugin anyway.) check-in: 75cb32d44e user: mario tags: trunk
2016-06-16
23:30
Disable SSL verification for UbuntuUsers Wiki. check-in: 8cac2cfef5 user: mario tags: trunk
23:30
Remove stray print statement check-in: 315eb1c757 user: mario tags: trunk
23:29
Fix SpinButton() initialization for Gtk3 check-in: f1af12b221 user: mario tags: trunk
22:04
Slight changes to extraction regex (`https` links mostly, and title-icon is just text now). check-in: 7843eea22d user: mario tags: trunk
2016-05-21
13:19
Radionomy changed station logo URLs. → Adapted to load rescaled 32x32 favicons again. check-in: b4c02bb849 user: mario tags: trunk
2016-05-05
16:28
Minor documentation updates, add vTuner/RadioSure/Receiva in contrib plugin list. check-in: d0c84513d6 user: mario tags: trunk
2016-04-18
23:56
Disable logging for google_homepage check-in: 4f6de091f1 user: mario tags: trunk
2016-04-17
23:54
Fix google_homepage regex, filter out tunein+streema urls. check-in: 86ef3aaa35 user: mario tags: trunk
2016-04-11
12:53
List Symbola/Unifont as soft dependency check-in: ae5130d76a user: mario tags: trunk
00:58
Introduce markdown links for plugin list generator check-in: 4d9a41d7ef user: mario tags: trunk
00:58
Update description for vTuner. check-in: ee26ea7f76 user: mario tags: trunk
00:55
fix comment check-in: 65905824a7 user: mario tags: trunk
00:55
Refetch ZIP/CSV only once per day, and extract each category from CSV separately. check-in: af2c52cdca user: mario tags: trunk
00:54
Update UbuntuUsers wiki raw export URLs. check-in: 69a40e6b71 user: mario tags: trunk
00:53
Group some categories, add description. check-in: 44151e5bce user: mario tags: trunk
2016-04-08
23:09
new RadioSure plugin check-in: 2b8f7663be user: mario tags: trunk
2016-04-07
14:46
New plugin for Reciva check-in: bf85dca133 user: mario tags: trunk
00:17
Generate static plugin list for fossil wiki. check-in: e2867b44a2 user: mario tags: trunk
2016-04-06
00:24
Updated default categories, new sorting options. check-in: d702f2e1c5 user: mario tags: trunk
00:10
separate comment about "buffy" mode check-in: 6efe77d742 user: mario tags: trunk
2016-04-04
23:24
new vTuner plugin check-in: 9e0ac4efec user: mario tags: trunk
2015-12-26
00:52
Configurable number of maximum result pages for RadioTime API. check-in: 26d85bbcf7 user: mario tags: trunk
00:44
Support multiple page requests (needs rework). check-in: 0da57ffc3f user: mario tags: trunk
2015-12-21
01:38
Add links to additional channel modules check-in: 220cf71c8c user: mario tags: trunk
01:29
Example config for MPD/MPC playback. check-in: f9d3057189 user: mario tags: trunk
2015-11-14
21:49
Introduce "New station..." menu entry. (via streamedit / non-functional on first invocation / needs custom simpler UI and implementation) check-in: 249dac590b user: mario tags: trunk
21:47
Fix `self.main` reference check-in: 79f29b975a user: mario tags: trunk
2015-11-12
22:30
Needs proper signal disconnecting (overlaps with standard record function). check-in: 5954812093 user: mario tags: trunk
22:10
Planning on JIT record function (streamripper in background). check-in: e7e8ee0da9 user: mario tags: trunk
2015-11-11
21:02
Register config options. check-in: 84228576fb user: mario tags: trunk
20:57
Alternatively kill fPls check-in: e260975f4c user: mario tags: trunk
00:25
Reintroduces STOP button for killing streamripper. check-in: fe52f71656 user: mario tags: trunk
2015-11-10
23:47
Support fIcy/fPls for recording with time range/duration. check-in: 918b7bed4a user: mario tags: trunk
23:26
Add dependency. check-in: 02558ef729 user: mario tags: trunk
23:25
Readd support for timer record durations 01:00-02:00, streamripper only. check-in: 9febd83e03 user: mario tags: trunk
2015-11-09
21:37
Permit "Any" or "All" in time specifications (for all weekdays). check-in: 6402b2ce1d user: mario tags: trunk
00:10
Preliminary fix for recent action.play/record hook changes. check-in: cdb98c5876 user: mario tags: trunk
2015-11-08
14:01
Python3 fixes (use `log.XYZ` instead of `print` statement). check-in: 00df54ba31 user: mario tags: trunk
14:00
Reenable logging for `timer` module (seems non-functional ATM). check-in: 7ac004fc6d user: mario tags: trunk
2015-09-10
19:09
Fix POST requests to use data= instead of params=, else would turn into GET-style parameters. Add extra debugging (commented out). check-in: 8f5515beb8 user: mario tags: trunk
19:08
Fix https:// URL prefix, to avoid extraneous redirects. Add referer=1, ajax=1 to all GET/POST requests. More readable extraction (rx/pq) callback. check-in: 976c41ca3a user: mario tags: trunk
2015-06-01
21:43
Add missing pages to HTML manual version. check-in: 9d10307ec9 user: mario tags: trunk
2015-05-27
21:42
Link separate pages in feature plugin list. check-in: 2ac7d822d9 user: mario tags: trunk
16:02
Remove some "topic" links, as the Mallard breadcrumbs became overbearing. check-in: aab52a4d0d user: mario tags: trunk
15:46
Rewrite channel docs to use descriptive lists primarily. Add contrib_channels and _feature summary. Remove exportcat (now in contrib_feature). check-in: ecfcee7ed5 user: mario tags: trunk
10:49
Minor formulation fix. check-in: 80da39f2ec user: mario tags: trunk
2015-05-26
08:38
Don't keep converter Soundcloud streaming URLs (access token time out after an hour or something). check-in: 915e4b09da user: mario tags: trunk
02:09
Move broken plugins into disabled/ folder. check-in: 75f6084791 user: mario tags: trunk
02:07
Stub debugging plugin. check-in: dcedb5981a user: mario tags: trunk
01:07
Update sha1whateverchecksum for 0install. check-in: 90c4647665 user: mario tags: trunk
01:00
Release as 2.1.9 (semi-stable). check-in: 873e301b9b user: mario tags: trunk, 2.1.9
00:52
Update html manual. check-in: 217587b590 user: mario tags: trunk
00:43
Allow api: to be "python" or "streamtuner2" check-in: 294a2672d2 user: mario tags: trunk
00:43
Disable window tilte updating per default again. check-in: b9a667bbe7 user: mario tags: trunk
00:42
Fix row[`url`] reference. check-in: 388ef679b7 user: mario tags: trunk
00:41
Update for new action.play() signature, scale down banner images. check-in: 3717a70b32 user: mario tags: trunk
00:40
Fix action.browser() to use only row{}, not pass url= argument. Native JAMJSON extractor now tests for ["tracks"] or uses plain ["results"] list. check-in: 84114ae636 user: mario tags: trunk
2015-05-24
17:46
Fix simplified regex to stop before }}} for URL extraction. check-in: b728f45203 user: mario tags: trunk
17:46
Fix unqualified icon_dir reference. check-in: e2c2c405e7 user: mario tags: trunk
16:59
Add missing quotes for streamripper default option. check-in: 4a3b5153d8 user: mario tags: trunk
16:58
Remove url= attribute in main entry points in favour of row{} check-in: a73f762152 user: mario tags: trunk
16:58
Undo {expand:False} attribute for CellRendererPixbuf check-in: a4d0e74658 user: mario tags: trunk
16:57
Overwrite row["format"] after updating entry. check-in: d32669293c user: mario tags: trunk
16:57
Fix audioformat to audio/mpeg. check-in: fa5df72f08 user: mario tags: trunk
14:19
Introduce action.handler{} callbacks to convert custom streaming URL types such as "audio/soundcloud". Unify backend code for .play/record/browser() calls. Reddit module just splits out domain name now, then checks for walledgarden links (filter option renamed). Introduce url_soundcloud plugin in favour of `soundcli` cmdline client setting. check-in: 23bbd97989 user: mario tags: trunk
10:02
Move channel.save() after column updating. check-in: 3072c80d83 user: mario tags: trunk
10:02
Lighter highlight color: for plugin options. check-in: 160f4dd660 user: mario tags: trunk
08:52
Introduce channel.fixed_size=[24,24] to constrain favicon CellRendererPixbuf. Works in conjunction to .img_resize= attribute for favicon/img converter. Set expand:False in default datamap[] for favicon cell. check-in: 39304eb90b user: mario tags: trunk
08:49
Check for string length (.q) before starting cache/server search. Wrap channel+cat switching in ukit.do(). check-in: 708ecda3e9 user: mario tags: trunk
2015-05-23
15:46
Add a "keep all" web links option. check-in: 9f8cacb1dd user: mario tags: trunk
15:45
Fix swapped boolean and integer options in set_plugin_defaults() check-in: 5020c93825 user: mario tags: trunk
15:29
Support custom audio handlers for soundcloud etc. Example plugin to register them (only `soundcli` so far). check-in: 20f1c3edda user: mario tags: trunk
15:28
Simplify favicon callbacks, use channel= instead of artifical pixstore= tuple. update_rows() itself extracts liststore and indicies now. Introduce `img_resize` channel option for `img` banner rescaling in favicon module. check-in: 867c9f9f94 user: mario tags: trunk
15:26
Fix `id` reference in dependency resolver. check-in: 8289ad11b4 user: mario tags: trunk
01:08
Add more subreddits to category list. Placeholder groups with "→" decorator. Allow web-only links per config option (start web browser for sptfy/sndcl etc.) check-in: 3746af529b user: mario tags: trunk
2015-05-22
22:01
Catch http/json result errors earlier. Break on absent "after" id. check-in: 8dfd60898f user: mario tags: trunk
22:00
Support config option boolean aliases (1, true, yes, on). check-in: effbfc31f1 user: mario tags: trunk
22:00
Use gtk-info/-error/-no for placeholder entries. check-in: 55408c97f8 user: mario tags: trunk
01:49
Channel plugin for reddit /r/*music* categories. Just filters out Youtube or direct MP3/Ogg links at the moment. check-in: d840371943 user: mario tags: trunk
2015-05-21
20:08
Remove config.find_in_dirs(), which is unused now. check-in: 11f270a726 user: mario tags: trunk
02:25
Make quicksearch icon activatable again (property "secondary-icon-activatable" was required). check-in: 069f6308de user: mario tags: trunk
2015-05-19
22:37
Minor help page updates. check-in: 9b6aa021cd user: mario tags: trunk
22:37
Fetch all 5 available pages from Xiph directory. Rewrite to use more directed regex extraction mode. Minor help page updates. check-in: 2590478319 user: mario tags: trunk
2015-05-18
22:21
A bit more PEP8, without undoing all readability. check-in: 492cb2aacf user: mario tags: trunk
22:21
Allow Exif-wrapped JPEGs as well (not just JFIF regexp check). Comment on merging row["favourite"] merge via prepare_filters list. check-in: 6d03cb84d3 user: mario tags: trunk
22:19
Delay window title updating logic and ui_cht callback via uikit.do() wrapper.

Seems to fix both: - Gdk:ERROR:/build/buildd/gtk+2.0-2.24.23/gdk/gdkregion-generic.c:1114:miUnionNonO: assertion failed: (r->x1 < r->x2) - Error in `python': double free or corruption (fasttop): 0x0..... check-in: 8a68105eeb user: mario tags: trunk

00:30
Typecast str() for bookmarks.is_in() url lookups → redundant. (Prepare for merging columns-update hook.) check-in: 0977371de1 user: mario tags: trunk
00:29
Strip double .png/.jpeg extension from cached `img` icons. check-in: 77ab1e927e user: mario tags: trunk
00:28
Remove _=time from streaminfo json urls. check-in: b23180bba7 user: mario tags: trunk
00:28
Minor simplifications in manual, remove iCast page. check-in: 54d59ae47f user: mario tags: trunk
2015-05-17
19:13
Adapt config options (color, and type: int) check-in: eb460acb8f user: mario tags: trunk
19:13
Remove stray `print` statement check-in: d10f61093f user: mario tags: trunk
19:12
Typecast plugin options on initialization. Use SpinButton for `int` options instead of text label. check-in: cdafbe23ce user: mario tags: trunk
19:11
Introduce new hooks["switch"] for update_title(). Used by new `Channel homepage link` plugin, which brings back streamtuner1-style service homepage. check-in: f992b0792a user: mario tags: trunk
19:10
Add toolbar placeholder for channel-link. Change conf.max_streams to SpinButton. check-in: 5b2f021e96 user: mario tags: trunk
03:04
Minor comment updates, version bumps. check-in: a9cf073956 user: mario tags: trunk
03:04
Remove ahttp aliases, print warning for "raw" extractor fallback, add some comment headlines for better overview. check-in: 5d05601f03 user: mario tags: trunk
03:03
Get rid of StringIO wrapper for json loading. check-in: d1a36e5bde user: mario tags: trunk
03:03
Add WinAmp user agent. check-in: d4f8ceee3f user: mario tags: trunk
03:02
Fix python dependency, and embed PYTHONPATH in 0-requests feed. check-in: da2cff9cbb user: mario tags: trunk
2015-05-16
20:33
New channel plugin for radio.net station directory. check-in: 0f528e97d5 user: mario tags: trunk
16:36
Remove channel_itunes manual page. check-in: 8c76ed789d user: mario tags: trunk
16:36
Use new autosave flag for DND. check-in: 275d481bea user: mario tags: trunk
16:36
Simplify windowsmedia regexp. Omit bitrate=32, because `filter_bitrate` makes it appear empty per default then. check-in: 19ad85d18d user: mario tags: trunk
01:47
Use shorter domain names for homepage favicons again. check-in: 9931f4e0e5 user: mario tags: trunk
2015-05-15
22:48
Update Dirble comments. check-in: a906512c8d user: mario tags: trunk
21:52
Weighted selection of available stream urls from Dirble API. check-in: fe19fd3202 user: mario tags: trunk
17:58
Add ahttp.fix_url() for dirble `website` addresses. check-in: 96d86cc203 user: mario tags: trunk
17:55
`timedout` and `description` are seemingly gone from the API responses. check-in: cbd84b656f user: mario tags: trunk
17:49
Add `filter_bitrate` to default pack: list. check-in: 9a5cee5ac7 user: mario tags: trunk
16:51
Add 0install requests dependency. check-in: 46e06de24a user: mario tags: trunk
14:19
Add 2.1.8-dev as 0install option; depend on Py 2.7 for now. check-in: c19b7669f4 user: mario tags: trunk
00:54
Update 0install descriptor to use command/runner with virtual python package. check-in: ed37ec798a user: mario tags: trunk
00:31
Update manual regarding new favicon plugin and its options. check-in: fb837c37db user: mario tags: trunk
2015-05-14
23:26
Set dest= and main= check-in: 395901fa20 user: mario tags: trunk
22:43
Try <file> instead of <archive> check-in: b84dba9f2c user: mario tags: trunk
20:26
./. check-in: c4467509e6 user: mario tags: trunk
20:15
Update with signature check-in: f371159ed3 user: mario tags: trunk
20:02
Add option to inhibit window title adaption ("Streamtuner2 - Channelname"), mostly just for filling up the "Display" config section again. check-in: bfc387c542 user: mario tags: trunk
20:01
Add 0install pkg description wrapper for testing. check-in: 68786b48a4 user: mario tags: trunk
18:41
Remove a few options from configuration dialog; now available in [feature] plugin tabs for favicon module. Favicon module exposes google_station_homepage, and retrieval methods, but no longer `conf.show_favicons` (which is decided on just by having the plugin enabled - or not.) Introduce conf.auto_save_stations for favicon/DND plugin. check-in: 8c7b4f2662 user: mario tags: trunk
18:39
Default to encoding=utf-8 for jamendo API. check-in: 0a7528326f user: mario tags: trunk
18:39
Add feature plugin icon. check-in: 1c2efe11f1 user: mario tags: trunk
00:05
Resize logo together with toolbar buttons. check-in: edc282b52b user: mario tags: trunk
2015-05-13
19:00
Make favicon redisplay work after google_find_homepage() and existing icons in cache. Shorter timeout/display for status label for google search. check-in: 56776a4e90 user: mario tags: trunk
00:00
Move mime_fmt() into regular function. Fix live365 ahttp feedback= bug. Regroup functions and update a few comments in channels/__init__ check-in: 2335ea7a46 user: mario tags: trunk
2015-05-12
22:18
Add default filters only once in GenericChannel.__init__ Allow preprocess_filter callbacks access to current channel object. (Used by filter_bitrate to recognize .audioformat if row[format] is absent.) check-in: ae2f48310a user: mario tags: trunk
22:17
Add plugin defaults (for newly added options, but previously active modules) in any case when starting with -D flag. Save settings.json in json.dumps(sort_keys=True) mode. check-in: 3497339549 user: mario tags: trunk
20:05
Add generic bitrate filter plugin, move functionality out of xiph channel. check-in: 7ef8a2b827 user: mario tags: trunk
20:03
Remove plugin #color: check-in: b4558a4599 user: mario tags: trunk
20:03
Use GenericChannel.prepare_filters hook to update "favicon" filenames in rows. Precompile row_to_fn regexps. Fix google_find_homepage params (just a function, not a method). check-in: 8c0b288e66 user: mario tags: trunk
20:01
Split up post-proccessing filters (run after load/update_streams), use filter callback list now. Separate prepare display filters as well (so to hook dedicated favicon callback into). Move conf.show_favicons option into uikit.columns() signature. check-in: 475f736d5d user: mario tags: trunk
2015-05-11
20:29
Break out _on_reload thread callback. check-in: 306eba6f98 user: mario tags: trunk
20:29
Remove _ prefix from ls, rowmap, pix_entry, as features/search was already depending on literal rowmap. check-in: 6d1bd944fb user: mario tags: trunk
12:21
Change pluginconf lookups. Use only pkg basenames for configuration, but override channels.__path__ directly in module. Thus pluginconf can convert `plugin_base` into path list for module_list() scanning. check-in: 494088b7d1 user: mario tags: trunk
11:18
Switch dirble plugin to predeclare encoding="utf-8" for speed. check-in: 05806261b3 user: mario tags: trunk
11:17
Disable iTunes plugin, no alternative resource. check-in: 901ee2c6b2 user: mario tags: trunk
2015-05-10
22:34
Fix URL patching (after actually testing it). And provide fallback for image resizing (.thumbnail in PIL 2.3.0 is broken). check-in: 12e7646cbf user: mario tags: trunk
22:11
Move internal commentary out of plugin description block. Try/Catch processing failures in update_rows() loop. Use quieter=1 option for image downloads. Reimplement custom base_url+href favicon patching. check-in: 4e95040e40 user: mario tags: trunk
22:08
Add ahttp.get( quieter= ) option for less log.HTTP notices. check-in: 529222eb9b user: mario tags: trunk
19:45
Work atop Python3 by using io.BytesIO rather than compat2and3 module. check-in: 7ec987b9ba user: mario tags: trunk
19:20
Move `favicon` module into extension/feature plugin. Simplify row["favicon"] cache filename pregeneration; separate from favicon module (but basically duplicated code there). Refactor most internal favicon+banner processing, rename methods for clarity. Plugin registers itself as .hooks["play"] callback. Uses main.thread() now instead of custom variant. Create icon cache dir on initialiation rather. Use combined row_to_fn() for cache filename generation instead of domain(), url(), file(), etc. Previous banner downloads are ignored, because the filename normalization is more in line with domain favicons now. Only update pixstore on successful downloads. Pre-check the content type per binary regex now, before saving image files. Combine resizing into store_image() function as well. Even PNG files will be piped through PIL (for sanitization). Completely got rid of urllib usage. Homepage/HTML extraction got rewritten, simpler, still inexact; but works now for most webpages. Favicon homepage downloading checks both returned MIME type and actual file content prior saving. Shorten timeouts to 2-3 seconds for Google and custom favicon retrieval. check-in: bd1a9cba05 user: mario tags: trunk
19:12
Create stub plugins/__init__.py in any case. check-in: a6b4b00c41 user: mario tags: trunk
19:12
Make AHTTP timeout= configurable. check-in: 4b035870ec user: mario tags: trunk
2015-05-09
21:41
Fix super slow requests download for Xiph YP.XML, due to automatic charset detected in requests.text access. Override encoding= now and manually .decode() known "utf-8" charset. check-in: 06fe0ef3db user: mario tags: trunk
21:40
Implement favicon live updating. Play event and download_all now pass the treestore, with row index, and pix_entry number (column index in liststore). Favicon module checks for downloaded images twice now, and updates PixBuf in ListStore. (Works for both single station view, and download_all.) check-in: aac4fcacbf user: mario tags: trunk
21:38
Prepare for more complex hooks["play"] invocation (ignore args, kwargs). check-in: 5fbe0ccd0c user: mario tags: trunk
21:37
Use custom GenericChannel.columns() wrapper to simplify passing TreeView widget and keeping returned liststore/rowmap/pix_entry. check-in: 5d8d7fd191 user: mario tags: trunk
21:36
Minor typo fixes. check-in: d1befc2a99 user: mario tags: trunk
21:36
Return ListStore, rowmap and pix_entry from uikit.columns() check-in: 8b187d699a user: mario tags: trunk
2015-05-08
11:05
Crash in search module again. Seemingly fixed it for threaded mode by preupdating the bookmarks.streams{search} result store before switching tabs. check-in: e6dd4c5376 user: mario tags: trunk
09:50
Fix srver url extraction prior sending to myoggradio API. check-in: 46648a2d42 user: mario tags: trunk
2015-05-07
19:21
Lock WindowsMediaGuide plugin against >2.1.8 check-in: 55b6ad457a user: mario tags: trunk
19:21
Step-tutorial for bookmarking a station. check-in: c159673973 user: mario tags: trunk
17:12
Explain in detail how to enable pluginmanager2 extension. check-in: b0ca9793cb user: mario tags: trunk
17:11
Additional project+help links for manual. check-in: 76cf990460 user: mario tags: trunk
17:10
Make static category lists more readable. check-in: f94731a05b user: mario tags: trunk
17:09
Remove unsupported view-source: URL prefix, rewrite links from /cat/ to /doc/tip/ for downloading/plain view instead of text/html browsing. check-in: 8e4f191706 user: mario tags: trunk
01:22
Fix UTF-8 text decoding for CSV after downloading as binary. check-in: 27b9174109 user: mario tags: trunk
01:20
Add description: line. check-in: 749946913c user: mario tags: trunk
01:17
Add windows media guide radio lists (ASX). Fixed action module to extract with case-insensitve matches for that playlist format. (It's not really XML after all.) check-in: 7c085d54f9 user: mario tags: trunk
01:16
Another radio station directory: listenlive.eu check-in: b0e9e031d9 user: mario tags: trunk
01:15
Compressed GLRP csv playlist. check-in: 48e681e054 user: mario tags: trunk
2015-05-06
21:05
Add preliminary Magnatune contrib plugin. (Radio playlists are currently broken. Only small album list is fetched.) check-in: f0fcfbd3ba user: mario tags: trunk
19:35
Add yelp <note> icons. check-in: 761b87fed4 user: mario tags: trunk
19:34
Update config option references for channel pages. check-in: 2b2993e6e1 user: mario tags: trunk
17:36
Converted help images to more grayscale/indexed variants to reduce filesize. check-in: 178fe1e006 user: mario tags: trunk
17:06
Use fallback title= for mkrow() importing. check-in: fbb2beedd7 user: mario tags: trunk
17:06
Fix urlencode references to urllib.quote. check-in: 334e951b04 user: mario tags: trunk
17:05
Add favicon and description. check-in: f2dbd33512 user: mario tags: trunk
04:27
Fix JSON serialization. check-in: b2d517502d user: mario tags: trunk
04:02
Add trivial di.fm/sky.fm radio list fetcher. check-in: 644d1b3532 user: mario tags: trunk
00:22
Enable glrp.csv download from repo. check-in: f42cec687d user: mario tags: trunk
00:21
Remove default ["empty",] category. check-in: d958ddb71e user: mario tags: trunk
00:08
Release as 2.1.8 check-in: b0a6a50a20 user: mario tags: trunk, 2.1.8
00:07
Fix some print and log statements. check-in: d0a9fca2bd user: mario tags: trunk
00:07
Use Gtk3/gdk.Color.parse() as fallback to .get_colormap(), get rid of style copying (was only necessary with the previous theming support IIRC). check-in: ae1d856e69 user: mario tags: trunk
00:05
Inline copy&paste HTML entity definitions, because they seemingly were also sacrificed at the Python 3 altar. check-in: 6cb923861a user: mario tags: trunk
2015-05-05
20:08
Fix region_id default to enable v3 mostPopular query (YT stumbled over "UK"). check-in: 5a0c618e03 user: mario tags: trunk
19:47
Filter `None` from extracted URLs. Fix save_playlist.export; copy.copy each row before overwriting/filling url. Implement specific `jamj` extractor (regex stumbled over playlist title). check-in: c9509eb384 user: mario tags: trunk
17:25
Add .save() after reading in CSV list. check-in: 930e5fd7a5 user: mario tags: trunk
17:22
Add playlist importer channel for GLRP. check-in: 44f08cdd69 user: mario tags: trunk
14:52
Updated channel documentation with links. check-in: 333e0400bc user: mario tags: trunk
14:27
Moved `file` and `punkcast` into contrib/ group. check-in: d91ab221b3 user: mario tags: trunk
14:12
./. check-in: a80fa6becf user: mario tags: trunk
14:11
Add -B and -3 options to `make run` check-in: e8c3b8b495 user: mario tags: trunk
14:11
Add icon for file browser. check-in: 5f1b889ce6 user: mario tags: trunk
11:24
Fix some typos. check-in: 8f1be0548d user: mario tags: trunk
10:58
Add omitted HTML pages. (*.html is in the fossil `ignore-glob`, so they get skipped for github-skin statistics bar.) check-in: 8a854e0f4c user: mario tags: trunk
10:56
Update documentation and notes for new channel/feature plugins. check-in: 222113231f user: mario tags: trunk
10:45
Readd plugin_base paths in addition to module basenames, otherwise pluginconf.get_data won't find plugins/* either in the module_list() or per get_data() - one uses paths, the other pkg names. check-in: 68107d7f9a user: mario tags: trunk
10:44
Simplify core plugin dependency lookups. check-in: 120249ab54 user: mario tags: trunk
10:43
Support direct URLs in DND import (only used as literal url=, brings up streamedit window afterwards). check-in: 5fe8de1fd7 user: mario tags: trunk
10:42
Fix missing channel key error. Add icon. check-in: f4dfbc1e53 user: mario tags: trunk
2015-05-04
22:29
Stub placeholder version: as `0` check-in: 9f252677fa user: mario tags: trunk
17:47
Rewrite some comments. check-in: d08461a712 user: mario tags: trunk
17:45
Fix http reference, unneeded. check-in: 718fb64e78 user: mario tags: trunk
17:45
No more API. check-in: 5cd371d6e5 user: mario tags: trunk
15:23
Moved dependency() into pluginconf module, which shortens adding new installable modules to the vbox. check-in: 686c553354 user: mario tags: trunk
15:22
Make configwin construction slightly more readable, use new pluginconf functions. check-in: 5f8afee363 user: mario tags: trunk
15:21
Split pluginconf from config module. check-in: 0d6acc5aef user: mario tags: trunk
15:21
Use file:// prefix for storing local paths. (Did break DND without "srv" export.) check-in: 3c7e820654 user: mario tags: trunk
15:20
Shorter format option descriptions. check-in: f4887cae4e user: mario tags: trunk
15:20
Hopefully fix Gtk3 error by wrapping second set_current() call in uikit.do check-in: b5a787d470 user: mario tags: trunk
2015-05-03
20:26
Add some version: bumps and add a few versions to depends: references. check-in: beebec9c76 user: mario tags: trunk
20:24
Perform basic version dependency checks before displaying downloadable plugins. check-in: c83b236a5a user: mario tags: trunk
20:23
Disable iCast plugin for now. check-in: 9d1b6cc7f5 user: mario tags: trunk
17:36
Make plugin list prettier. Implement vbox redrawing on [save]. Activation seems to work okay for channel plugins, and main already had enough safeguards to make st2.load_plugin_channels() work as is. check-in: 0479db10f9 user: mario tags: trunk
17:35
Make short help notices for player/recording configuration smaller. check-in: 55a1d1e516 user: mario tags: trunk
14:29
Catch invalid image files when creating pixbuf in uikit.columns() check-in: 61c264fdcb user: mario tags: trunk
14:13
Add user plugin manager / download tool. Not very well integrated nor pretty. Still requires a restart, needs more hooks into config dialog. (Clean up previous plugin vboxes after installation. Auto-activation required to reimplement init loader. And channels.__path__ setup isn't yet injectable, because no plugin `order:` is honored by main/init, and pluginmanager2 would run too late for overrides.) check-in: 8e8a9dd020 user: mario tags: trunk
14:10
Detect all command names in player config, so that both `xterm` and `streamripper` are probed for existence. Use dict comprehension for plugin_meta lookup. Remove wrap_entry in favour of generic uikit.wrap(). check-in: 91f8502978 user: mario tags: trunk
14:09
Allow to override encoding= for .text results (requests can't detect it automatically for binary/json responses). check-in: 00ff8bac09 user: mario tags: trunk
14:08
Support multiple `plugin_base` references (namely "channels" and "plugins"). check-in: 12d3b19c1d user: mario tags: trunk
14:08
Add .wrap() from configdialog for general use. check-in: 1ad0b9e76b user: mario tags: trunk
14:07
Remove print statement. check-in: cf6b582c7e user: mario tags: trunk
09:35
Implement "buffy" mode for just keeping Xiphs YP.XML in memory once traversed. check-in: 0afbbc5c26 user: mario tags: trunk
09:25
Consolidate bitrate filter in main update_streams() method. Fix conjoined category strings. check-in: 2793a3e6f8 user: mario tags: trunk
09:16
Fix server search var reference. check-in: b09ca3e24f user: mario tags: trunk
09:15
Move parole behind vlc in setup alternatives. check-in: 7e68e1b770 user: mario tags: trunk
09:15
Support literal references in text/uri-list per "srv" setting. check-in: 63798f88a3 user: mario tags: trunk
2015-05-02
23:44
Better plugin comments for user interface. check-in: 85c2fd4f56 user: mario tags: trunk
23:44
Fix xiph search URL and by_format mapping. check-in: 026af5c9fb user: mario tags: trunk
20:03
Add combined unhtml() utility function for raw page extractors. check-in: 6f314952b9 user: mario tags: trunk
20:03
Clean out unneeded xml module references. check-in: 4797dcce8e user: mario tags: trunk
19:56
Xiph module: reintroduce YP.XML extraction (still exceedingly slow), simplify JSON cache API usage (may get retired, incurs a delay of its own), and add raw dir.xiph.org website scraping (fastest, and most features). check-in: e11d6b2207 user: mario tags: trunk
19:54
Added default icons to dialog windows, and st2 logo to main window. Introduce more keyboard shortcuts (F6 favicons, Alt-F5 category reload, etc..) check-in: f18582ae4d user: mario tags: trunk
19:53
Use shorter entity_decode() call. Strip example content. check-in: 405eaaa660 user: mario tags: trunk
19:53
Allow to add custom statusmsg for lengthier HTTP requests. check-in: 4f285c3b31 user: mario tags: trunk
19:52
Move strip_tags(), entity_decode(), and nl() out of class into normal functions. check-in: 41c3273da9 user: mario tags: trunk
19:52
Move strip_tags(), entity_decode(), and nl() out of class into normal functions. check-in: d275a3e6e7 user: mario tags: trunk
05:45
New channel plugin for Radionomy. check-in: c734771f92 user: mario tags: trunk
05:44
Fix `audioformat` property name. check-in: 3f1b3bd882 user: mario tags: trunk
05:44
Stub category tree building main[] in case of wrapped primary group. Add uikit.bg on STATE_ACTIVE, skip existing EventBox widgets. check-in: 6bf4c5e61e user: mario tags: trunk
05:42
Remove redundant pq and compat2and3 imports. check-in: 8783b94a0a user: mario tags: trunk
05:42
Use new @use_rx decorator to switch and fall back between regex/pyquery modes. check-in: f269792f36 user: mario tags: trunk
05:41
Implement custom HTML .entitiy_decode, because SAX didn't honor any HTML; and HTMLParser would require customized/compat2and3 imports.

Colorize channel labels if #color: is specified in any plugins.

And provide @use_rx decorator to alternate between regex/pyquery extractors. check-in: 5588baf6dd user: mario tags: trunk

05:39
More specific log.HTTP messages (GET vs POST) check-in: 8ede46a0a1 user: mario tags: trunk
2015-05-01
23:30
Prepare row() and play() wrappers. No genre requests yet. (Still just a planned channel pugin.) check-in: 34f8a3d27b user: mario tags: trunk
23:10
Rename 8tracks module to have a legal Python identifier (rather than the globals()/module rename workaround). check-in: 8cd49580a4 user: mario tags: trunk
22:53
Tag with priority:never, as it's not meant to be bundled really. check-in: 7df4f3284f user: mario tags: trunk
22:52
Remove contrib/bieber joke example. check-in: c854934751 user: mario tags: trunk
22:41
Separate statusbar timer-reset from text/progressbar setter. check-in: 3b7a4ff895 user: mario tags: trunk
02:16
Use empty stub {} dict in place of state.json contents on fresh init. check-in: 3d6205d2d3 user: mario tags: trunk
02:16
Add python2-requests dependency. check-in: dedcc5a434 user: mario tags: trunk
2015-04-30
23:57
Test build -t arch Linux package as well. check-in: adb15be7f8 user: mario tags: trunk
21:21
A little more comments on playlist_export usage. check-in: bf7e0f1bf3 user: mario tags: trunk
20:54
Implement state: mapping (though no idea what 0-2 mean), and make default API key internally predefined again. check-in: cf32efcb61 user: mario tags: trunk
20:37
Add delicast favicon. check-in: 046dd8a5da user: mario tags: trunk
20:33
Temporarily remove iCast plugin from packaging, but add dirble and filtermusic. check-in: 9b4d29f9f7 user: mario tags: trunk
20:32
Basic channel plugin for delicast.com check-in: c1b74b649f user: mario tags: trunk
20:31
Manually replace `nbsp;` in entity_decode check-in: 82e9e14f3b user: mario tags: trunk
20:31
Make SSL verify= configurable. check-in: f2bac0d310 user: mario tags: trunk
20:30
Fix typos in myoggradio help page. check-in: 8e6178d3e3 user: mario tags: trunk
20:29
Bring back dirble channel. check-in: 57af601fa7 user: mario tags: trunk
06:24
Update HTML manual with current page set. check-in: 40900d9702 user: mario tags: trunk
06:22
Add new channel plugin for filtermusic.net, which works both per website extraction and from XML map traversal. (Again, the HTML→regex grepping seems more reliable.) check-in: 4b395e5d70 user: mario tags: trunk
06:21
Statusbar timeout and reset still not as planned. check-in: 049b945a64 user: mario tags: trunk
06:21
Add new config dialog group for "Playlists". Conf setting `playlist_asis` completely skips action.convert_playlist(). Works for any real m3u/pls/srv server and flexible audio players. But obviously breaks Jamendo albums or other JSON playlist sources. check-in: 470e3fac2b user: mario tags: trunk
06:19
No has_search for PRF channel. check-in: dc28b4f35a user: mario tags: trunk
00:46
Applied listformat= testing via action.extract_playlist.probe_ext(). check-in: 7dc72d064e user: mario tags: trunk
00:45
iCast currently(?) down. Added JSON/HTTP log.ERR message. check-in: 56320c8678 user: mario tags: trunk
00:44
Moved artwork (logo/icon) into dev/ folder. check-in: cff3740941 user: mario tags: trunk
2015-04-29
22:59
Undo itertools.chain(), use plain list appending. check-in: 051366205f user: mario tags: trunk
22:55
Exchanged all "import ahttp as http" for plain `ahttp` module usage. check-in: 493be36226 user: mario tags: trunk
22:54
PublicRadioFan directory plugin. (Works ok, but fetching is somewhat slow.) check-in: 747be98229 user: mario tags: trunk
05:39
Fix `st2.py` name/location in comment. check-in: 1f5a45d79b user: mario tags: trunk
05:38
Support "TV" channel for UbuntuUsers. (Albeit few are still working.) check-in: 8939760832 user: mario tags: trunk
05:37
Also scroll to last category after .select_current (didn't automatically happen for current notebook.) check-in: 53bfeeff06 user: mario tags: trunk
2015-04-28
20:55
Removed export_format config option for exportcat plugin (as that's selectable now in the file dialog anyway). Recategorized dnd plugin to appear earlier in the [features] config tab. check-in: 276ae3ef5f user: mario tags: trunk