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

⌈⌋ ⎇ branch:  streamtuner2


Timeline

137 check-ins using file action.py version 6e1dac85dc

2015-04-01
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