<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Qball's Weblog &#187; gmpc</title>
	<atom:link href="http://blog.sarine.nl/category/gmpc/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sarine.nl</link>
	<description>Beati pauperes spiritu</description>
	<lastBuildDate>Tue, 17 Jan 2012 20:33:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>GMPC 11.8 Win32 Release</title>
		<link>http://blog.sarine.nl/2011/12/29/gmpc-11-8-win32-release/</link>
		<comments>http://blog.sarine.nl/2011/12/29/gmpc-11-8-win32-release/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 15:15:04 +0000</pubDate>
		<dc:creator>Qball</dc:creator>
				<category><![CDATA[gmpc]]></category>

		<guid isPermaLink="false">http://blog.sarine.nl/?p=1065</guid>
		<description><![CDATA[Thanks to Avuton, there is now a working windows 32 build of GMPC 11.8. You can download it here: Portable app: http://download.sarine.nl/Programs/gmpc/11.8.16/GmpcPortable_11.8.16_English.paf.exe Installer: http://download.sarine.nl/Programs/gmpc/11.8.16/gmpc-11.8.16-win32.exe Files: http://download.sarine.nl/Programs/gmpc/11.8.16/gmpc-11.8.16-win32.7z Again, big thanks to avuton for building these. &#160;]]></description>
			<content:encoded><![CDATA[<p>Thanks to Avuton, there is now a working windows 32 build of GMPC 11.8.</p>
<p>You can download it here:</p>
<p>Portable app: <a href="http://download.sarine.nl/Programs/gmpc/11.8.16/GmpcPortable_11.8.16_English.paf.exe">http://download.sarine.nl/Programs/gmpc/11.8.16/GmpcPortable_11.8.16_English.paf.exe</a></p>
<p>Installer: <a href="http://download.sarine.nl/Programs/gmpc/11.8.16/gmpc-11.8.16-win32.exe">http://download.sarine.nl/Programs/gmpc/11.8.16/gmpc-11.8.16-win32.exe</a></p>
<p>Files: <a href="http://download.sarine.nl/Programs/gmpc/11.8.16/gmpc-11.8.16-win32.7z">http://download.sarine.nl/Programs/gmpc/11.8.16/gmpc-11.8.16-win32.7z</a></p>
<p>Again, big thanks to avuton for building these.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sarine.nl/2011/12/29/gmpc-11-8-win32-release/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>GMPC Windows Builds</title>
		<link>http://blog.sarine.nl/2011/12/18/gmpc-windows-builds/</link>
		<comments>http://blog.sarine.nl/2011/12/18/gmpc-windows-builds/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 15:20:22 +0000</pubDate>
		<dc:creator>Qball</dc:creator>
				<category><![CDATA[gmpc]]></category>

		<guid isPermaLink="false">http://blog.sarine.nl/?p=1054</guid>
		<description><![CDATA[Avuton has done some great work recently on the windows builds. So hopefully we can provides builds again for the next release. A screenshot says more then 1000 words:]]></description>
			<content:encoded><![CDATA[<p>Avuton has done some great work recently on the windows builds. So hopefully we can provides builds again for the next release.</p>
<p>A screenshot says more then 1000 words:<br />
<a href="http://anpmech.com/gmpc-git-win32.png"><img alt="" src="http://anpmech.com/gmpc-git-win32.png" class="alignnone" width="1522" height="855" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sarine.nl/2011/12/18/gmpc-windows-builds/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Users, bug reports and I am at a loss</title>
		<link>http://blog.sarine.nl/2011/12/16/users-bug-reports-and-i-am-at-a-loss/</link>
		<comments>http://blog.sarine.nl/2011/12/16/users-bug-reports-and-i-am-at-a-loss/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 09:44:26 +0000</pubDate>
		<dc:creator>Qball</dc:creator>
				<category><![CDATA[gmpc]]></category>
		<category><![CDATA[Grind My Gears]]></category>

		<guid isPermaLink="false">http://blog.sarine.nl/?p=1051</guid>
		<description><![CDATA[Maybe I should just stop doing opensource stuff, it seems I am totally unsuited for this: See http://musicpd.org/mantis/view.php?id=3394. Am I this wrong? I know I am direct and often somewhat blunt.. But this guy frustrates the f*** out of me. Because If I am supposed to accept this crap from users, I should not have <a href="http://blog.sarine.nl/2011/12/16/users-bug-reports-and-i-am-at-a-loss/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Maybe I should just stop doing opensource stuff, it seems I am totally unsuited for this:</p>
<p>See <a href="http://musicpd.org/mantis/view.php?id=3394">http://musicpd.org/mantis/view.php?id=3394</a>.</p>
<p>Am I this wrong?  I know I am direct and often somewhat blunt.. But this guy frustrates the f*** out of me.<br />
Because If I am supposed to accept this crap from users, I should not have users..<br />
Please tell me If I am crossing the line.. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sarine.nl/2011/12/16/users-bug-reports-and-i-am-at-a-loss/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>GMPC Keybinding highlights</title>
		<link>http://blog.sarine.nl/2011/11/09/gmpc-keybinding-highlights/</link>
		<comments>http://blog.sarine.nl/2011/11/09/gmpc-keybinding-highlights/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 18:57:45 +0000</pubDate>
		<dc:creator>Qball</dc:creator>
				<category><![CDATA[gmpc]]></category>

		<guid isPermaLink="false">http://blog.sarine.nl/?p=1038</guid>
		<description><![CDATA[This is something I saw a long time ago in microsoft office and I recently discovered that unity does something similar for its dock. So today in the train I wrote a small widget that can do this in GTK. It turned out not to be 100% trivial. What you want todo is draw something <a href="http://blog.sarine.nl/2011/11/09/gmpc-keybinding-highlights/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is something I saw a long time ago in microsoft office and I recently discovered that unity does something similar for its dock. So today in the train I wrote a small widget that can do this in GTK. It turned out not to be 100% trivial.</p>
<p>What you want todo is draw something &#8216;on top&#8217; off an existing widget, preferable without modifying that widget. In the end I made the following solution:</p>
<p>You have a special container class (GmpcWidgetsOverlay), you pack the widget  that should have the highlight in this widget. This container overrides the expose event, first calls the widget that is contained, then optinally draws the highlight on top. (this seems to work very well.)</p>
<p>So now in GMPC if you press ALT key, on the play buttons and status icons you get a small box with the key you should hit to activate it. It aint perfect yet, but so far it works:</p>
<p>&nbsp;</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1038code2'); return false;">View Code</a> CSHARP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p10382"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
</pre></td><td class="code" id="p1038code2"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">Gtk</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">FixGtk</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">namespace</span> Gmpc
<span style="color: #008000;">&#123;</span>
	<span style="color: #0600FF; font-weight: bold;">namespace</span> Tools
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> BindingOverlayNotify <span style="color: #008000;">:</span> GLib<span style="color: #008000;">.</span><span style="color: #6666cc; font-weight: bold;">Object</span>, FixGtk<span style="color: #008000;">.</span><span style="color: #0000FF;">Buildable</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0600FF; font-weight: bold;">private</span> Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">ModifierType</span> keys <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
			<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> name <span style="color: #008000;">&#123;</span>get<span style="color: #008000;">;</span> set<span style="color: #008000;">;</span> <span style="color: #0600FF; font-weight: bold;">default</span><span style="color: #008000;">=</span><span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">;</span><span style="color: #008000;">&#125;</span>
			<span style="color: #008080; font-style: italic;">// Buildable stuff</span>
			<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> set_name<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> name<span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">name</span><span style="color: #008000;">=</span> name<span style="color: #008000;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0600FF; font-weight: bold;">public</span> unowned <span style="color: #6666cc; font-weight: bold;">string</span> get_name<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">name</span><span style="color: #008000;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> key_pressed<span style="color: #008000;">&#40;</span>Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">ModifierType</span> key<span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				keys <span style="color: #008000;">|=</span> key<span style="color: #008000;">;</span>
				state_changed<span style="color: #008000;">&#40;</span>keys<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> key_released<span style="color: #008000;">&#40;</span>Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">ModifierType</span> key<span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
&nbsp;
				keys <span style="color: #008000;">&amp;</span>amp<span style="color: #008000;">;=</span> ~key<span style="color: #008000;">;</span>
				state_changed<span style="color: #008000;">&#40;</span>keys<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #008000;">&#125;</span>
&nbsp;
			<span style="color: #0600FF; font-weight: bold;">public</span> signal <span style="color: #6666cc; font-weight: bold;">void</span> state_changed<span style="color: #008000;">&#40;</span>Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">ModifierType</span> cur_state<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0600FF; font-weight: bold;">namespace</span> Widgets
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> Overlay <span style="color: #008000;">:</span> Gtk<span style="color: #008000;">.</span><span style="color: #0000FF;">EventBox</span>, Gtk<span style="color: #008000;">.</span><span style="color: #0000FF;">Buildable</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0600FF; font-weight: bold;">public</span> Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">ModifierType</span> modifier <span style="color: #008000;">&#123;</span>get<span style="color: #008000;">;</span> set<span style="color: #008000;">;</span> <span style="color: #0600FF; font-weight: bold;">default</span> <span style="color: #008000;">=</span> Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">ModifierType</span><span style="color: #008000;">.</span><span style="color: #0000FF;">MOD1_MASK</span><span style="color: #008000;">;</span><span style="color: #008000;">&#125;</span>
			<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> show_overlay <span style="color: #008000;">&#123;</span>get<span style="color: #008000;">;</span> set<span style="color: #008000;">;</span> <span style="color: #0600FF; font-weight: bold;">default</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span><span style="color: #008000;">&#125;</span>
			<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> overlay_text <span style="color: #008000;">&#123;</span>get<span style="color: #008000;">;</span> set<span style="color: #008000;">;</span> <span style="color: #0600FF; font-weight: bold;">default</span><span style="color: #008000;">=</span> <span style="color: #666666;">&quot;left&quot;</span><span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
			construct<span style="color: #008000;">&#123;</span>
				<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">set_app_paintable</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0600FF; font-weight: bold;">private</span> Tools<span style="color: #008000;">.</span><span style="color: #0000FF;">BindingOverlayNotify</span> notifier <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
			<span style="color: #0600FF; font-weight: bold;">public</span> Tools<span style="color: #008000;">.</span><span style="color: #0000FF;">BindingOverlayNotify</span> binding_overlay_notifier <span style="color: #008000;">&#123;</span>
				get<span style="color: #008000;">&#123;</span>
					<span style="color: #0600FF; font-weight: bold;">return</span> notifier<span style="color: #008000;">;</span>
				<span style="color: #008000;">&#125;</span>
				set <span style="color: #008000;">&#123;</span>
					<span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span>notifier <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
						notifier<span style="color: #008000;">.</span><span style="color: #0000FF;">state_changed</span><span style="color: #008000;">.</span><span style="color: #0000FF;">disconnect</span><span style="color: #008000;">&#40;</span>key_changed<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
					<span style="color: #008000;">&#125;</span>
					notifier <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span>
					notifier<span style="color: #008000;">.</span><span style="color: #0000FF;">state_changed</span><span style="color: #008000;">.</span><span style="color: #0000FF;">connect</span><span style="color: #008000;">&#40;</span>key_changed<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
				<span style="color: #008000;">&#125;</span>
			<span style="color: #008000;">&#125;</span>
&nbsp;
			<span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> key_changed<span style="color: #008000;">&#40;</span>Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">ModifierType</span> cur_state<span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>cur_state<span style="color: #008000;">&#41;</span> <span style="color: #008000;">==</span> modifier<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
					show_overlay <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
				<span style="color: #008000;">&#125;</span><span style="color: #0600FF; font-weight: bold;">else</span><span style="color: #008000;">&#123;</span>
					show_overlay <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
				<span style="color: #008000;">&#125;</span>
				<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">queue_draw</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #008000;">&#125;</span>
&nbsp;
			<span style="color: #0600FF; font-weight: bold;">public</span> Overlay<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
			<span style="color: #008000;">&#125;</span>
&nbsp;
			<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">bool</span> expose_event<span style="color: #008000;">&#40;</span>Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">EventExpose</span> <span style="color: #0600FF; font-weight: bold;">event</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #008080; font-style: italic;">// Draw the child of this box.</span>
				var w <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span> <span style="color: #0600FF; font-weight: bold;">as</span> Gtk<span style="color: #008000;">.</span><span style="color: #0000FF;">Bin</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">get_child</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
				w<span style="color: #008000;">.</span><span style="color: #0000FF;">expose_event</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">event</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
				<span style="color: #008080; font-style: italic;">// </span>
				<span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span>show_overlay<span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					var ct <span style="color: #008000;">=</span> Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">cairo_create</span><span style="color: #008000;">&#40;</span>window<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
					<span style="color: #6666cc; font-weight: bold;">int</span> pw,ph<span style="color: #008000;">;</span>
					var l <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">create_pango_layout</span><span style="color: #008000;">&#40;</span>overlay_text<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
					Gtk<span style="color: #008000;">.</span><span style="color: #0000FF;">Allocation</span> cell_area <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">allocation</span><span style="color: #008000;">;</span>
					l<span style="color: #008000;">.</span><span style="color: #0000FF;">get_pixel_size</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">out</span> pw, <span style="color: #0600FF; font-weight: bold;">out</span> ph<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
					ct<span style="color: #008000;">.</span><span style="color: #0000FF;">set_source_rgb</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">0.8</span>,<span style="color: #FF0000;">0</span>,<span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008080; font-style: italic;">//					Gdk.cairo_set_source_color(ct, this.style.bg[Gtk.StateType.SELECTED]);</span>
					ct<span style="color: #008000;">.</span><span style="color: #0000FF;">rectangle</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">1</span>, cell_area<span style="color: #008000;">.</span><span style="color: #0000FF;">height</span><span style="color: #008000;">/</span><span style="color: #FF0000;">2</span><span style="color: #008000;">-</span>ph<span style="color: #008000;">/</span><span style="color: #FF0000;">2</span><span style="color: #008000;">-</span><span style="color: #FF0000;">0.5</span>, pw<span style="color: #008000;">+</span><span style="color: #FF0000;">4</span>, ph<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
					ct<span style="color: #008000;">.</span><span style="color: #0000FF;">fill_preserve</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
					Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">cairo_set_source_color</span><span style="color: #008000;">&#40;</span>ct, <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">style</span><span style="color: #008000;">.</span><span style="color: #0000FF;">text</span><span style="color: #008000;">&#91;</span>Gtk<span style="color: #008000;">.</span><span style="color: #0000FF;">StateType</span><span style="color: #008000;">.</span><span style="color: #0000FF;">SELECTED</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
					ct<span style="color: #008000;">.</span><span style="color: #0000FF;">stroke</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
					ct<span style="color: #008000;">.</span><span style="color: #0000FF;">move_to</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">3</span>, cell_area<span style="color: #008000;">.</span><span style="color: #0000FF;">height</span><span style="color: #008000;">/</span><span style="color: #FF0000;">2</span><span style="color: #008000;">-</span>ph<span style="color: #008000;">/</span><span style="color: #FF0000;">2</span><span style="color: #008000;">-</span><span style="color: #FF0000;">1.5</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
					Gdk<span style="color: #008000;">.</span><span style="color: #0000FF;">cairo_set_source_color</span><span style="color: #008000;">&#40;</span>ct,<span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">style</span><span style="color: #008000;">.</span><span style="color: #0000FF;">fg</span><span style="color: #008000;">&#91;</span>Gtk<span style="color: #008000;">.</span><span style="color: #0000FF;">StateType</span><span style="color: #008000;">.</span><span style="color: #0000FF;">SELECTED</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
					Pango<span style="color: #008000;">.</span><span style="color: #0000FF;">cairo_show_layout</span><span style="color: #008000;">&#40;</span>ct, l<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
					ct<span style="color: #008000;">.</span><span style="color: #0000FF;">stroke</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
				<span style="color: #008000;">&#125;</span>
				<span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
			<span style="color: #008000;">&#125;</span>
&nbsp;
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>As you can see in the above code I needed to make a quick hack in vala to fix the Gtk.Buildable bindings. (replace abstract with virtual) with this fix, you can use this widget from GtkBuilder.<br />
There is also a notification object (also usable from gtkbuilder) that notifies the widgets off the key press.</p>
<p>As I said it aint done, but seems to be nice allready.</p>
<p><a href="http://blog.sarine.nl/wp-content/uploads/2011/11/gmpc-keyboard-highlight.png"><img class="alignleft size-thumbnail wp-image-1039" title="gmpc-keyboard-highlight" src="http://blog.sarine.nl/wp-content/uploads/2011/11/gmpc-keyboard-highlight-150x150.png" alt="" width="150" height="150" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sarine.nl/2011/11/09/gmpc-keybinding-highlights/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnome Music Player 11.11,</title>
		<link>http://blog.sarine.nl/2011/11/06/gnome-music-player-11-11/</link>
		<comments>http://blog.sarine.nl/2011/11/06/gnome-music-player-11-11/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 12:59:31 +0000</pubDate>
		<dc:creator>Qball</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[gmpc]]></category>

		<guid isPermaLink="false">http://blog.sarine.nl/?p=1013</guid>
		<description><![CDATA[When doing the latest release (11.8) I planned to make another release this month (11.11). But as it currently looks this is going to be a problem. Again help welcome. Because off lack of time on my side and the magic vanishing action of  LibertyZero I strongly doubt I will will be able to make <a href="http://blog.sarine.nl/2011/11/06/gnome-music-player-11-11/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When doing the latest release (11.8) I planned to make another release this month (11.11). But as it currently looks this is going to be a problem. Again help welcome.</p>
<p>Because off lack of time on my side and the magic vanishing action of  LibertyZero I strongly doubt I will will be able to make a release this month. (Crap)</p>
<p>But a changelog so far:</p>
<h1>What&#8217;s New in 11.11</h1>
<ul>
<li>New sidebar. (<a title="GMPC Sidebar work" href="http://blog.sarine.nl/2011/10/11/gmpc-sidebar-work/">more info here</a>) Different view, ordering into categories, etc.</li>
<li>Removing status bar, moving status icons into sidebar.</li>
<li>Changed collapsed mode. (<a title="GMPC Sidebar work" href="http://blog.sarine.nl/2011/10/11/gmpc-sidebar-work/">more info here</a>)</li>
<li>Fixed keybindings for browsers and keybinding highlight mode. (<a title="GMPC keybinding ‘help’" href="http://blog.sarine.nl/2011/11/04/gmpc-keybinding-help/">more info</a>)</li>
<li>Move to <a title="GLYR" href="https://github.com/sahib/glyr" target="_blank">libglyr</a>. This is a big one. It removes a lot of functionality from GMPC and into GLYR.<br />
Metadata is something that is in constant flux, providers appear, gone missing, break api, etc. Having<br />
this in a separate library is good for GMPC maintainability.</li>
</ul>
<ul>
<li>&#8211; Remove metadata cache (now in libglyr)</li>
<li>&#8211; Remove metadata plugins (now provided by libglyr)</li>
<li>&#8211; Add separate Backdrops metadata type.</li>
<li><span style="color: #ff6600;">&#8211; Remove pixbuf cache (to be done)</span></li>
<li><span style="color: #ff6600;">&#8211; Replace metadata selector. (to be done)</span></li>
<li><span style="color: #000000;">AutoMPD: Run GMPC without setting up MPD. (<a title="GMPC Usability leap" href="http://blog.sarine.nl/2011/08/26/gmpc-usability-leap/" target="_blank">More info here</a>) </span></li>
</ul>
<h1>Improved in 11.11</h1>
<ul>
<li>Tooltips over sidebar.</li>
<li>Slight improvement to startup times.</li>
<li>Removal off old, deprecated code.</li>
</ul>
<p><a href="http://blog.sarine.nl/wp-content/uploads/2011/08/Screenshot-GMPC-Preferences.png"><img class="alignleft size-thumbnail wp-image-965" title="Screenshot-GMPC - Preferences" src="http://blog.sarine.nl/wp-content/uploads/2011/08/Screenshot-GMPC-Preferences-150x150.png" alt="" width="150" height="150" /></a></p>
<p><a href="http://blog.sarine.nl/wp-content/uploads/2011/11/gmpc-keybinding-highlight-small.png"><img class="size-thumbnail wp-image-1010 alignleft" title="gmpc-keybinding-highlight-small" src="http://blog.sarine.nl/wp-content/uploads/2011/11/gmpc-keybinding-highlight-small-150x150.png" alt="" width="150" height="150" /></a><a href="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-sidebar1.png"><img class="alignleft size-thumbnail wp-image-987" title="gmpc-sidebar1" src="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-sidebar1-150x150.png" alt="" width="150" height="150" /></a><a href="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-sidebar2.png"><img class="alignleft size-thumbnail wp-image-986" title="gmpc-sidebar2" src="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-sidebar2-150x150.png" alt="" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sarine.nl/2011/11/06/gnome-music-player-11-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GMPC keybinding &#8216;help&#8217;</title>
		<link>http://blog.sarine.nl/2011/11/04/gmpc-keybinding-help/</link>
		<comments>http://blog.sarine.nl/2011/11/04/gmpc-keybinding-help/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 20:01:36 +0000</pubDate>
		<dc:creator>Qball</dc:creator>
				<category><![CDATA[gmpc]]></category>

		<guid isPermaLink="false">http://blog.sarine.nl/?p=1009</guid>
		<description><![CDATA[I have added something to GMPC today I wanted todo for a long time. I have fixed the keybindings for the browsers (this has been in git for a time now), and if you press alt, you get a nice overlay with what number to hit. If a number is shown twice, you can switch <a href="http://blog.sarine.nl/2011/11/04/gmpc-keybinding-help/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sarine.nl/wp-content/uploads/2011/11/gmpc-keybinding-highlight-small.png"><img class="alignleft size-medium wp-image-1010" title="gmpc-keybinding-highlight-small" src="http://blog.sarine.nl/wp-content/uploads/2011/11/gmpc-keybinding-highlight-small-107x300.png" alt="" width="107" height="300" /></a>I have added something to GMPC today I wanted todo for a long time.</p>
<p>I have fixed the keybindings for the browsers (this has been in git for a time now), and if you press alt, you get a nice overlay with what number to hit. If a number is shown twice, you can switch between the two by hitting the key twice.  So to get to the <em>wikipedia lookup</em>, you can get to it by hitting alt-1 when on now playing, so if you are on <em>play-queue</em>, hit alt-1 twice to get to the <em>wikipedia lookup</em>.</p>
<p>I am still looking for some help on GMPC, LibertyZero seems to have vanished leaving me with a 1/2 done sidebar.  I am currently working on getting glyr working, this should replace all the input plugins.</p>
<p>But I am looking for somebody to write a nice metadata editor. (glyr frontend)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sarine.nl/2011/11/04/gmpc-keybinding-help/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GMPC on tablet.</title>
		<link>http://blog.sarine.nl/2011/10/28/gmpc-on-tablet/</link>
		<comments>http://blog.sarine.nl/2011/10/28/gmpc-on-tablet/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 12:31:35 +0000</pubDate>
		<dc:creator>Qball</dc:creator>
				<category><![CDATA[gmpc]]></category>

		<guid isPermaLink="false">http://blog.sarine.nl/?p=999</guid>
		<description><![CDATA[Today I (took almost no effort, beside compiling it) got GMPC (0.20 and git) to run on a tablet. Namely a archos 43it. This has the following specs: CPU: Omap 3, Cortex A8 cpu (at 1Ghz max) screen: 4.3&#8243; 854&#215;480 Memory: 256 Mb. Currently it is running debian and gmpc git. (11.8 mostly) runs just <a href="http://blog.sarine.nl/2011/10/28/gmpc-on-tablet/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I (took almost no effort, beside compiling it) got GMPC (0.20 and git) to run on a tablet. Namely a archos 43it.<br />
This has the following specs:<br />
CPU: Omap 3, Cortex A8 cpu (at 1Ghz max)<br />
screen: 4.3&#8243; 854&#215;480<br />
Memory: 256 Mb.</p>
<p>Currently it is running debian and gmpc git. (11.8 mostly) runs just fine.<br />
Below some photo&#8217;s to proof it.</p>
<p>Especially the fullscreen mode is very very nice.</p>

<a href='http://blog.sarine.nl/2011/10/28/gmpc-on-tablet/gmpc-fullscreen/' title='gmpc-fullscreen'><img width="150" height="150" src="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-fullscreen-150x150.jpg" class="attachment-thumbnail" alt="gmpc-fullscreen" title="gmpc-fullscreen" /></a>
<a href='http://blog.sarine.nl/2011/10/28/gmpc-on-tablet/gmpc-nowplaying/' title='gmpc-nowplaying'><img width="150" height="150" src="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-nowplaying-150x150.jpg" class="attachment-thumbnail" alt="gmpc-nowplaying" title="gmpc-nowplaying" /></a>
<a href='http://blog.sarine.nl/2011/10/28/gmpc-on-tablet/gmpc-nowplaying2/' title='gmpc-nowplaying2'><img width="150" height="150" src="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-nowplaying2-150x150.jpg" class="attachment-thumbnail" alt="gmpc-nowplaying2" title="gmpc-nowplaying2" /></a>
<a href='http://blog.sarine.nl/2011/10/28/gmpc-on-tablet/gmpc-playlist/' title='gmpc-playlist'><img width="150" height="150" src="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-playlist-150x150.jpg" class="attachment-thumbnail" alt="gmpc-playlist" title="gmpc-playlist" /></a>
<a href='http://blog.sarine.nl/2011/10/28/gmpc-on-tablet/gmpc-search/' title='gmpc-search'><img width="150" height="150" src="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-search-150x150.jpg" class="attachment-thumbnail" alt="gmpc-search" title="gmpc-search" /></a>
<a href='http://blog.sarine.nl/2011/10/28/gmpc-on-tablet/gmpc-fullscreen-2/' title='gmpc-fullscreen-2'><img width="150" height="150" src="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-fullscreen-2-150x150.jpg" class="attachment-thumbnail" alt="gmpc-fullscreen-2" title="gmpc-fullscreen-2" /></a>

]]></content:encoded>
			<wfw:commentRss>http://blog.sarine.nl/2011/10/28/gmpc-on-tablet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Idea..</title>
		<link>http://blog.sarine.nl/2011/10/12/idea/</link>
		<comments>http://blog.sarine.nl/2011/10/12/idea/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 11:20:43 +0000</pubDate>
		<dc:creator>Qball</dc:creator>
				<category><![CDATA[gmpc]]></category>

		<guid isPermaLink="false">http://blog.sarine.nl/?p=990</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://images.sarine.nl/gmpc-sidebar3.png"><img class="alignnone" src="http://images.sarine.nl/gmpc-sidebar3.png" alt="" width="728" height="389" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sarine.nl/2011/10/12/idea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GMPC Sidebar work</title>
		<link>http://blog.sarine.nl/2011/10/11/gmpc-sidebar-work/</link>
		<comments>http://blog.sarine.nl/2011/10/11/gmpc-sidebar-work/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 16:01:04 +0000</pubDate>
		<dc:creator>Qball</dc:creator>
				<category><![CDATA[gmpc]]></category>

		<guid isPermaLink="false">http://blog.sarine.nl/?p=985</guid>
		<description><![CDATA[I have been (Slowly) fiddling with the sidebar. This means the following changes: No more breadcrumb bar, or dropdown menu. IMHO most screens are wide-screen, this wastes space. Small mode now shows a button list on the left. The status-icons are also visible here. No more re-order. or resizing of pane. In the future: Items <a href="http://blog.sarine.nl/2011/10/11/gmpc-sidebar-work/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have been (Slowly) fiddling with the sidebar.</p>
<p>This means the following changes:</p>
<ul>
<li>No more breadcrumb bar, or dropdown menu.<br />
IMHO most screens are wide-screen, this wastes space.</li>
<li>Small mode now shows a button list on the left. The status-icons are also visible here.</li>
<li>No more re-order. or resizing of pane.</li>
</ul>
<p>In the future:</p>
<ol>
<li>Items in the sidebar will be grouped.</li>
</ol>
<ul>
<li>Now Playing</li>
<li>Play Queue<strong></strong></li>
<li><strong>Database</strong></li>
<li>File browser</li>
<li>Artist browser</li>
<li>Album browser</li>
<li>metadata browser</li>
<li>search</li>
<li><strong>Plugins</strong></li>
<li>&#8230;.</li>
</ul>
<ol>
<li>The exact grouping to be used here is something that needs to be though out. Ideas are welcome.!!!!!</li>
<li>Sidebar plugins (LibertyZero). Allow you to add things to the sidebar. Like play stats. (Code mostly there)</li>
<li>Better key-bindings. (this is crazy atm, and hard to fix with the reordering).</li>
<li>Tooltips on the icons in sidebar.</li>
</ol>
<p>&nbsp;</p>
<p>Some screemshots (please keep in mind these are WIP):</p>
<p><a href="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-sidebar1.png"><img class="alignnone size-medium wp-image-987" title="gmpc-sidebar1" src="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-sidebar1-300x194.png" alt="" width="300" height="194" /></a><a href="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-sidebar2.png"><img class="alignnone size-medium wp-image-986" title="gmpc-sidebar2" src="http://blog.sarine.nl/wp-content/uploads/2011/10/gmpc-sidebar2-300x194.png" alt="" width="300" height="194" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sarine.nl/2011/10/11/gmpc-sidebar-work/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>GMPC Startup time</title>
		<link>http://blog.sarine.nl/2011/09/14/gmpc-startup-time-2/</link>
		<comments>http://blog.sarine.nl/2011/09/14/gmpc-startup-time-2/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 09:07:56 +0000</pubDate>
		<dc:creator>Qball</dc:creator>
				<category><![CDATA[gmpc]]></category>

		<guid isPermaLink="false">http://blog.sarine.nl/?p=978</guid>
		<description><![CDATA[On PGO there been discussions about startup time of applications,e.g. here. The people on #gmpc will know I have been saying this for years. Nothing is as annoying as having to wait for a program to start up and splashscreens are stupid. GMPC will do a cold start in 230 ms (on my work laptop <a href="http://blog.sarine.nl/2011/09/14/gmpc-startup-time-2/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On PGO there been discussions about startup time of applications,e.g. <a title="here" href="http://blogs.gnome.org/otte/2011/09/13/on-application-startup-time-why-do-we-have-it-anyway/">here.</a></p>
<p>The people on #gmpc will know I have been saying this for years. Nothing is as annoying as having to wait for a program to start up and splashscreens are stupid. GMPC will do a cold start in 230 ms (on my work laptop with a normal hdd) and a warm start off 199ms, it is directly ready to use. Though this can be tricky and YMMV (esp. opening and checking the sqlite database seems to take different times on different machines)</p>
<p>Also with stuffkeeper I have been working hard to keep the startup times short (opening the SQL database is however taking up a lot of time) and is still significantly shorter then 1 second.</p>
<p>But I am happy they are finally looking at this. Boot times are often not that important, people only do that once a day, or in my case once every X weeks. (I either leave it on, or put it in standby). However applications you are using constantly, closing and opening it. It is one of the biggest things annoying me when using f.e. thunderbird or firefox. If I open it, I have to wait seconds before I can use it.</p>
<p>I cannot wait for the future, I really like gnome3 (although because of memory constraints I switched back to openbox for now, gnome3 gets terribly slow if you have programs running using up all your 4gig of memory) and if they can speed up general usage it would be only better.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sarine.nl/2011/09/14/gmpc-startup-time-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

