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

⌈⌋ ⎇ branch:  streamtuner2


Timeline

50 most recent check-ins occurring on or after 2015-05-05 10:45:01.

More ↑
2015-05-10
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
More ↓