<?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>Dave Amenta .com &#187; Software</title>
	<atom:link href="http://www.daveamenta.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.daveamenta.com</link>
	<description>Indisposable By Default</description>
	<lastBuildDate>Sun, 18 Jul 2010 16:48:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zune Now Playing support for Digsby and Winamp-compatible nowplaying software.</title>
		<link>http://www.daveamenta.com/2010-07/zune-now-playing-support-for-digsby-and-winamp-compatible-nowplaying-software/</link>
		<comments>http://www.daveamenta.com/2010-07/zune-now-playing-support-for-digsby-and-winamp-compatible-nowplaying-software/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 18:42:38 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Zune]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=542</guid>
		<description><![CDATA[The Zune media player delivers Now Playing information to Windows Live Messenger, but other software isn&#8217;t able to pick up these messages.  Quite a few users have asked for Zune Now Playing support in Digsby, so I put together this little app that lets this work.  The application itself is generic, converting Zune now playing [...]]]></description>
			<content:encoded><![CDATA[<p>The Zune media player delivers Now Playing information to Windows Live Messenger, but other software isn&#8217;t able to pick up these messages.  Quite a few users have asked for <a href="http://forum.digsby.com/viewtopic.php?id=614" target="_blank">Zune Now Playing support in Digsby</a>, so I put together this little app that lets this work.  The application itself is generic, converting Zune now playing messages into the more widely implemented Winamp now playing method.</p>
<p>Download the <a href="/download/Digsby-Zune.zip">executable and source (C++)</a>.</p>
<p>Code Listing:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &quot;stdafx.h&quot;</span>
<span style="color: #339900;">#include &quot;ZuneNowPlaying.h&quot;</span>
<span style="color: #339900;">#include &quot;LimitSingleInstance.h&quot; // KB243953</span>
<span style="color: #339900;">#include &lt;regex&gt;</span>
&nbsp;
<span style="color: #0000ff;">const</span> std<span style="color: #008080;">::</span><span style="color: #007788;">tr1</span><span style="color: #008080;">::</span><span style="color: #007788;">wregex</span> pattern<span style="color: #008000;">&#40;</span>L<span style="color: #FF0000;">&quot;.*?\\\<span style="color: #006699; font-weight: bold;">\0</span>Music\\\<span style="color: #006699; font-weight: bold;">\0</span>.*?\\\<span style="color: #006699; font-weight: bold;">\0</span>.*?\\\<span style="color: #006699; font-weight: bold;">\0</span>(.*?)\\\<span style="color: #006699; font-weight: bold;">\0</span>(.*?)\\\<span style="color: #006699; font-weight: bold;">\0</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
CLimitSingleInstance g_SingleInstanceObj<span style="color: #008000;">&#40;</span>L<span style="color: #FF0000;">&quot;{24F3CD83-9FFE-4DE6-951D-63958942F834}&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
HWND hWndWinamp<span style="color: #008080;">;</span>
HWND hWndWindowsLiveMessenger<span style="color: #008080;">;</span>
&nbsp;
LRESULT CALLBACK WndProc<span style="color: #008000;">&#40;</span>HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>message<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">case</span> WM_COPYDATA<span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				COPYDATASTRUCT <span style="color: #000040;">*</span>cds <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>COPYDATASTRUCT<span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span>lParam<span style="color: #008080;">;</span>
				<span style="color: #0000ff;">wchar_t</span> <span style="color: #000040;">*</span>str <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">wchar_t</span><span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span>cds<span style="color: #000040;">-</span><span style="color: #000040;">&amp;</span>gt<span style="color: #008080;">;</span>lpData<span style="color: #008080;">;</span>
&nbsp;
				std<span style="color: #008080;">::</span><span style="color: #007788;">tr1</span><span style="color: #008080;">::</span><span style="color: #007788;">wcmatch</span> result<span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>std<span style="color: #008080;">::</span><span style="color: #007788;">tr1</span><span style="color: #008080;">::</span><span style="color: #007788;">regex_search</span><span style="color: #008000;">&#40;</span>str, result, pattern<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					std<span style="color: #008080;">::</span><span style="color: #007788;">wstring</span> ret <span style="color: #000080;">=</span> result<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">str</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> L<span style="color: #FF0000;">&quot; - &quot;</span> <span style="color: #000040;">+</span> result<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">str</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
					SetWindowText<span style="color: #008000;">&#40;</span>hWndWinamp, ret.<span style="color: #007788;">c_str</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
				<span style="color: #0000ff;">else</span>
				<span style="color: #008000;">&#123;</span>
					SetWindowText<span style="color: #008000;">&#40;</span>hWndWinamp, L<span style="color: #FF0000;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">case</span> WM_DESTROY<span style="color: #008080;">:</span>
			PostQuitMessage<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> WM_USER<span style="color: #008080;">:</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>lParam <span style="color: #000080;">==</span> <span style="color: #0000dd;">104</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> <span style="color: #666666;">// Winamp=Playing (always)</span>
			<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> DefWindowProc<span style="color: #008000;">&#40;</span>hWnd, message, wParam, lParam<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> RegisterClasses<span style="color: #008000;">&#40;</span>HINSTANCE hInstance<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	WNDCLASSEX wcex <span style="color: #000080;">=</span> WNDCLASSEX<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	wcex.<span style="color: #007788;">cbSize</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>WNDCLASSEX<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	wcex.<span style="color: #007788;">lpfnWndProc</span>	<span style="color: #000080;">=</span> WndProc<span style="color: #008080;">;</span>
	wcex.<span style="color: #007788;">hInstance</span>		<span style="color: #000080;">=</span> hInstance<span style="color: #008080;">;</span>
	wcex.<span style="color: #007788;">hbrBackground</span>	<span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>HBRUSH<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span>COLOR_WINDOW<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	wcex.<span style="color: #007788;">lpszClassName</span>	<span style="color: #000080;">=</span> L<span style="color: #FF0000;">&quot;MsnMsgrUIManager&quot;</span><span style="color: #008080;">;</span>
	RegisterClassEx<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span>wcex<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	wcex.<span style="color: #007788;">lpszClassName</span>	<span style="color: #000080;">=</span> L<span style="color: #FF0000;">&quot;Winamp v1.x&quot;</span><span style="color: #008080;">;</span>
	RegisterClassEx<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span>wcex<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> CreateWindows<span style="color: #008000;">&#40;</span>HINSTANCE hInstance<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// Pretend to be Windows Live Messenger, so WM_COPYDATA messages are sent to us.</span>
	hWndWindowsLiveMessenger <span style="color: #000080;">=</span> CreateWindow<span style="color: #008000;">&#40;</span>L<span style="color: #FF0000;">&quot;MsnMsgrUIManager&quot;</span>, L<span style="color: #FF0000;">&quot;&quot;</span>, WS_DISABLED,
		CW_USEDEFAULT, <span style="color: #0000dd;">0</span>, CW_USEDEFAULT, <span style="color: #0000dd;">0</span>, <span style="color: #0000ff;">NULL</span>, <span style="color: #0000ff;">NULL</span>, hInstance, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">// Pretend to be Winamp (any version), so apps will pick us up for Now Playing.</span>
	hWndWinamp <span style="color: #000080;">=</span> CreateWindow<span style="color: #008000;">&#40;</span>L<span style="color: #FF0000;">&quot;Winamp v1.x&quot;</span>, L<span style="color: #FF0000;">&quot;&quot;</span>, WS_DISABLED,
		CW_USEDEFAULT, <span style="color: #0000dd;">0</span>, CW_USEDEFAULT, <span style="color: #0000dd;">0</span>, <span style="color: #0000ff;">NULL</span>, <span style="color: #0000ff;">NULL</span>, hInstance, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">return</span> hWndWinamp <span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span><span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span> hWndWindowsLiveMessenger<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> APIENTRY _tWinMain<span style="color: #008000;">&#40;</span>HINSTANCE hInstance, HINSTANCE <span style="color: #ff0000; font-style: italic;">/*hPrevInstance*/</span>, LPTSTR <span style="color: #ff0000; font-style: italic;">/*lpCmdLine*/</span>, <span style="color: #0000ff;">int</span> <span style="color: #ff0000; font-style: italic;">/*nCmdShow*/</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	MSG msg <span style="color: #000080;">=</span> MSG<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>g_SingleInstanceObj.<span style="color: #007788;">IsAnotherInstanceRunning</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		RegisterClasses<span style="color: #008000;">&#40;</span>hInstance<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>CreateWindows<span style="color: #008000;">&#40;</span>hInstance<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>GetMessage<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span>msg, <span style="color: #0000ff;">NULL</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				TranslateMessage<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span>msg<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				DispatchMessage<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span>msg<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span><span style="color: #008000;">&#41;</span>msg.<span style="color: #007788;">wParam</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span><span style="color: #000080;">&lt;</span><span style="color: #000040;">/</span>regex<span style="color: #000080;">&gt;</span></pre></div></div>

<p><strong>How it works:</strong></p>
<p>It&#8217;s pretty simple, Zune software sends a WM_COPYDATA message to a window with class name <strong>MsnMsgrUIManager</strong>, the message contains a pointer to a unicode string, that looks something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">ZUNE\0Music\<span style="color: #208080;">01</span>\<span style="color: #0000dd;">0</span><span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span> <span style="color: #000040;">-</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#125;</span>\0TRACK_TITLE\0TRACK_ARTIST\0TRACK_ALBUM\0zune<span style="color: #008080;">:</span>ZUNE_GUID\<span style="color: #0000dd;">0</span>
&nbsp;
<span style="color: #666666;">// TRACK_TITLE: Title</span>
<span style="color: #666666;">// TRACK_ARTIST: Artist</span>
<span style="color: #666666;">// TRACK_ALBUM: Album</span>
<span style="color: #666666;">// ZUNE_GUID:  A GUID that may refer to the Zune device, Zune account, or Zune software itself.</span>
&nbsp;
<span style="color: #666666;">// Note:  {0} - {1} is the format of how the string should be displayed in WLM - I ignore this entirely.</span>
<span style="color: #666666;">// Note2:  This method is used by other software, so I don't gate on ZUNE for the sake of maximum flexibility.  </span>
<span style="color: #666666;">// Note3:  The &quot;1&quot; after Music specifies the playing state.  0=Stopped, 1=Playing.  I ignore this and instead just use whether or not the other fields exist.</span></pre></div></div>

<p>Note:  The \0&#8217;s in the above string are literally \ and 0, not NULL characters.</p>
<p>Using a regular expression to match the fields, The artist and title are extracted from the string, and set as the window caption for a window with class name <strong>Winamp v1.x</strong>.  Software (like Digsby, or other now playing apps) may use <a href="http://msdn.microsoft.com/en-us/library/ms633499(VS.85).aspx" target="_blank">FindWindow</a> to locate the fake Winamp player, and read the caption with <a href="http://msdn.microsoft.com/en-us/library/ms633520(VS.85).aspx" target="_blank">GetWindowText</a>.</p>
<p>You may need to install the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&#038;displaylang=en">Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-07/zune-now-playing-support-for-digsby-and-winamp-compatible-nowplaying-software/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pandora One Media Keys &#8211; Enable them!</title>
		<link>http://www.daveamenta.com/2010-06/pandora-one-media-keys-enable-them/</link>
		<comments>http://www.daveamenta.com/2010-06/pandora-one-media-keys-enable-them/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 19:49:47 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Pandora]]></category>
		<category><![CDATA[PandoraOne]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=529</guid>
		<description><![CDATA[I really enjoy Pandora &#8211; and I recently bought the upgrade to Pandora One, since I listen to it at work most of the day.  Aside from the player being AIR-based, my only gripe is the lack of media key support.  I&#8217;ve put together a simple application that runs in the background, redirecting media key [...]]]></description>
			<content:encoded><![CDATA[<p>I really enjoy Pandora &#8211; and I recently bought the upgrade to Pandora One, since I listen to it at work most of the day.  Aside from the player being AIR-based, my only gripe is the lack of media key support.  I&#8217;ve put together a simple application that runs in the background, redirecting media key input to the Pandora One player.</p>
<ul>
<li>.NET 2.0 &#8211; Windows 2000 to Windows 7</li>
<li>Only the <strong>Next</strong> and <strong>PlayPause</strong> keys are mapped.  The attached source code includes <strong>Like</strong> and <strong>Dislike</strong> as well.</li>
<li>if the player is minimized, it will be restored, so you&#8217;ll want to keep the player behind your other windows.</li>
<li>The player needs to be in the <strong>now playing</strong> state, if you&#8217;re at the list of stations, the keys won&#8217;t work.</li>
<li>If you&#8217;d like to run the program at startup, create a shortcut and place it in your Startup folder, on the start menu.</li>
</ul>
<p>Download <a href="/download/Pandora_One_MK.zip">Pandora One Media Keys</a>.  This is a tiny project, so I&#8217;m sharing the <a href="/download/PandoraController.cs.txt" target="_blank">relevant parts of the source code</a> if you&#8217;d like to do something other than map the Next and PlayPause keys.</p>
<p><span style="font-size: 12.7315px;">If this app is useful to you, please <a href="/donate">donate</a>. :)</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-06/pandora-one-media-keys-enable-them/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GVNotifier 1.4.1</title>
		<link>http://www.daveamenta.com/2010-06/gvnotifier-1-4-1/</link>
		<comments>http://www.daveamenta.com/2010-06/gvnotifier-1-4-1/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 16:38:08 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Google Voice]]></category>
		<category><![CDATA[GVNotifier]]></category>
		<category><![CDATA[GVNotifier.net]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=524</guid>
		<description><![CDATA[GVNotifier 1.4.1 is live &#8211; auto-update to get it or download here.  This is a minor update, I&#8217;ve been very busy lately so this is a bugfixing release only.  Notable changes include:

Passwords are encrypted in the settings file, and in memory.  This is not strong encryption, but it&#8217;s better than plain text or simple encoding.
The [...]]]></description>
			<content:encoded><![CDATA[<p>GVNotifier 1.4.1 is live &#8211; auto-update to get it or <a href="/gvnotifier/setup.exe">download here</a>.  This is a minor update, I&#8217;ve been very busy lately so this is a bugfixing release only.  Notable changes include:</p>
<ul>
<li>Passwords are encrypted in the settings file, and in memory.  This is not strong encryption, but it&#8217;s better than plain text or simple encoding.</li>
<li>The old AppData directory is deleted if present (1.0-1.3)</li>
<li>Crash reporter &#8211; if the app crashes, a report is automatically sent the next time you run GVNotifier.</li>
</ul>
<p>If you&#8217;re having trouble with ClickOnce, or need files for a portable version (create a blank settings.xml file), get the <a href="/download/GVNotifier_1.4.1.158.zip">standalone version</a>.  This version does <strong>not</strong> have auto-update!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-06/gvnotifier-1-4-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GVNotifier 1.4 is live</title>
		<link>http://www.daveamenta.com/2010-05/gvnotifier-1-4-is-live/</link>
		<comments>http://www.daveamenta.com/2010-05/gvnotifier-1-4-is-live/#comments</comments>
		<pubDate>Sun, 16 May 2010 21:43:25 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=478</guid>
		<description><![CDATA[GVNotifier 1.4 is live, with contacts sync, call history, voicemail playback, a new UI and tons of other great features.  Documentation coming soon.
]]></description>
			<content:encoded><![CDATA[<p>GVNotifier 1.4 is live, with contacts sync, call history, voicemail playback, a new UI and tons of other great features.  Documentation coming soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-05/gvnotifier-1-4-is-live/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>GVNotifier 1.4 Preview &#8211; Call History, Voicemail</title>
		<link>http://www.daveamenta.com/2010-05/gvnotifier-1-4-preview-call-history-voicemail/</link>
		<comments>http://www.daveamenta.com/2010-05/gvnotifier-1-4-preview-call-history-voicemail/#comments</comments>
		<pubDate>Sat, 08 May 2010 19:35:52 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[GVNotifier]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=473</guid>
		<description><![CDATA[I&#8217;ve been working on GVNotifier 1.4, which will be a large change and due by the end of May.
You can get a beta copy here. GVNotifier 1.4 is now live!  (05/16)
The contact list has been revamped, and Windows 7 taskbar integration has finally arrived.


]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on GVNotifier 1.4, which will be a large change and due by the end of May.</p>
<p>You can get a <strong>beta</strong> copy <a href="http://groups.google.com/group/gvnotifiernet">here</a>. GVNotifier 1.4 is now live!  (05/16)</p>
<p>The contact list has been revamped, and Windows 7 taskbar integration has finally arrived.</p>
<p><img class="aligncenter size-medium wp-image-475" title="contacts" src="http://www.daveamenta.com/wp-content/uploads/2010/05/contacts-208x300.png" alt="" width="208" height="300" /><a href="http://www.daveamenta.com/wp-content/uploads/2010/05/calls.png"><img class="aligncenter size-medium wp-image-474" title="calls" src="http://www.daveamenta.com/wp-content/uploads/2010/05/calls-219x300.png" alt="" width="219" height="300" /></a><br />
<a href="http://www.daveamenta.com/wp-content/uploads/2010/05/voicemail.png"><img class="aligncenter size-medium wp-image-476" title="voicemail" src="http://www.daveamenta.com/wp-content/uploads/2010/05/voicemail-237x300.png" alt="" width="237" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-05/gvnotifier-1-4-preview-call-history-voicemail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Voice SMS Automatic Responder &#8211; Free Trial!</title>
		<link>http://www.daveamenta.com/2010-03/google-voice-sms-automatic-responder/</link>
		<comments>http://www.daveamenta.com/2010-03/google-voice-sms-automatic-responder/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 19:20:59 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=361</guid>
		<description><![CDATA[Have you ever wanted to own your own SMS service?  Directing customers to send &#8220;MSG&#8221; to 123-456-789 for more information, or set up a whole menu of options.  Easily deliver customers with coupons, games, jokes or whatever else with GVAutoResponder!
GVAutoResponder turns your Google Voice account into a full-fledged business service.  Easily respond to customers with [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted to own your own SMS service?  Directing customers to send &#8220;MSG&#8221; to 123-456-789 for more information, or set up a whole menu of options.  Easily deliver customers with coupons, games, jokes or whatever else with GVAutoResponder!</p>
<p>GVAutoResponder turns your Google Voice account into a full-fledged business service.  Easily respond to customers with automated messages, even have a default option for users that don&#8217;t already know the commands.  Send mass-messages to all your customers, or just a subset that have opted into a service.</p>
<h2>Overview</h2>
<ul>
<li>Highly configurable and flexible rule system for generating responses</li>
<li>Respond to SMS, Missed Calls and Voicemail</li>
<li>Export users and messages</li>
<li>Easily send messages to one, some, or all users!</li>
<li>Cost-effective solution for managing one or more business Google Voice accounts</li>
<li>Works alongside <a href="/products/gvnotifier/">GVNotifier</a></li>
</ul>
<h2>Get GVAutoResponder</h2>
<table border="1" cellspacing="4" cellpadding="4">
<tbody>
<tr>
<td>GVAutoResponder v1.1.0.9</td>
<td>Windows XP/Vista/7</td>
<td><a href="/gvautoresponder/setup.exe" target="_self">Download</a></td>
<td><a href="/gvautoresponder/gvar_doc.pdf" target="_self">Documentation (PDF)</a></td>
<td>Released May 26, 2010</td>
</tr>
</tbody>
</table>
<p><em>GVAutoResponder will auto-update to the latest version if you already have it installed.</em></p>
<h2>Features</h2>
<p>GVAutoResponder runs on Windows XP/Vista/7 and monitors Google Voice for new messages.  If they match the criteria you select, they&#8217;ll get a response.  Using the rule editor, responses and triggers can be configured any way you like.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/03/login.png"></a><a href="http://www.daveamenta.com/wp-content/uploads/2010/03/editor.png"><img class="aligncenter size-medium wp-image-508" title="GVAutoResponder Rule Editor" src="http://www.daveamenta.com/wp-content/uploads/2010/03/editor-300x199.png" alt="" width="300" height="199" /></a></p>
<p>Send a message to one, some, or all of your users quickly with the mass-messaging features.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/03/default.png"></a><a href="http://www.daveamenta.com/wp-content/uploads/2010/03/mass_msg.png"><img class="aligncenter size-medium wp-image-510" title="GVAutoResponder Send Message to one or more users" src="http://www.daveamenta.com/wp-content/uploads/2010/03/mass_msg-300x197.png" alt="" width="300" height="197" /></a></p>
<p>Export users and messages as CSV for use in excel or other applications.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/03/defrule.png"></a><a href="http://www.daveamenta.com/wp-content/uploads/2010/03/export.png"><img class="aligncenter size-medium wp-image-509" title="GVAutoResponder Export" src="http://www.daveamenta.com/wp-content/uploads/2010/03/export-300x244.png" alt="" width="300" height="244" /></a></p>
<p>Download the <a href="/gvautoresponder/setup.exe">trial version</a> now!   A signature will be appended to each message in the trial version, but otherwise the software is the same.</p>
<h2>Order GVAutoResponder online now!</h2>
<p>GVAutoResponder 1.1 may be purchased for a fee of $25 (for use with one Google Voice account) or $30 (for use with multiple accounts)<span><br />
</span></p>
<div class="aligncenter" align="center">
<table border="1" cellspacing="4" cellpadding="4">
<tbody>
<tr>
<td>Single Account ($25)</td>
<td>Unlimited Accounts ($30)</td>
</tr>
<tr>
<td><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=EKEZV448FP4NQ"><br />
<img src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" alt="" /><br />
</a></td>
<td><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=55PXDJ77AJT78"><br />
<img src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" alt="" /><br />
</a></td>
</tr>
</tbody>
</table>
</div>
<p>
Send me an <a href="mailto:dave@daveamenta.com">email</a>, or contact me using the widget to the right if you would like a more customized solution.  <strong>Please leave your email address so I can get back in touch with you!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-03/google-voice-sms-automatic-responder/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GVNotifier 1.2 &#8211; International calling fix</title>
		<link>http://www.daveamenta.com/2010-03/gvnotifier-1-2-international-calling-fix/</link>
		<comments>http://www.daveamenta.com/2010-03/gvnotifier-1-2-international-calling-fix/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 05:17:59 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[GVNotifier]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=357</guid>
		<description><![CDATA[I pushed a patch today that fixes International number call/sms issues.
]]></description>
			<content:encoded><![CDATA[<p>I pushed a patch today that fixes International number call/sms issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-03/gvnotifier-1-2-international-calling-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is CamServer?</title>
		<link>http://www.daveamenta.com/2010-02/what-is-camserver/</link>
		<comments>http://www.daveamenta.com/2010-02/what-is-camserver/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 19:03:26 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CamServer]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=344</guid>
		<description><![CDATA[I added a link to CamServer on the right of the page a little while ago, but didn&#8217;t explain what CamSever is and who would want to use it.  CamServer is experimental software.
CamServer is a surveillance and monitoring application for Windows and Linux that lets you easily view and record remote cameras.  Simply plug [...]]]></description>
			<content:encoded><![CDATA[<p>I added a link to CamServer on the right of the page a little while ago, but didn&#8217;t explain what CamSever <em>is</em> and who would want to use it. <em> CamServer is experimental software.</em></p>
<p>CamServer is a surveillance and monitoring application for Windows and Linux that lets you easily view and record remote cameras.  Simply plug one or more USB or PCI capture devices into a computer, and then view the cameras from a remote location &#8212; on the same network or over the internet.  Computers running CamServer on the local network are automatically discovered, no configuration is needed!</p>
<p>Screenshots:</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/controlpanel.png"><img class="aligncenter size-medium wp-image-345" title="CamServer Control Panel" src="http://www.daveamenta.com/wp-content/uploads/2010/02/controlpanel-300x212.png" alt="" width="300" height="212" /></a></p>
<p>Cameras are loaded from your computer, the local network, and over the internet.  CamServer nodes can host cameras for remote access.  Designate one instance for external use, and view all your cameras in one place.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/properties.png"><img class="aligncenter size-medium wp-image-346" title="CamServer Camera Properties" src="http://www.daveamenta.com/wp-content/uploads/2010/02/properties-191x300.png" alt="" width="191" height="300" /></a></p>
<p>Record video to AVI for future playback.  Cameras may be designated as public or open-access, or protected with a username/password of your choosing.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/Untitled.png"><img class="aligncenter size-medium wp-image-347" title="CamServer Camera Example" src="http://www.daveamenta.com/wp-content/uploads/2010/02/Untitled-300x246.png" alt="" width="300" height="246" /></a></p>
<p>Camera feeds may include timestamp and response information.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/disconnected.png"><img class="aligncenter size-medium wp-image-348" title="CamServer Disconnected Camera" src="http://www.daveamenta.com/wp-content/uploads/2010/02/disconnected-300x246.png" alt="" width="300" height="246" /></a></p>
<p>If the connection is lost, CamServer will let you know that the device is no longer providing video.</p>
<p>Grab a copy of CamServer and let me know what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-02/what-is-camserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Deferno</title>
		<link>http://www.daveamenta.com/2010-02/project-deferno/</link>
		<comments>http://www.daveamenta.com/2010-02/project-deferno/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 18:38:02 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Deferno]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=341</guid>
		<description><![CDATA[Over the past year or so, a few friends and I had been toying with the idea of a better IRC client, something with an attractive UI, HTML rendered themes, flexible features and, above all, feels like a 21st century piece of software.  mIRC feels horribly dated, how much has really changed since it was run on [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past year or so, a few friends and I had been toying with the idea of a better IRC client, something with an attractive UI, HTML rendered themes, flexible features and, above all, feels like a 21st century piece of software.  mIRC feels horribly dated, how much has really changed since it was run on Win95?</p>
<p>Project Deferno is live today, and available to anyone via ClickOnce deployment.  Functionality is very limited, but development is moving quickly.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/deferno.png"><img class="aligncenter size-medium wp-image-342" title="Deferno IRC" src="http://www.daveamenta.com/wp-content/uploads/2010/02/deferno-300x157.png" alt="" width="300" height="157" /></a></p>
<p>Deferno is targeted at Windows 7 with Aero, features may be limited in other configurations.</p>
<p>Download <a href="/deferno/setup.exe">Project Deferno</a>.  [ClickOnce installer]</p>
<p>Support/Questions should be directed to irc://irc.freenode.net/#deferno</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-02/project-deferno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GVNotifier 1.2 &#8211; let&#8217;s get serious!</title>
		<link>http://www.daveamenta.com/2010-02/gvnotifier-1-2-lets-get-serious/</link>
		<comments>http://www.daveamenta.com/2010-02/gvnotifier-1-2-lets-get-serious/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 19:25:40 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[GVNotifier]]></category>
		<category><![CDATA[GVNotifier.net]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=322</guid>
		<description><![CDATA[I&#8217;ve been hard at work on GVNotifier 1.2 for the last couple of weeks.  Lots of bugfixes and enhancements have been added based on the great feedback I&#8217;ve had via the comments form, widget and the GVNotifier beta group.
This version adds lots of preferences&#8211;so you can use it how you like.
Check out the screenshots:

The contact [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been hard at work on GVNotifier 1.2 for the last couple of weeks.  Lots of bugfixes and enhancements have been added based on the great feedback I&#8217;ve had via the comments form, widget and the <a href="http://groups.google.com/group/gvnotifiernet" target="_blank">GVNotifier beta group</a>.</p>
<p>This version adds lots of preferences&#8211;so you can use it how you like.</p>
<p>Check out the screenshots:</p>
<p><img class="aligncenter size-full wp-image-323" title="contacts" src="http://www.daveamenta.com/wp-content/uploads/2010/02/contacts.png" alt="" width="325" height="468" /></p>
<p>The contact list supports pinning, keep your favorite contacts just a click away.  Contact photos are downloaded from Google Contacts.</p>
<p><img class="aligncenter size-full wp-image-324" title="context" src="http://www.daveamenta.com/wp-content/uploads/2010/02/context.png" alt="" width="338" height="215" /></p>
<p><img class="aligncenter size-full wp-image-325" title="login" src="http://www.daveamenta.com/wp-content/uploads/2010/02/login.png" alt="" width="360" height="415" /></p>
<p>The login experience has been enhanced, if you&#8217;re still unable to login, you may send a detailed error report and I can look over the logs to determine what&#8217;s happening.</p>
<p><img class="aligncenter size-full wp-image-328" title="prefs" src="http://www.daveamenta.com/wp-content/uploads/2010/02/prefs.png" alt="" width="518" height="345" /></p>
<p>Lots of preferences have been added for key features.</p>
<p><img class="aligncenter size-full wp-image-327" title="newcontact" src="http://www.daveamenta.com/wp-content/uploads/2010/02/newcontact.png" alt="" width="357" height="168" /></p>
<p>Quickly call or text new people without having to open a browser to Google Voice.</p>
<p><img class="aligncenter size-full wp-image-326" title="message" src="http://www.daveamenta.com/wp-content/uploads/2010/02/message.png" alt="" width="344" height="388" /></p>
<p>Easily message contacts with multiple numbers.  Just click the number to choose where to send to.</p>
<p>GVNotifier 1.2 is available now, auto-update to the latest version if you already have it installed, or <a href="http://daveamenta.com/gvnotifier/setup.exe" target="_self">Download it here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-02/gvnotifier-1-2-lets-get-serious/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
