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

⌈⌋ ⎇ branch:  streamtuner2


Timeline

33 check-ins using file channels/radiotray.py version 60345f8f8f

2015-04-26
15:34
More customized log categories/colorization. check-in: 0943cca27e user: mario tags: trunk
15:34
Add custom pls extractor (for unordered playlist entries), keep regex method as fallback. More logging. check-in: 0725d3fbc8 user: mario tags: trunk
2015-04-25
00:39
Replace statusbar with plain gtk.Label, use glib.timeout_add for clearing it up implicitly. check-in: 805dbd5181 user: mario tags: trunk
2015-04-24
22:55
More examples for recording/streamripper configuration. check-in: e8560b51b5 user: mario tags: trunk
21:54
Add spacing for config dialog options (indented per plugin). Narrower labels, icons now show up. Undo newline-removal for Gtk3 tooltips (work with preformatted text instead). check-in: c02e9a3ec0 user: mario tags: trunk
21:53
Fallback for Gtk3 using set_text() now. Fix "href" vs "raw" format probing. check-in: 9f0bce8535 user: mario tags: trunk
19:22
Add .url exporting (shallow Windows variant of .desktop files). check-in: fd963a3d9b user: mario tags: trunk
19:21
Use generic `audio/mod-zip` for all MOD Archive urls. check-in: fed23f23f7 user: mario tags: trunk
19:21
Document current reuse_m3u and nothreads config behaviour. Rewrite placeholder and application help pages to be more understandable. Mention GUI alternatives to streamripper. check-in: 497073df0d user: mario tags: trunk
19:20
Prepare bookmarks-category DND as target (for internal stream moving). Fix FILE_NAME being passed as text not uris XSelection type. Use underscores in place of spaces to avoid urlencoding file:// references. Move log.DND colorization to config. check-in: 1569b57c42 user: mario tags: trunk
05:01
Add .desktop and .url to export format file extensions probing and SaveAs dialog. check-in: a35c889740 user: mario tags: trunk
05:00
Split plugin configuration into channels and [features] tabs. check-in: bd411967bc user: mario tags: trunk
04:59
Disable update_streams_partially_done() for Gtk3, as that's the main cause of memory corruption (despite being run in idle loop). check-in: 1edde401ce user: mario tags: trunk
00:00
Add conf.nothreads flag and --nt cmdline flag, to prevent Gtk3 idle update race conditions if need be. (Still flaky for initial startups.) check-in: ce0e9149db user: mario tags: trunk
2015-04-23
19:31
Use distinct /tmp/streamtuner2/ directory for temporary pls/m3u/xspf files (also for DND). And have action. module reuse them, based on numeric row{} hash. check-in: 7411543862 user: mario tags: trunk
19:04
Some more comments and log messages. check-in: 79ef6e5f2a user: mario tags: trunk
19:04
Add uikit.tree() instantiation for bookmarks tab. check-in: dbfe218f76 user: mario tags: trunk
19:03
Draw gtk_cat columns on initialiation in .gui() call. Use more literal uikit.do() invocations without lambda: wrapping. Let display_categories only run in uikit.do/idle, whereas .load() is run directly from there now. check-in: f1a357a60d user: mario tags: trunk
18:58
Statusbar updates via uikit.do, immediate=True. check-in: 7aa0ce2a25 user: mario tags: trunk
18:57
Make uikit.do() manage a task spool itself. Run new tasks immediately if invoked already within gtk_idle callback. Move uikit.tree column creation into separate function, for immediate use through GenericChannel.gui() - instead of destroying+repopulating it on category-list reloads. check-in: 7f51022370 user: mario tags: trunk
01:09
Remove some print statements, and switch to log.FUNC where necessary. check-in: ecc88e5d3e user: mario tags: trunk
01:08
Add TreePath() abstractions for app_state/restore. check-in: 655dd9f19c user: mario tags: trunk
2015-04-22
21:17
Update online manual to current help page set. check-in: 2b95379373 user: mario tags: trunk
21:16
Add some notes about DND to the manual. check-in: faacd9c284 user: mario tags: trunk
20:52
Fix .desktop file exporting. Add mime_guess() for streaming url. Move insert_rows() implementation out of DND module. check-in: 749715cb39 user: mario tags: trunk
20:50
Move DND insert_rows() into GenericChannel. Add load(y=) parameter to scroll back to previous position after insert_rows(). Reenable select_path("0") after reloading category list. (Fixes initial startup.) check-in: a5893e591c user: mario tags: trunk
20:49
Let bookmarks channel use generic.load() to reapply scroll position y= after inserts. check-in: a6ba97bce0 user: mario tags: trunk
2015-04-21
22:07
Remove old .ico workaround, as PIL2(Pillow) now integrates support. Leave the remaining code in shambles, and with excessive logging. Still needs a huge rewrite to optionalize Google reliance again. (The manual favicon fetching never worked, because the regexp is too crude for most sites; and URL joining is off too.) check-in: 743c60ff80 user: mario tags: trunk
22:05
Playlist DND import and conversion has been greatly simplified. (To the detriment of the action module now becoming more complex.) check-in: 705c7d16c2 user: mario tags: trunk
22:04
Major rewrite of playlist_extract handler. Now retains url and titles for playlist types that contain it. Still provides simpler urls() wrapper for old action.play/convert/interpol usage. Move probe_* functions into playlist_extract class as well. Introduce basic playlist_fmt_prio list for supported formats. (Too many regexps to probe for allowed file extensions, etc.) Add support for .url and .desktop files (import only.) check-in: f18b5c461f user: mario tags: trunk
22:01
Alias urllib*.unquote as urldecode() check-in: bd2ee4de96 user: mario tags: trunk
22:00
Fix missing .module property for add_plugin_defaults. check-in: 266321da13 user: mario tags: trunk
06:05
Replace old __print__/dbg.XYZ references with new log.XYZ() wrapper. check-in: ebae9e51ac user: mario tags: trunk