Timeline
50 most recent check-ins occurring on or after 2015-04-14 17:03:30.
More ↑
2015-04-24
| ||
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 | |