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

⌈⌋ ⎇ branch:  streamtuner2


Timeline

515 check-ins using file help/img/categories.png version 85e10a36c8

2015-05-06
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
17:35
Move `state.json` and .current restoration into GenericChannel.gui(). Current category is reselected by TreeView traversal on instantion now. Previous state now load through config.state() for channels/__init__, not in main/init_app_state anymore (just row:expand / winsizes now). Disable .currentcat() overwriting, redundant now in display_categories(). Still need to avoid second .select_current() call in first_show(). check-in: ffaf262c43 user: mario tags: trunk
2015-04-27
23:45
Document command line flags in manual. check-in: 6135c7ecac user: mario tags: trunk
23:45
Reorder target types, to prefer XSPF over PLS and M3U. Support .URL exports, keep distinct literal url/direct. check-in: af47020e49 user: mario tags: trunk
21:22
Updated category:/type: check-in: 823b3a3fff user: mario tags: trunk
21:20
PodSpider.xml database reader. Untested. check-in: fd17dafe58 user: mario tags: trunk
16:33
TreePath restoration +1 for drag and drop. check-in: 9185cd29e6 user: mario tags: trunk
16:32
Readd `default`, and fix forgotten `favicon` import. check-in: fe2dfd27e1 user: mario tags: trunk
16:32
Fix uikit.do spool appending with len(idle_tasks) instead of -1. Unpack window state treepath tuple conversion into 1:2:3 strings. check-in: 9930020237 user: mario tags: trunk
2015-04-26
23:49
Document changes, fixes, new features in 2.1.7 check-in: 3cc9821dbb user: mario tags: trunk, 2.1.7
22:24
Extended generic JSON extractor, to understand a few common field aliases. Add fallbacks for mime_app lookup in case */* is absent. Simplified %rowfield injection, which is commonly unused anyway. check-in: 2116c28445 user: mario tags: trunk
22:22
Uneeded windows desktop shortcut. check-in: 90605cbddc user: mario tags: trunk
22:22
Disable "Format" column again. check-in: 781f57ecdc user: mario tags: trunk
22:21
Embed base_url for extraction. check-in: c4d0f73dea user: mario tags: trunk
22:21
Missing Exception capture for error log. check-in: f69b9ce181 user: mario tags: trunk
22:21
Fixed gtk.main_iteration() extraneous parameter in gui_startup. check-in: 748d2aaed8 user: mario tags: trunk
15:35
Cover most catched exceptions with log messages. check-in: 363dce5eb9 user: mario tags: trunk
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
2015-04-20
23:19
Fix explanation on why iCast fetching takes a little while for some categories. check-in: de5d9ad092 user: mario tags: trunk
23:18
Shorten "Ogg Vorbis 112kbit/s" option name (was expanding the general settings dialog too much). check-in: 8759215e26 user: mario tags: trunk
23:18
Add overly crude playlist_convert.title() extraction (for M3U/PLS/XSPF/ASX and the custom STRING/TEXT format used by DND module). Insert imported rows at the right position. Scrolling won't work, because it's done in a separate thread. check-in: 6dfe1fdeb5 user: mario tags: trunk
16:24
Move playlist extension and context probing into separate functions. Introduce some rather crude import functionality for a few playlist file formats. (Still requires proper importer with title= reading, and entirely rows[] based function signatures in action module.) check-in: 8e3b1e4d5b user: mario tags: trunk
16:22
Introduce log.ERR() etc. instead of __print__(dbg.XY...) workaround (was meant for Py3 only). check-in: 256b1e5833 user: mario tags: trunk
16:21
Remove some obsolete comments/code snippets. check-in: dd605f1352 user: mario tags: trunk
2015-04-19
22:17
Implement in-application row copying per JSON (info=51, mime=json/vnd.streamtuner2.station). Fixed set_text() bug by using set("STRING",..) atom instead. check-in: 38812e4bbf user: mario tags: trunk
19:35
Experiment with a few more target types. Works with a few text editors on STRING. Most just want a uri-list, but can't handle it. check-in: e0e28edba2 user: mario tags: trunk
19:35
Add plugin defaults. check-in: 6a17061df0 user: mario tags: trunk
16:36
Implement basic exporting and conversion for drag-and-drop. Needs to buffer implicit playlist file, because data_get() gets called excessively. Still support direct M3U/PLS/XSPF transfers (should any other application ever understand it), and direct URL transmission. No import functionality yet, but internal JSON format prepared as target type. check-in: 8c7de37e5e user: mario tags: trunk
16:33
Semi-fix for brand-new initialization. Set default category from existing categories[] list. Setting the displayed path as well doesn't work yet. (It's just half-way selected after the next restart.) check-in: 1cfacd1296 user: mario tags: trunk
16:31
Bring back .base_url instead of .homepage property for HTTP requests. check-in: c6416a18df user: mario tags: trunk
16:31
Simplify uikit.do() callback for GUI updates from within threads. Search plugin led to a memory corruption due to not using it for updates. check-in: aa264c28e2 user: mario tags: trunk
2015-04-18
20:41
Add [feeds] support for Jamendo. (Pretty much only albums, so track lookup works.) Better support for configured audio format/mime. Ogg Vorbis now works in albums and playlists. check-in: 90b1672010 user: mario tags: trunk
20:39
Fix homepage url issue / quote() checks for list first now. Restructure playlist extraction into ordered dict; use in conver_playlist as probe formats. Make xml/json url decoding explicit, prepare for custom extractors (e.g. real json or xml traversal, full row/title extraction). check-in: 58d2981ca9 user: mario tags: trunk
20:37
Guard appstate_init channels.current setting for absent plugins. check-in: 24fb9b895e user: mario tags: trunk
17:19
Updated Jamendo plugin audioformat and listformat descriptors. Attempted to use v3.0 API for playlist tracks. Still no playlist API endpoint. So using a separate track requests now. Implemented a new action/playlist_convert URL extractor, which shall henceforth be known as "jamj" (JamJibberish). Fixed XML url extraction in regex mode, trivial backslash deescaping for JSON formats; and fixed multiply URL bug by copying row{} dict during conversion. check-in: 7149d92fe1 user: mario tags: trunk
17:16
Removed dnd code snippets. check-in: 1e268b6422 user: mario tags: trunk
17:15
Experimental drag and drop code snippets. (Not going to work well with other apps, only VLC tested, everything else depends on text/uri-list temp file:// URLs. Internal row dragging not implemented / no bookmarks subcats yet.) check-in: 185e42f185 user: mario tags: trunk
2015-04-17
22:15
Move PYZ shebang prefixing into `xpm` codebase. Simplifies local Makefile. Renamed PKG_PYZ into PKG_ZIP, and added extra target rules to Packfile. check-in: 9b93393d5e user: mario tags: trunk
21:14
Remove remnant module .title/etc attributes, and .current category overwriting. check-in: a7b0cd39a2 user: mario tags: trunk
21:13
Make .current a dynamic property for debugging. Skip load() update for category==None calls (doesn't happen with previous appstate). Undo default category setting. Now main.appstate_init values are used again. Don't position category liststore selection to #0. Enable "Format" station column. check-in: 99ee6c4ef4 user: mario tags: trunk
21:09
Simplify appliation state restore. Don't override old .shown status / liststore position should be handled by GenericChannel. Suppress TreeView errors when clicking on empty station list area. check-in: 2687258c8c user: mario tags: trunk
21:07
Tested fixed-width for pixbuf cellrenderer in stream lists; little effect. Set .module attribute for auxiliary windows (unused). check-in: b434d63e4e user: mario tags: trunk
21:06
Mark PIL workaround as obsolete. check-in: ee9da14a46 user: mario tags: trunk
2015-04-15
20:58
Run channel.first_show() on tab switches in a separate thread. This makes ST2 *look* snappy after initialization, and for the very first startup in particular. (Seems to work stable after all, even uncovers the HTTP statusbar updates now.) check-in: 56c215a897 user: mario tags: trunk
18:31
Move preprocessing from Makefile to Packfile, just runs on channels/search.py instead of all *.py files now. check-in: 9e4b52a0f5 user: mario tags: trunk
2015-04-14
17:03
Not implemented: `8tracks` (plugin name suffers from identifier mismatch, and it's not quite doable in ST2, because 8tracks requires feedback shortly after playback has begun; yet streamtuner can't inspect any configured audio player for actually doing so.) check-in: 327d2ed94c user: mario tags: trunk
16:57
Add old Compound★ example plugin, slightly updated for current meta data scheme. check-in: a4cb6da4ac user: mario tags: trunk
16:43
Old helper script to make streamripper add genre. Though there are `-D` pattern options that often work better. And KStreamripper or fIcy/fPls might be more modern. check-in: 39e61e9915 user: mario tags: trunk
16:39
Remove ancient dependency. (Whole favicon module needs refurbishment though. Might be feasible to turn it into a plugin meanwhile.) check-in: 6569edc420 user: mario tags: trunk
16:36
Last tagged release (2.1.6) check-in: baed88d243 user: mario tags: trunk
15:47
Move NEWS->changelog.gz conversion into xpm Packfile. check-in: b1eb48cafd user: mario tags: trunk
2015-04-13
00:32
Remove default %m3u placeholders. (Now defaulting to PLS, as supported by pretty much all players.) check-in: 3dd41a0668 user: mario tags: trunk, 2.1.6
2015-04-12
18:02
Optional plugin, retrieves raw Wiki content from Wiki.UbuntuUsers.de with country-grouped radio stations. (Will be bundled in another release.) check-in: 0f7bc40c16 user: mario tags: trunk
16:40
Prepare next beta release 2.1.6 check-in: ace13f842d user: mario tags: trunk
16:39
Fix NoneType concatenation (empty genre: entries) in cache search. check-in: 0116b55e34 user: mario tags: trunk
15:35
Add easter egg in search_dialog only for PYZ package. (Now Makefile targets require preprocess.py though). Resize GtkBuilder definition for search_dialog. check-in: 5ab206cedc user: mario tags: trunk
15:32
Fix default bitrates in static SomaFM stream list. check-in: c41b729685 user: mario tags: trunk
00:48
SomaFM.com channel plugin, with entirely static station list. check-in: 6a5133781f user: mario tags: trunk
2015-04-11
19:14
Cleanup exportcat file extension mapping, and fix docs. check-in: 2b729c9433 user: mario tags: trunk
19:14
Manually implement $XDG_MUSIC_DIR lookup. check-in: b3afb7ed76 user: mario tags: trunk
16:09
Safeguard get_data for plugin_meta(), as global or local extras would be found by module_list, but not get_data(). check-in: d781433c78 user: mario tags: trunk
16:09
Give up. Just use embedded PNG for transparent empty_pixbif. check-in: c4adfede4a user: mario tags: trunk
16:08
Fix bookmarks tab swtich on search completion. check-in: 98f8aea21d user: mario tags: trunk
14:12
Shorten first_show(). Plugins don't initialize on startup anymore, but again on first channel tab selection. Use first entry from categories as current, if none is set. Remove some obsolete code. Display now matches on fresh installations as well as with existing cache/state. check-in: e663445700 user: mario tags: trunk
14:10
Slim down first_show() in main.channel_switch(). check-in: 97a832d8f2 user: mario tags: trunk
14:06
Fix case-sensitive PLS construction and File\d+ index starting from 1. Adapt format detection regexps as well for html, and xspf xmlns. check-in: 3301815009 user: mario tags: trunk
01:20
Initialize with empty station TreeView again. Make bookmarks channel not override the behaviour. (This sort of works around the .current category mismatch after startup.) check-in: 6109a1a671 user: mario tags: trunk
2015-04-10
17:36
Move appstate restoration into init function. Implemented "quit" hook for action.cleanup_tmp_files, fixed app_restore `w.set_current_page` bug. check-in: 8622bed197 user: mario tags: trunk
17:35
Rewritten action module and playlist conversion/export works okay enough. Merged into trunk. check-in: 60f5238dc8 user: mario tags: trunk
17:34
Fix str→bytes saving for Py3. Tmplement tmp_files[] cleanup. Leaf check-in: 36c234a70b user: mario tags: action-mapfmts
16:40
Finalize allowed filename extensions for exporting. Normalize Python3 string decoding (errors='ignore' per default). Update XSPF and SMIL export. Use row={} template now, instead of just carrying over title= to rewritten playlists. check-in: e136a78c73 user: mario tags: action-mapfmts
13:50
Implement filename update in SaveAs dialog on changing FileFilter (.m3u, .pls, .xspf) extension. check-in: 0a9cb60b3a user: mario tags: action-mapfmts
11:56
Apply proper file extension to temp files (they're never cleaned up, are they?) Fix MIME type probing, strip attributes. Support Apple M3U minor type, detect GVP playlists. check-in: 59075dcc1b user: mario tags: action-mapfmts
11:55
SurfMusik actually holds .m3u playlists. check-in: 46062ce00f user: mario tags: action-mapfmts
10:54
Sync with trunk changes. check-in: 801ad7fd98 user: mario tags: action-mapfmts
10:51
Fix parent window references. check-in: a61a746c31 user: mario tags: trunk
10:50
Removed custom pls conversion code, now uses action. playlist conversion tools. check-in: c683b52003 user: mario tags: trunk
10:49
Move concrete row(), rowno(), selected(), model_iter() and play(), record() implementations from main into channels.GenericModule. check-in: 65a0b18268 user: mario tags: trunk
10:45
Update comment on rewritten action module. Add alternative MIME types for m3u and asx, spport asf detection and extraction. Fix listformat→source arg. Move save() and filename handling out of save_playlist. Fix mediafmt_t lookup and print warning when there's an audio-response on playlist fetching (and it does happen). Change myoggradio plugin "format" population, and set listformat to "mixed(..)" for automatic probing. check-in: 223368ebbf user: mario tags: action-mapfmts
02:36
Fixed ASX and SMIL playlist exporting, allowed new placeholders %xspf, %jspf, %asx, %smil for application configuration. Documented in help/ pages. check-in: 1937c5766b user: mario tags: action-mapfmts
2015-04-09
21:58
Python3 doesn't like `if [x = ...]` inline assignment trickery (kwargs out of scope). check-in: 82cf514e49 user: mario tags: action-mapfmts
21:57
Figured out how to use standard confirm-overwrite dialog (buttons were defined, but no actions associated). Removed custom msg box. check-in: 5539fcccc2 user: mario tags: action-mapfmts
14:52
Update notes on python-requests >= 2.0.0 required now (streams=True). And fix reference to `icon.png` now. check-in: 45c45d5755 user: mario tags: trunk
14:50
Still some parameter renaming in action module to do. Optional support for row={} parameter in play/record calls, in case .pls/.m3u needs to be constructed (to retain title=). Adapt action playlist exporting to wrapper object, which preconverts plain URL lists or [rows] list, can itself call convert_playlist(), and optionalized file writing. Rewrite main save() and exportcat.save() to utilize new save_playlist(). Implement overwrite confirmation for Save-as dialog. check-in: b784d408c1 user: mario tags: action-mapfmts
02:51
Use ordered list for playlist content probing. Fix listfmt() mime to abbr conversion. Allow non-http URLs for raw() extraction. check-in: babd818a96 user: mario tags: action-mapfmts
2015-04-08
23:32
Consolidate listformat types to just "pls", "m3u" and "srv". Probe for direct ICY server contact in action.playlist_convert(), unify extraction methods. check-in: 85313637a3 user: mario tags: action-mapfmts
17:59
Remove extraneous class wrapper action.action. Start to regroup listformat mapping (pls-url → m3u-fn rewrites). Will need some heuristics, as depending just on the channel.listformat assumption won't work in practice (some .pls servers actually host direct server links, or occasionally .m3u references even). Currently does nothing, just returns the pls/etc URL. check-in: ea628d6426 user: mario tags: trunk
17:57
Create new branch named "action-mapfmts" check-in: 320e271864 user: mario tags: action-mapfmts
2015-04-07
22:19
Added some notes about "Export all" plugin. List streams#actions as topic in index.page check-in: 97bb4bbfe9 user: mario tags: trunk
19:49
Split up Extensions› submenus. Register major plugins (timer, myoggradio, radiotray) as direct menu entries, but complex extensions (exportcat) as subentry still. check-in: a872fb7d36 user: mario tags: trunk
19:48
Fix main. references from bookmarks callback. check-in: 5a772b3c64 user: mario tags: trunk
19:48
Got rid of switchy() expression, use plain `cond and val or ...` chain. check-in: 30dd0c5b1f user: mario tags: trunk
05:55
Temporary export mechanism (saves whole category into .pls file). check-in: 8b7b270591 user: mario tags: trunk
05:54
Less indentation, starting to overhaul action.save() at least. (Whole `action` module is overdue.) check-in: 7726e18571 user: mario tags: trunk
05:53
Fix a few CLI bugs (doesn't work yet with dynamic module list), stub_parent() implementations for non-GUI mode should be merged. check-in: a7c3f7336a user: mario tags: trunk
05:51
Move argv initialization to conf.apply_args(). Document config: format for argparse conversion. Enable file=sys.stderr for __print__/debug messages. check-in: 1eea3140f8 user: mario tags: trunk
2015-04-06
18:55
Add workaround for ArgumentParser, which tries to map config: descriptors onto AP.add_argument(*yikes) params. check-in: 24a5fe69a1 user: mario tags: trunk
18:53
Add UserAgentSwitcher plugin. (Just for experimenting really, not required.) check-in: e8c162f72a user: mario tags: trunk
2015-04-05
22:06
Fix manual Makefile `install` rules. Update -D debug notes in README. Release as 2.1.5 (beta). check-in: b6b64a45f6 user: mario tags: trunk, 2.1.5
22:04
Provide a `-D` debugging flag and a `-d shoutcast` option to disable plugins prior startup. check-in: 08b1306823 user: mario tags: trunk
20:27
Recategorized some dbg.ERR messages, but make them displayed now regardless of conf.debug setting. check-in: 2b63a42675 user: mario tags: trunk
18:24
Make Youtube channel also default. check-in: 333ed92349 user: mario tags: trunk
18:24
Switch .meta.title attribute after UI initialization. check-in: 86cac0312e user: mario tags: trunk
18:23
Fix `local` category base url, again. Make priority: default. check-in: 76b83cd1e1 user: mario tags: trunk
18:23
Change version number in plugin settings from orange to gray. check-in: 0a4c981f66 user: mario tags: trunk
18:22
File reading in plugin_meta(): convert Py3 bytes to string. check-in: bb7e73cafb user: mario tags: trunk
16:15
Fixed some help page typos, added streamedit description, and some screenshots for the configuration window. check-in: ec3a49e365 user: mario tags: trunk
16:15
Changed pyz base path determination method (no more rx.zipfn guessing). check-in: ed1c185f7c user: mario tags: trunk
14:12
Capitalize remaining menu entries, update PNG icon to 64x64, remove examples from logo/banner template, default to size of 315·115 px. check-in: ce13199e0f user: mario tags: trunk
14:09
Update window title for currently selected category tab. check-in: a6f5f66365 user: mario tags: trunk
14:09
Wrap `gzip_decode` as fallback for Python 2. check-in: d88aab3981 user: mario tags: trunk
14:08
Manually register addon widget signals. Otherwise main keeps bugging with GtkWarnings when timer plugin is disabled. check-in: 33e106bce5 user: mario tags: trunk
14:07
Use os.path.expand* for env vars and `~` homedir placeholder. check-in: 7aafeff157 user: mario tags: trunk
14:06
Mention `make glade`, as gtk3.xml is now compressed per gzip after all. check-in: 57e4b7c323 user: mario tags: trunk
14:04
Document Makefile requirements (version, xpm/fpm), prepare manual `install` target. check-in: ff249e30f0 user: mario tags: trunk
2015-04-04
10:01
Spread out #pack: specifiers into doc files. check-in: 31995cd149 user: mario tags: trunk
10:00
Add plugin defaults now really on initialization. Safeguard in configwin. Always use gtk.STOCK_NEW for empty app fields in config_dialog (not just for new lines). check-in: 8178f6832b user: mario tags: trunk
06:06
Compress gtkBuilder file with zlib for distribution. (gzip not usable without workarounds in Python2) check-in: 780f0ca590 user: mario tags: trunk
06:03
Convert shell _pack script into sectioned Makefile. check-in: b2a6fd9de3 user: mario tags: trunk
01:50
Document fossil repo specific URLs (changelog/, cat/, trunk, version, zip/, tar/). check-in: c39a33b3da user: mario tags: trunk
01:50
Use plain module_list() for config_dialog.add_plugins() instead of traversing main.channels and main.features separately. Uses module= lookup with hardwired "channels." and ".py" retrieval. check-in: 9ed03bc901 user: mario tags: trunk
01:48
Catch HTTP errors for reload_categories(). Provide a descriptive .placeholder[] and .empty_stub[] stream list for channels reloading. check-in: 9d6c4e81f8 user: mario tags: trunk
01:46
Moved back to old `mostPolular` method. check-in: 8996e21a01 user: mario tags: trunk
01:46
Removed duplicate category entries for internet_radio plugin. check-in: 3d794f312d user: mario tags: trunk
01:45
Removed module_list() ordering, which is now handled by uikit.appstate. Documented plugin_meta() options, split out plugin_meta_extract() code. check-in: 7127c48419 user: mario tags: trunk
01:44
Removed remains of [stop] button handling. Fixed url param in homepage channel callback. check-in: 5692e6ae5d user: mario tags: trunk
2015-04-03
20:46
Removed Gtk `theme` configuration options. (Didn't work anymore.) -- Addendum: If anyone has been using this, please drop me a line; it could become a plugin now.. check-in: ad852f14fe user: mario tags: trunk
20:43
Made channel tabs reorderable. Now kept in config/window.json as `tab_order` and current page saved as `tab_current` instead of pageno. Disabled progressbar changes for ahttp, made search_server search run in a thread so status can be shown. check-in: 6fab0e7170 user: mario tags: trunk
17:37
Removed doubled radio button grouping in GtkBuilder file for search_dialog. check-in: 5377cdecb5 user: mario tags: trunk
17:36
pngopt/pngadv/pngcrushed logo banner/icon. check-in: de4406f6c3 user: mario tags: trunk
17:35
Got rid of static main.channel_names[] list. Instead now querying Gtk notebook_channels widget for current page name ordering. More plugin defaults added to ConfigDict.defaults(), as workaround for not preparsing inactive plugins on startup. check-in: 18b4da567f user: mario tags: trunk
17:33
Split out pack: specifier into `bin` and separately for help/ pages. check-in: 97fd6a532a user: mario tags: trunk
17:32
Compacter banner/logo base64, removed SVG variant. check-in: 1ed7d9a52b user: mario tags: trunk
17:31
All channel icons are now embedded into plugin meta data. check-in: 232bbb301a user: mario tags: trunk
17:30
Removed channel icon *.pngs. check-in: 0769283e02 user: mario tags: trunk
2015-04-02
22:40
Add missing `configwin` (the externalized config_dialog). Fixed gtk3.xml for gtk2 once more. Orovide find_executable() in config, used by configwin to show if configured apps are actually available. check-in: 04f700ea1c user: mario tags: trunk
18:40
Fix incorrent indendation. check-in: 85b88fac15 user: mario tags: trunk
17:38
Compact plugin comments to be more user-targetted. check-in: f5a59de6b8 user: mario tags: trunk
15:50
Initial version of Radio-Browser.info API plugin. Built-in stub favicon. (Maybe later support station submissions here too, just like MOR.) check-in: 8fcde37560 user: mario tags: trunk
15:36
Updated docs regarding manual setups/packaging. check-in: 35ffa2c130 user: mario tags: trunk
15:29
Readd MUSICgoal to bookmarks/links category (now that plugin is gone) check-in: 263968679e user: mario tags: trunk
15:29
Adapted uikit.hbox to allow left or right column to be expanded/filled. check-in: f3f635ba8d user: mario tags: trunk
15:28
Changed plugin config: options default registration to use full .meta[] now instead of just config[] list. Thus plugins can be enabled/disabled right away based on priority: field. (On first startup all channels will show up however.) check-in: a05da9d33d user: mario tags: trunk
15:27
Fix config defaults registration. check-in: b49c38af77 user: mario tags: trunk
15:26
Updated punkcast to display again, also show banners now instead of empty columns, and embedded favicon/png. check-in: 8130cc2cdc user: mario tags: trunk
15:24
Removed dirble plugin for now (new API coming in April...?) check-in: 23f4e4608e user: mario tags: trunk
2015-04-01
20:31
Update documentation files (dependencies and manual installation paths). check-in: 186f91779d user: mario tags: trunk
17:39
Add conf.get_data() alias, which automatically fetches resource relative to config module (that is, works on the global path, or within pyzip archive). Move module_list() from channels. into config, as it combines plugins and config management anyway. check-in: 07d2a291cd user: mario tags: trunk
15:49
Trim down plugin comment. check-in: c8c55c79da user: mario tags: trunk
15:47
Moved add_plugin_defaults from main into GenericChannel constructor. Check for percentage>=0 in progress indicator of statusbar. check-in: 9a4aa0b793 user: mario tags: trunk
15:45
Split extension_main and extension_context menus. Fix pixmap icon back. check-in: 04f454a7a3 user: mario tags: trunk
15:44
Fix conf.debug checking. check-in: 4997a22651 user: mario tags: trunk
15:43
Nicer error message, and compacter plugin comment. Add default config value in init. check-in: 6226dc5594 user: mario tags: trunk
15:42
More PixbufLoader workarounds for Gtk3, and get_data() casting for Python 3. check-in: f5d46dca11 user: mario tags: trunk
15:40
Register extension menu entries twice (main menu, and stream context submenu), to avert Gtk warning. check-in: 3bc568c0e4 user: mario tags: trunk
15:39
Add new packaging scheme: `bin` becomes /usr/bin/ stub, while `.zip.py` is used as __main__ handler for PYZ archive. check-in: 233327230c user: mario tags: trunk
11:19
Slimmed down channel PNGs (for eventual later .py meta stuffing). check-in: 2080496017 user: mario tags: trunk
11:18
Remove manual gtk visibility setting (show_all used now). Use fallback stock icon in case .png or png: are missing for plugins. check-in: 7edad1d952 user: mario tags: trunk
11:17
Tried SVG for logo, but Gtk refuses to play along; given up. Set progressbar to no-show-all. check-in: ef90440dbf user: mario tags: trunk
11:16
Slim down initialization (wrapper script for /usr/bin and pyzip will be used). Move module coupling into ST2 window constructor. check-in: b973f0e385 user: mario tags: trunk
11:15
Remove gtk/visibility setting in favour of show_all(). Fix pixbuf creation, b64decode ignoring non-base64 data. check-in: 1786e24701 user: mario tags: trunk
2015-03-31
19:26
Add basic menu_label= manually (GtkBuilder option seems to have no effect, only populates tab_label= with child widget.) check-in: 193527df2c user: mario tags: trunk
19:25
Made RadioTray fallback `play` available as option instead of bookmarking. check-in: b8fcd3c3e0 user: mario tags: trunk
19:24
Moved load_theme() into uikit. check-in: 964bb06ce1 user: mario tags: trunk
16:23
Example for embedding PNG resource in plugin meta data (favicon for notebook tabs). check-in: 04f6353b54 user: mario tags: trunk
16:22
Starting support for alternative genre/category sources. check-in: 3829f57e04 user: mario tags: trunk
16:21
Remove @title and @module getters, add notebook channel menu_label (unstyled variant of tab_label). Support reading `png:` descriptor field instead of literal .png files along plugins. check-in: b2d68b4b77 user: mario tags: trunk
16:19
Use `ui_xml` instead of local filename. (Read via pkgutil.get_data, so should work independently of installation path.) Add logo/banner from `logo.py` → `logo.png`. check-in: 9057171155 user: mario tags: trunk
16:17
Added pixbuf() creation method (from base64 stringified PNG to gdk.Pixbuf) check-in: 7b1ee3b5a6 user: mario tags: trunk
16:15
Removed gtk2.xml, only gtk3.xml packaged and modified at runtime. (It's just the minimum version= that needs adaption meanwhile.) check-in: dc0351d754 user: mario tags: trunk
2015-03-30
19:41
Fix regex mapping mode, switch config option to descriptors, add "asis" to avoid mapping, "root" for unmapped storage, and use "group" for genre rewrite. check-in: 8cd5bb3da2 user: mario tags: trunk
18:38
Remove custom .catmap handling (automatically saved by GenericChannel.reload_categories which invokes update_categories). check-in: ec262d679d user: mario tags: trunk
17:42
Use absolute path (conf.share) for plugin lookup with pkgutil. check-in: 665f4b36ad user: mario tags: trunk
17:41
Support netrc account lookup (for MyOggRadio). check-in: 95f6f0f64f user: mario tags: trunk
17:40
Load main module meta data. check-in: a678391248 user: mario tags: trunk
17:40
Use plugin meta data for about dialog. check-in: 2040a91410 user: mario tags: trunk
2015-03-29
16:41
Use __future__ print_function for file=sys.stderr descriptor usage. check-in: 109e332311 user: mario tags: trunk
16:40
Use absolute path for conf.share, and ensure it doesn't get overwritten from last value in settings.json. check-in: c03cbe2403 user: mario tags: trunk
15:07
Trivial update for Python 3. check-in: 92f88e7a9b user: mario tags: trunk
14:51
Mirror updates to Mallard help pages. check-in: 73b73dd933 user: mario tags: trunk
14:49
Minor updates to category: field (now displayed in config dialog.) check-in: 2a364e20fd user: mario tags: trunk
14:49
Prepare for genre matching into RadioTray groups/folders. check-in: e22c0e1c5a user: mario tags: trunk
14:47
Renamed `uikit` module. Auxiliary dialogs `streamedit` and `search` moved into plugins. Less indentation. Compacter import statements. Core plugins initialized into .features, and grayed out in configuration dialog. And `station_context_menu` moved into method. check-in: f5f0ae18c1 user: mario tags: trunk
14:44
Move search and streamedit dialogs into plugins. Less indentation. check-in: 99f122b391 user: mario tags: trunk
14:43
Rename `mygtk` to `uikit`. Move AuxiliaryWindow and About dialog from main. check-in: b9cadd6925 user: mario tags: trunk
14:41
Less indentation, update pack: list. check-in: 3c07d74bb6 user: mario tags: trunk
03:09
Moved all config[] lists into plugin meta data fields (JSOL style retained). Add channel homepages as plugin url: field. check-in: d58eeed475 user: mario tags: trunk
03:08
Use .meta[title] instead of literal property. Channel list in config_dialog completed again with disabled plugins. New tooltop for comment doc section. check-in: ead195d25c user: mario tags: trunk
03:06
More complete plugin_meta() regex patterns. Now defaults to inspect.get_comments() on previous stack frame, src= or fn= only accepted as fallback. Complete default meta fields, splits doc block out, autostrips hash prefixes and indentation. check-in: 70c2e437fd user: mario tags: trunk
03:03
Removed static .title and .module properties. Plugin discovery now realized through pkgutil.iter_modules(). check-in: 2b3b50b6ad user: mario tags: trunk
2015-03-28
18:50
Merged _generic into channels/__init__. check-in: 817010842c user: mario tags: trunk
07:41
Moved project status notes into Fossil wiki. check-in: 21947be529 user: mario tags: trunk
07:34
Minor additions, more cross references, and Mallard note icons. Document Jamendo plugin options. check-in: 89ba7b5c8e user: mario tags: trunk
07:33
Basic rewrites to transition to fully plugin meta data capable implementation. check-in: 21d6d1cf4b user: mario tags: trunk
07:32
Moved `bookmarks` channel into plugin. Implemented plugin .meta data consumption to replace .config = [] builtins. (Still need to rescan disabled channel/feature plugins later..) check-in: 9de894c13c user: mario tags: trunk
07:30
Add .deb package $DEPS. check-in: 58df0e920e user: mario tags: trunk
07:29
Remove channels.module_meta(), wich is now config.plugin_meta() and closer to plugin meta data spec. check-in: 6106a0bcdd user: mario tags: trunk
07:28
Add timeout for HTTP requests. (Bug report regarding xiph plugin and cache server blocking startup.) check-in: a2d2843470 user: mario tags: trunk
07:27
Move bookmarks channel out of main, add proper plugin description. (Can't be disabled, is still a core plugin, and manually imported anyway.) check-in: b9dc5e172c user: mario tags: trunk
07:26
Implement plugin meta data extraction in config.plugin_meta() instead of channels.__init__ check-in: acaea4439d user: mario tags: trunk
07:25
Disable some debugging, move gui_startup() to mygtk collection, allow markup for mygtk.label() text. check-in: 164043075d user: mario tags: trunk
07:24
Fix dbus ids, add genre to API (needs mapping perhaps), test against example patch. check-in: 61c7ecec61 user: mario tags: trunk
2015-03-27
19:33
Experimental plugin for bookmarking stations in RadioTray. (Doesn't work yet, feature request for `addRadio()` in RT.) But at least works the other way round already, displays radiotray stations in bookmarks category. check-in: d4c3eccf15 user: mario tags: trunk
2015-03-26
20:59
Update configuration dialog help pages. check-in: 96814a40b4 user: mario tags: trunk
18:51
Explain audio player configuration with more examples, detail options for streamripper recording. check-in: 803cb52d3f user: mario tags: trunk
2015-03-25
21:54
Exception for json decoding from SHOUTcast. (Doesn't work with older requests library.) check-in: a6b5fc3cc9 user: mario tags: trunk
21:53
Properly query "local" category. check-in: acf4baf5e4 user: mario tags: trunk
21:53
Document historic release dates. check-in: bbf9fe4a5d user: mario tags: trunk
16:32
Moved plugin structure documentation into wiki. check-in: 078c13d130 user: mario tags: trunk
15:06
Update README on required packages. check-in: 4f7ef94cda user: mario tags: trunk
14:51
Update version in meta file. check-in: 27c38daf5c user: mario tags: trunk
01:19
Release as 2.1.4 check-in: b8c3abacb6 user: mario tags: trunk, 2.1.4
01:18
Add category tree reloading (implicit capitalization of genres). check-in: 151c826bb2 user: mario tags: trunk
01:18
Document Jamenda API count always 1. check-in: f9f113c1e4 user: mario tags: trunk
01:17
Reactivate all packages. check-in: f3e22f0201 user: mario tags: trunk
01:17
Split out NEWS from README. check-in: 8519d23c4c user: mario tags: trunk
01:16
Package NEWS.gz as changelog.gz check-in: 3aadac7b99 user: mario tags: trunk
01:16
Remove musicgoal from pack: list, add tunein. check-in: 47e25b02c0 user: mario tags: trunk
00:45
Update HTML documentation. check-in: 20528550dc user: mario tags: trunk
00:30
Add stub documentation for missing channel plugins, a few more doc updates and Mallard fixes. check-in: 1c1c57d655 user: mario tags: trunk
2015-03-24
22:18
Add simple TuneIn plugin. check-in: f497b5a230 user: mario tags: trunk
21:11
Omit help/html/* pages from distribution. check-in: e6d2486ae3 user: mario tags: trunk
21:10
Updated DOM extraction for Internet-Radio.com (more crude than regex mode, as there's not much to anchor for.) check-in: e3c98a4a73 user: mario tags: trunk
21:10
Recent logo Inkscape remake. check-in: f81ad7cdb5 user: mario tags: trunk
21:09
Remove MusciGoal plugin, API seems gone. check-in: 900a5ca1af user: mario tags: trunk
21:09
Updated key. check-in: 0db0cbed82 user: mario tags: trunk
02:02
Fixed internet_radio basic regex extraction. check-in: 6c2dc3f04e user: mario tags: trunk
01:30
Minor updates to help pages. check-in: 04c9f4d564 user: mario tags: trunk
2015-02-06
18:11
Print API error, "Invalid API key". (Dirble plugin probably going to get removed...) check-in: bac0507543 user: mario tags: trunk
18:11
Fix path to streamtuner2.png banner, which now goes together with Python files under /usr/share/streamtuner2/ dir. check-in: f85edddb39 user: mario tags: trunk
18:10
Logo updated to match new banner. check-in: 011d099eaf user: mario tags: trunk
18:10
Change main fpm/xpm pack: line to select channel modules individually, use default prefix path /usr/share/streamtuner2 and absolute paths alternatively. Remove dirble module from default channels/__init__: packaging list. check-in: 088a836b02 user: mario tags: trunk
2014-12-12
16:49
Fix manpage and .desktop file according to Debian consistency patches. check-in: 36da89b5fd user: mario tags: trunk
2014-11-18
03:18
Remove bundled requests, switch build scripts to `fpm`. check-in: e0275b9c52 user: mario tags: trunk
2014-08-15
01:05
Release 2.1.3 packaged up. check-in: ebe3fc98c0 user: mario tags: trunk, 2.1.3
00:58
Reintroduced Live365 status display (gtk STOP sign for non-"PUBLIC" entries, or deleted strikethrough if server not "OK") check-in: 2bba5c0a5f user: mario tags: trunk
00:46
Make channel tab positions configurable. check-in: 395935d038 user: mario tags: trunk
2014-08-12
18:45
Allow use of custom Dirble API key. check-in: e5d39589b8 user: mario tags: trunk
18:41
Filter out duplicate streams by title check-in: 509c3b3a70 user: mario tags: trunk
16:42
IO/xiph/cache fixed (agian) to return JSON array only check-in: 706904e073 user: mario tags: trunk
16:42
Make API requests more resilient check-in: 5e18bfece0 user: mario tags: trunk
16:41
Use r"" string for literal ANSI escapes check-in: 0cb24d59af user: mario tags: trunk
2014-08-05
02:42
Optional homepage querying, stripping musicgoal stream_urls. check-in: 2b60750fdf user: mario tags: trunk
02:39
Ah, Shoutcast, switching again. → HTML extraction is now JS lexing → {genreid:} is now {genrename:} check-in: 4836962bd4 user: mario tags: trunk
2014-08-01
01:35
Initial support for Dirble.com, provides grouped categories and search feature. check-in: 7965619312 user: mario tags: trunk
01:34
catmap{} cache handling now by _generic module check-in: cda3504633 user: mario tags: trunk
2014-07-31
17:22
Adapted Live365 channel plugin for /cgi-bin/play.pls?stationid=123457&direct=1 stream URLs instead of extraction, works again check-in: 8b3cd06ff7 user: mario tags: trunk
03:23
Fixed invalid encoding in (manually edited) releases.json check-in: e5effdd595 user: mario tags: trunk
01:26
Updated README and releases.json for 2.1.2 bugfix release. check-in: 4edfd34e6b user: mario tags: trunk, 2.1.2
01:14
Shorter YT urls. check-in: 883ba616fa user: mario tags: trunk
01:14
Removed some negotation headers check-in: a30ddba7a7 user: mario tags: trunk
01:13
PLUGIN DISABLED Reads out streams now (grouping wrong), but even with session ID there's no playback of manually construed URLs. check-in: 0045ccdb36 user: mario tags: trunk
2014-07-29
23:40
Adapted to new Radionomy www.shoutcast.com UI, using JSON retrieval and a catmap now. check-in: 0c6304feef user: mario tags: trunk
2014-07-06
16:53
Preparations for autoupdating listing on freshcode.club check-in: 109d6bc678 user: mario tags: trunk
01:42
Live365 is currently broken, some retrieval URLs for documentation; albeit it's still unclear if direct streaming can be made working again. check-in: 38a62d9ca1 user: mario tags: trunk
2014-06-30
17:40
Fix MyOggRadio.org homepage now also as API. Use new ahttp module (fixed again). check-in: be67f8f19a user: mario tags: trunk
17:39
Copy() cache search rows (else channel entries got modified) check-in: a3fd4f7154 user: mario tags: trunk
2014-06-17
01:30
Wadsworth constant for youtube.com/ links check-in: 3e0cfc29b3 user: mario tags: trunk
2014-06-16
15:06
Keep last searched channel for search dialog (but avoid bookmarks) check-in: a7ee09dc9a user: mario tags: trunk
2014-06-03
00:29
Search dialog offers (x) all channels or (x) just current for server+cache scan again. Removed search="" parameter from channels that don't implement it. (To remove extraneous .has_search channel attribute again somewhen..)

External: Xiph IO cache ?search= should be changed to work on station titles instead of genres. check-in: ac8632bc29 user: mario tags: trunk

2014-06-02
01:43
Add server-search, slim down search dialog. check-in: bd29eb4ee9 user: mario tags: trunk
01:43
Remove force= parameter from update_streams check-in: 4b66ed9ef8 user: mario tags: trunk
01:42
Allow repainting bookmarks categories after channel init check-in: f17890596d user: mario tags: trunk
2014-05-31
23:32
less debug output check-in: 898d5ecf64 user: mario tags: trunk
23:32
More recent links, and injecting phase changed to hooks[init] check-in: fc5c5d8ae7 user: mario tags: trunk
23:31
more hooks: init, config_load, config_save check-in: 60a80d0570 user: mario tags: trunk
09:01
new iTunes Radio stations channel (via RoliSoft Radio Playlist generator API.) check-in: 72fbdf4b92 user: mario tags: trunk
2014-05-30
23:22
New channel module "iCast.io" as seen in VLC lua scripts. (Quite efficient, but station entries of medium quality.) check-in: 26b942d018 user: mario tags: trunk
23:21
Better cleaup of regex-extracted entries. check-in: a2142151c0 user: mario tags: trunk
23:21
Enhance configurability of language, remove default categories. check-in: 846623040b user: mario tags: trunk
2014-05-28
19:53
English-localized version of SurfMusic.de now supported check-in: 4db7cbeed2 user: mario tags: trunk
16:31
More complicated regex to extract paid stations and incomplete entries even (empty titles, or absent homepage URLs). So it gives a more complete listing than PyQuery parsing again. check-in: 141c3a22fb user: mario tags: trunk, 2.1.1
15:54
Updates for 2.1.1 release check-in: e091ecf510 user: mario tags: trunk
15:53
Set default win_config size (for Gtk3) check-in: c3c0ce1553 user: mario tags: trunk
15:52
Fix regex URL extraction. check-in: 21aac94806 user: mario tags: trunk
13:01
New logo, updated documentation. check-in: 433bf11914 user: mario tags: trunk
01:33
Simpler rx/dom alternation code. check-in: fd03da93ec user: mario tags: trunk
01:33
Prevent ComboBoxText in settings dialog to take focus when scrolling over per mousewheel. check-in: 0d8e75189e user: mario tags: trunk
01:32
Reenable update_categories. check-in: edd34bf837 user: mario tags: trunk
2014-05-27
21:46
More genre categories added. check-in: ea07946943 user: mario tags: trunk
19:17
Internet-Radio plugin restructured to alternate between regex (partially working again) and pyquery extraction (only misses a few advertised stations). Pages are now retrieved in one batch, therefore a bit faster now. check-in: 0bc6843caf user: mario tags: trunk
15:06
Update default configuration, rename internet_radio_org_uk to just internet_radio module check-in: 99d4249ef4 user: mario tags: trunk
12:37
ListStore row editing callback unified via lambda-funcs as signal handlers. Recording hook adapted to pass actual MIME type. Python3 try/except for json file writing (still breaks due to gzip handler being optional). check-in: af5ae3f5be user: mario tags: trunk
00:44
conf.record{} array is back, settings dialog now shows a separate editable table; default options prepared for `youtube-dl` video downloading. Action module now more orderly tries alternative media/* placeholders. check-in: 199c0ad425 user: mario tags: trunk
00:42
Jamendo stream format selection now uses dropdown too. check-in: 53b4c85039 user: mario tags: trunk
2014-05-26
21:18
Reorganized Jamendo plugin to simplify API calls. check-in: ca359689bf user: mario tags: trunk
20:21
Shoutcast: retry regex/dom really alternatively now (not just on exceptions, but also empty result sets) check-in: 61a51c29f9 user: mario tags: trunk
19:59
Retry regex after PyQuery extraction mode (or other way round). check-in: 696a0ab060 user: mario tags: trunk
16:32
Comment out dbg.DATA prints, add some statusbar updating calls. check-in: fd4a1b208c user: mario tags: trunk
15:32
Move status.progressbar init and cleanup into GenericChannel.load() check-in: 8c1da4e0f7 user: mario tags: trunk
14:06
New Freebase topic IDs, fix progressbar for multi-page collecting. check-in: 95166f7d96 user: mario tags: trunk
14:05
Fix ProgressBar for Py2, don't use default steps in HTTP retrieval. check-in: c5251618b3 user: mario tags: trunk
03:00
Youtube video browsing channel replaces DMOZ listings. check-in: 404f0b4329 user: mario tags: trunk
2014-05-25
17:23
Simplify streamedit_ by reusing config_dialog.load_config() (Also allows to use a liststore table later..) check-in: 927dc82086 user: mario tags: trunk
16:36
Allow to supply ordered (key,value) list[] to mygtk.ComboBoxText. Config specifiers can use ID=abc|XY=xyz|... now. check-in: 7b5b2a40e8 user: mario tags: trunk
11:57
Use mygtk.ComboBoxText also for theme switcher button. Moved .vbox and .label creating into mygtk, ComboBoxText.set_default() now automatically adds non-predeclated/custom value at end of liststore. check-in: 9ad64ad53a user: mario tags: trunk
00:42
Convert jamendo preview image sizes into [dropdown] options. check-in: 9c420b0231 user: mario tags: trunk
00:41
Add custom ComboBoxText for [select] list plugin config options. check-in: bcbd6a4624 user: mario tags: trunk
2014-05-19
19:27
Adds new [history] category in [bookmarks] tab; which lists last played stations. check-in: 6c60cc3c77 user: mario tags: trunk
19:27
update config dialog check-in: 9d4259a324 user: mario tags: trunk
19:26
add hooks{} support check-in: d34fb69dda user: mario tags: trunk
2014-05-15
20:07
Better probe for None and empty "" string in titles or urls check-in: 9bfbde8091 user: mario tags: trunk
20:04
Readd missing regex module. check-in: c6e5353c19 user: mario tags: trunk
19:45
and conf.pyquery default, so it's not forgotten by config_dialog.save_config check-in: bc473dc5da user: mario tags: trunk
2014-05-14
23:44
New mime/app configuration screen in an editable ListStore. Players, recording hook and browser are now mixed up in conf.play{} check-in: 0edaf9402f user: mario tags: trunk
2014-05-13
23:55
narrower options in settings dialog check-in: d6fb6f5d65 user: mario tags: trunk
22:12
Fix association of surfmusik.de stream URLs to station titles. check-in: 4723508e41 user: mario tags: trunk
22:11
Convert string to bytes for gzip-json writing (Python3) check-in: 77c8394885 user: mario tags: trunk
21:04
Mirror config dialog changes to Gtk3 ui file check-in: 74bf77f074 user: mario tags: trunk
21:00
Exchange audio/mp3 for standard audio/mpeg MIME type. check-in: 220ee1286a user: mario tags: trunk
19:58
Some surfmusik category fixes, support for TV channel retrieval check-in: 3e7da2fdba user: mario tags: trunk
18:18
Introduce SurfMusik.de channel (original on Ubuntu forums, a bit rewritten to accomodate that changed HTML and more categories) check-in: db4dea4fcb user: mario tags: trunk
18:16
Fix missing mygtk import check-in: 2ccad59967 user: mario tags: trunk
16:23
Completer plugin meta data blocks, now utilized in channel settings dialog for nicer descriptions. check-in: fff3b62827 user: mario tags: trunk
03:26
Make config.pyquery and config.debug global options. check-in: 3b842c85a3 user: mario tags: trunk
03:26
More Jamendo options, allow to load more than 200 entries each. check-in: 968e584316 user: mario tags: trunk
03:25
Minor default setting tweaks. check-in: 6780ddd151 user: mario tags: trunk
03:25
Regrouped config dialog settings. check-in: 1818d826d6 user: mario tags: trunk
2014-05-12
20:10
Enable empty entries=[] display in mygtk.columns (empty channels/categories/bookmarks) check-in: fa410c856a user: mario tags: trunk
2014-05-11
01:21
load Jamendo images in favour of favicons check-in: 6d065627b5 user: mario tags: trunk
2014-05-10
21:40
Skip new_streams with undefined title or url check-in: 3c94abea16 user: mario tags: trunk
2014-05-09
00:01
Support /get2/ URLs for albums and playlists now. Genres are queried for /tracks. check-in: 590edd0877 user: mario tags: trunk
2014-05-08
20:02
Introduce channel.has_search flag check-in: 08de3d2f45 user: mario tags: trunk
20:02
Added tracks(genres), albums, and playlists; none of the API streaming URLs work yet check-in: 21152c0d6e user: mario tags: trunk
20:01
simpler HTTP signature check-in: 5fba8a2956 user: mario tags: trunk
2014-05-04
23:14
merge Xiph plugin with JSON query back in, enable per default again check-in: 8a39e17e4b user: mario tags: trunk
23:11
more xiph category reordering Leaf check-in: d8ffa831d0 user: mario tags: xiphjson
18:27
Tie to new json cache API, update categories by themselves (no big "all" download anymore), and add new unwieldy categories check-in: ddb65cf0aa user: mario tags: xiphjson
02:15
Utilize caching interface on IO for Xiph.org´s JSON API check-in: 4e7851c986 user: mario tags: xiphjson
2014-04-28
02:13
changelog for 2.1.0 check-in: 5005ad1f3b user: mario tags: trunk, 2.1.0
02:05
Disable xiph plugin per default, introduce requests.Session() support for implicit cookies check-in: 539c433d31 user: mario tags: trunk
02:05
Update for 2.1.0 files check-in: 7863a3ff19 user: mario tags: trunk
00:42
include bundle/* in src package check-in: 53a3607d70 user: mario tags: trunk
00:42
Jamendo browser disabled, only shows fixed list of radio stations now. check-in: 3dde6b82b2 user: mario tags: trunk
00:19
Adapted DMOZ retrieval to changed HTML check-in: a44d5a6e74 user: mario tags: trunk
2014-04-27
23:33
Experimental Xiph.org JSON API (doesn't work) check-in: a1c4d0960a user: mario tags: xiphjson
22:48
Fully replace ahttp.ajax with ahttp.get() wrapper check-in: b9af78503d user: mario tags: trunk
22:19
Python3 support back into trunk check-in: 9ecea4fb26 user: mario tags: trunk
21:46
Include `requests`, which is now used in ahttp in favour of urllib2 Leaf check-in: 9e0065d508 user: mario tags: py3
19:23
create bundle/ subdirectory for included python libs check-in: 3c5ead99ef user: mario tags: py3
2014-04-18
00:06
Some typos fixed in the docs. check-in: edf5668ef9 user: mario tags: py3
2014-04-14
00:18
Update dependencies check-in: cf35ca32c0 user: mario tags: py3
2014-04-13
23:52
Duplicate docs for fossil wiki check-in: 485cf1b186 user: mario tags: py3
2014-04-11
22:22
Fixed syntax error in deleted_streams diff check-in: 4b78a4eba1 user: mario tags: py3
02:54
Open json/config files in text mode check-in: 8e8ad5dfeb user: mario tags: py3
02:53
use compat2and3.urllib functions check-in: f56be1b41d user: mario tags: py3
02:53
Add icons check-in: 9525b6b42e user: mario tags: py3
02:28
basic.ch is no more check-in: 00f1bd3fd7 user: mario tags: py3
02:27
no more TV listings on Shoutcast check-in: c8dcfb540d user: mario tags: py3
01:24
remove pson fallback check-in: eabee8e3c9 user: mario tags: py3
2014-04-10
04:31
* Fixed gtk_list_store_get_value: assertion `column < list_store->n_columns' by removing {width:20} reference from treeview datamap. * row.setdefault() for absent search_col/set and deleted state * More __print__/dbg colorization * Disabled pson.filter_data in favour of str casting in mygtk.columns() * Removed streamactions.popup PY2/PY3 workaround with named args * More .iteritems() removal check-in: 1beab0563e user: mario tags: py3
2014-04-09
00:23
Temporary fix for Gtk undefined color warnings, workaround for changed GtkMenu.popup() signature in Gtk3. Debug colors for mygtk.columns() creation. check-in: 489da08a74 user: mario tags: py3
2014-04-08
22:16
Add unicode() vs str() to compat2and3 check-in: 0458e0e0d1 user: mario tags: py3
21:53
fix dict + dict back into list join check-in: d09e020ecf user: mario tags: py3
21:50
more Python3 syntax fixes, introduce compat2and3 module check-in: 7911337325 user: mario tags: py3
21:16
rename http to ahttp to avoid conflict with Python3 modules, change .iteritems and xrange, remove same remaining plain print statements check-in: d3b1418bc6 user: mario tags: py3
2014-04-07
00:33
Move __print__ into config, add unified dbg.COLOR codes check-in: 7ef1553f61 user: mario tags: trunk
2014-04-06
02:16
rename ui.xml to gtk2.xml for parity with gtk3.xml; Gtk3 suddenly works with gi 1.33 (well, lots of errors still, but main window ok) check-in: e7a0fb24c8 user: mario tags: trunk
01:20
removed old version reading script check-in: b86ffcdfd1 user: mario tags: trunk
00:34
pyquery/* has been removed from package inventory, update :rpmspec format for `version` updates check-in: 38d400b3c8 user: mario tags: trunk
00:33
disable TV and and basic.ch per default (not working) check-in: 93f5cebd40 user: mario tags: trunk
00:32
Prevent failed channel modules to attach as notebook tabs in main window check-in: 2ae06bba02 user: mario tags: trunk
00:31
initalize module path before loading custom (mygtk) modules check-in: 6c30f68652 user: mario tags: trunk, 2.0.9.5-dev
2014-04-05
23:35
undo disabling of ---url and ---format fields check-in: 893fb7e5ce user: mario tags: trunk
23:33
bump User-Agent version number check-in: 9bbdaaf8f4 user: mario tags: trunk
23:33
Use fractions instead of floats, to reduce ambiguity for version:_raw_ meta update check-in: c71701ad73 user: mario tags: trunk
23:32
use new `version` command line tool check-in: 62b4121741 user: mario tags: trunk
23:17
Fix regex parsing for new sparse shoutcast.com check-in: 3a5e6068b9 user: mario tags: trunk
2014-01-06
22:45
prepare for gtk3 check-in: c0702405f8 user: mario tags: trunk
2014-01-05
03:30
fixed channels/timer gtk signal_connect handling, st2main now provides an amendable slot dict check-in: 41405a6488 user: mario tags: trunk
01:23
fix Pixbuf has_alpha bug due to redundant typecast prior liststore appending check-in: caee086b9c user: mario tags: trunk, 2.0.9
2014-01-04
22:37
Live365 fixed by Abhisek Sanyal check-in: 0cf2739b13 user: mario tags: trunk
22:25
live365 now searches javascript check-in: f0cd5d48f2 user: mario tags: trunk
2012-01-12
14:39
(no comment) check-in: ff3473b8ec user: mario tags: trunk
2012-01-10
03:54
shoutcast parsing patch from Vincent check-in: d9e9441d2d user: mario tags: trunk
03:49
minor gui tweaks check-in: f2592fc1e4 user: mario tags: trunk
03:47
windows patches from Vincent check-in: 4298cc4385 user: mario tags: trunk
00:09
Updated win_config dialog, made it resizable. mini-help is disabled (tooltip became tooltip_text in preparation for Gtk3), glade-3.10 killed the "theme" dropdown. check-in: d5904985a0 user: mario tags: trunk
2012-01-09
21:13
transition from libglade to gtk.Builder, ui file might be still borked (gtk-builder-convert drops menu, glade-gtk2 3.8.0 is the last to work, but gives massive warnings) check-in: 0a107286ea user: mario tags: trunk
03:47
distribution files check-in: d690b96796 user: mario tags: trunk
03:45
gnome help files check-in: c2c3526ac3 user: mario tags: trunk