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

⌈⌋ ⎇ branch:  streamtuner2


Check-in [8a68105eeb]

Overview
Comment:Delay window title updating logic and ui_cht callback via uikit.do() wrapper.

Seems to fix both: - Gdk:ERROR:/build/buildd/gtk+2.0-2.24.23/gdk/gdkregion-generic.c:1114:miUnionNonO: assertion failed: (r->x1 < r->x2) - Error in `python': double free or corruption (fasttop): 0x0.....

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 8a68105eeb1b2928648be5b5ad20b26555e34756
User & Date: mario on 2015-05-18 22:19:42
Other Links: manifest | tags
Context
2015-05-18
22:21
Allow Exif-wrapped JPEGs as well (not just JFIF regexp check). Comment on merging row["favourite"] merge via prepare_filters list. check-in: 6d03cb84d3 user: mario tags: trunk
22:19
Delay window title updating logic and ui_cht callback via uikit.do() wrapper.

Seems to fix both: - Gdk:ERROR:/build/buildd/gtk+2.0-2.24.23/gdk/gdkregion-generic.c:1114:miUnionNonO: assertion failed: (r->x1 < r->x2) - Error in `python': double free or corruption (fasttop): 0x0..... check-in: 8a68105eeb user: mario tags: trunk

00:30
Typecast str() for bookmarks.is_in() url lookups → redundant. (Prepare for merging columns-update hook.) check-in: 0977371de1 user: mario tags: trunk
Changes

Modified Makefile from [5237489135] to [75ad58880f].

80
81
82
83
84
85
86
87

88
80
81
82
83
84
85
86

87
88







-
+

	$(INST)		*.desktop	-t /usr/share/applications/
	$(INST)		icon.png	/usr/share/pixmaps/streamtuner2.png
	$(INST)		help/str*2.1	-t /usr/share/man/man1/

# start locally
st2: run
run:
	python -B ./st2.py -D
	MALLOC_CHECK_=2	 PYTHONVERBOSE=2  python -B  ./st2.py -D

Modified st2.py from [00795f8f6f] to [90a3b1d53c].

240
241
242
243
244
245
246

247

248
249
250
251

252
253
254
255
256
257
258
259
240
241
242
243
244
245
246
247

248
249
250


251

252
253
254
255
256
257
258







+
-
+


-
-
+
-







        return self.channel_names[self.notebook_channels.get_current_page()]
    
        
    # Notebook tab has been clicked (receives numeric page_num), but *NOT* yet changed (visually).
    def channel_switch(self, notebook, page, page_num=0, *args):
        self.current_channel = notebook.get_menu_label_text(notebook.get_nth_page(page_num))
        log.UI("main.channel_switch() :=", self.current_channel)
        # update window title, call plugin (e.g. channel link in toolbar)
        self.update_title()
        uikit.do(self.update_title)
        # if first selected, load current category
        # (run in thread, to make it look speedy on first startup)
        self.thread( 
          self.channel().first_show
        self.thread(self.channel().first_show)
        )

    # Invoked from the menu instead, uses module name instead of numeric tab id
    def channel_switch_by_name(self, name):
        self.notebook_channels.set_current_page(self.channel_names.index(name))

    # Mirror selected channel tab into main window title
    def update_title(self, *x, **y):