Virtual DJ wins hands down. The effects are amazing, the interface is really nice once you get used to it and it’s very very powerful. I’d have no reservation in recommending this package to anybody who wants to try out mp3 mixing at home or professionally. I finally got to play around with it a bit today and I was very impressed. Haven’t quite gotten used to it yet but I mixed up some music and uploaded it to the site in case anybody’s interested. This should also test the RSS Enclosures plugin I’ve been playing around with aswell… The song is U2’s Mofo mixed with Orbital’s Lush3.1 and is available here Could be a smoother mix (by a long way) but it’s not the worst…
Author: shaned
Digital Mixing
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.
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 😉
More on MSH
Just reading the complete Udell article again.
Can’t help but feel that getting an XML representation of system processes over a certain size using a command like: <
MSH> get-process | pick-object name,vs | where { $_.vs -gt 150000000} | convert-xml
is extremely neat. Sample results are listed below. I’m less than convinced about the two-part name/type syntax for the XML representation (it’s a bit clunky) but this is a small quibble.
<MshObjects>
<MshObject ReferenceID="ReferenceId-0" Version="1.1">
<MemberSet>
<Note Name="name" IsHidden="false" IsInstance="true" IsSettable="true">
<string> firefox</string>
</Note>
<Note Name="vs" IsHidden="false" IsInstance="true" IsSettable="true">
<int> 220983296</int>
</Note>
</MemberSet>
</MshObject>
</MshObjects>