Currently evaluating various digital mp3/wav based software mixing packages. Ots Turntables and Virtual DJ.
Current mixes include the (I can’t believe what I’m hearing) Bacharach meets Beastie Boys meets the Prodigy… It’s every bit as tongue-in-cheek bad as it sounds. Expect a Ch00n-tastic audio blog sometime soon 😛
Not ready to pick a winner yet but these are both excellent packages. Intuitive, powerful with excellent sound quality, tasteful effects and. I’m not sure I’d prefer them to a high quality CD mixing system from someone like Technics I have to say that they’re relatively cheap and damn powerful. I think Virtual DJ will just shade it on features but I prefer the interface of Ots Turntables.
Day: November 16, 2004
Escaping entities using XSLT
While writing the last post I didn’t fancy the idea of hand escaping the HTML entities into the MSN XML output. So I cheated using a funky little piece of XSLT that I cooked up earlier tonight. It’s listed below…
<xsl:stylesheet version="1.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="no" doctype-
system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public=
"-//W3C//DTD XHTML 1.0 Transitional//EN"> </xsl:output>
<xsl:template match="/">
<xsl:call-template name="escapexml">
<xsl:with-param name="block" select="."> </xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="escapexml">
<xsl:param name="block"> </xsl:param>
<xsl:for-each select="$block/*|$block/text()">
<xsl:choose>
<xsl:when test="self::text()">
<xsl:value-of select="."> </xsl:value-of>
</xsl:when>
<xsl:otherwise>
<xsl:text> <</xsl:text>
<xsl:value-of select="name(.)"> </xsl:value-of>
<xsl:for-each select="@*">
<xsl:value-of select="concat(' ', name())">
</xsl:value-of>
<xsl:text> ="</xsl:text>
<xsl:value-of select="."> </xsl:value-of>
<xsl:text> "</xsl:text>
</xsl:for-each>
<xsl:text> > </xsl:text>
<xsl:choose>
<xsl:when test="*">
<xsl:call-template name="escapexml">
<xsl:with-param name="block" select=".">
; </xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."> </xsl:value-of>
</xsl:otherwise>
</xsl:choose>
<xsl:text> </</xsl:text>
<xsl:value-of select="name(.)"> </xsl:value-of>
<xsl:text> > </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
I’ll produce a tidier more beautifying version when I get the time but it’s OK for a first attempt and I know of at least one person who’s asked me to do something similiar in the past. And on that note.. it could be time to hit the hay 😉