<?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>viciouz.co.uk &#187; C</title>
	<atom:link href="http://viciouz.co.uk/site/category/programming/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://viciouz.co.uk/site</link>
	<description>Mundanity Incarnate</description>
	<lastBuildDate>Sat, 07 Apr 2012 21:10:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Ubuntu 10.04, Mixxx &amp; DJ Control MP3</title>
		<link>http://viciouz.co.uk/site/2010/08/linux-mixxx-djcontrolmp3/</link>
		<comments>http://viciouz.co.uk/site/2010/08/linux-mixxx-djcontrolmp3/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 22:28:55 +0000</pubDate>
		<dc:creator>ViciouZ</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[dj control mp3]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hercules]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://viciouz.co.uk/site/?p=186</guid>
		<description><![CDATA[So, I&#8217;ve had this gadget for a few years now. It&#8217;s a DJ controller consisting of two jog pads for scratching, some basic level knobs, volume slides and a crossfader, and a few extra buttons which are used to control stuff in the bundled VirtualDJ software. However, VirtualDJ doesn&#8217;t have a linux port. There are [...]]]></description>
			<content:encoded><![CDATA[<p>So, I&#8217;ve had this gadget for a few years now. It&#8217;s a DJ controller consisting of two jog pads for scratching, some basic level knobs, volume slides and a crossfader, and a few extra buttons which are used to control stuff in the bundled VirtualDJ software. However, VirtualDJ doesn&#8217;t have a linux port. There are several open source alternatives, but the one I found which was actively developed and looked good was Mixxx. It supports the Hercules DJ Control MP3 and a bunch of other similar controllers, and is cross-platform, built on the Qt toolkit.</p>
<p>So far, so good. Of course, like pretty much any hardware device other than the very basics, you&#8217;re going to need some drivers in order to use it properly. Hercules provide drivers for Windows and Mac with full support, and also, to their credit, provide linux drivers too, with source code available, but no official support. The drivers come as .deb and .rpm packages for both 32 and 64 bit systems. So far, so good. But on attempting to install the packages, which were last updated 2009, the installation dies while the kernel module is compiled. After a bit of investigating, I found the build log and the problem:</p>
<blockquote><p>error: implicit declaration of function &#8216;snd_card_new&#8217;</p></blockquote>
<p>The source uses the snd_card_new function, which was deprecated in mid 2009 and removed soon after in favour of the snd_card_create function which allowed better error handling. To fix this, you must extract the packages, open device.c, search &#8220;snd_card_new&#8221; and replace the line:</p>
<blockquote><p>card = snd_card_new(index[idx], card_id/*id[idx]*/, THIS_MODULE, 0);</p></blockquote>
<p>with:</p>
<blockquote><p>snd_card_create(index[idx], card_id/*id[idx]*/, THIS_MODULE, 0, &amp;card);</p></blockquote>
<p>That solves the problem with compiling. Then you can pack it all back up again and install with dpkg as usual. However, it&#8217;s a bit of a hassle, and to make it simpler, here&#8217;s a pre-baked .deb package, tested on Ubuntu 10.04 64bit. Have fun and happy mixing!</p>
<p><a href="http://www.viciouz.co.uk/other/miscfiles/hdjmod-dkms_1.28v_all.deb">Download [x86, x86_64, .deb, 213kb]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://viciouz.co.uk/site/2010/08/linux-mixxx-djcontrolmp3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>minivcs 0.1</title>
		<link>http://viciouz.co.uk/site/2009/10/minivcs-0-1/</link>
		<comments>http://viciouz.co.uk/site/2009/10/minivcs-0-1/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 19:20:11 +0000</pubDate>
		<dc:creator>ViciouZ</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[minivcs]]></category>

		<guid isPermaLink="false">http://viciouz.co.uk/site/?p=55</guid>
		<description><![CDATA[Well, here it is, version 0.1 of minivcs. I haven&#8217;t worked on it for a while, but did a couple of modifications before I packaged it up. The tarball contains a readme, the server php script, a compiled win32 client, and the C source for the client. If you want to try it out without [...]]]></description>
			<content:encoded><![CDATA[<p>Well, here it is, version 0.1 of <a title="minivcs" href="http://viciouz.co.uk/site/2009/09/minivcs/" target="_self">minivcs</a>. I haven&#8217;t worked on it for a while, but did a couple of modifications before I packaged it up. The tarball contains a readme, the server php script, a compiled win32 client, and the C source for the client.</p>
<p>If you want to try it out without uploading the .php script, you can use &#8220;viciouz.co.uk/other&#8221; as a server address.</p>
<p><a title="minivcs-0.1.tar.gz" href="http://viciouz.co.uk/other/minivcs/minivcs-0.1.tar.gz" target="_blank">minivcs-0.1.tar.gz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://viciouz.co.uk/site/2009/10/minivcs-0-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>minivcs</title>
		<link>http://viciouz.co.uk/site/2009/09/minivcs/</link>
		<comments>http://viciouz.co.uk/site/2009/09/minivcs/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 17:41:09 +0000</pubDate>
		<dc:creator>ViciouZ</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[minivcs]]></category>

		<guid isPermaLink="false">http://viciouz.co.uk/site/2009/09/minicvs/</guid>
		<description><![CDATA[Quite a while back I started a project to synchronise files into a local directory from a web server using a PHP script on the server side and a C client. The purpose was to act as a data repository for game media files for trench breakthrough. There are already existing alternatives, most notably rsync, [...]]]></description>
			<content:encoded><![CDATA[<p>Quite a while back I started a project to synchronise files into a local directory from a web server using a PHP script on the server side and a C client. The purpose was to act as a data repository for game media files for trench breakthrough. There are already existing alternatives, most notably rsync, which provides a myriad of features and options. However, the rsync server is run as a daemon, and seeing as I and many others only have web hosting and do not pay for a VPS or full dedicated box, we cannot use it. So this is effectively a poor-man&#8217;s-rsync, called minivcs (mini version control system). The &#8216;version&#8217; in the title is a bit of a misnomer in fact, because it compares files with hash functions such as MD5 or SHA1, and does not keep old versions of files. The hash functions used can be managed on server and client side. The server also supports caching, so it doesn&#8217;t necessarily recalculate the hashes for every single sync request. The project and its source will be released as version 0.1 once I&#8217;ve cleaned it up a bit, checked for security issues on the server side (I&#8217;m new to PHP) and done some basic documentation.</p>
<p>So, um, yeah. Not much else to say. Bye.</p>
]]></content:encoded>
			<wfw:commentRss>http://viciouz.co.uk/site/2009/09/minivcs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

