<?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>Random Fractals&#187; music</title>
	<atom:link href="http://randomfractals.com/blog/category/music/feed/" rel="self" type="application/rss+xml" />
	<link>http://randomfractals.com/blog</link>
	<description></description>
	<lastBuildDate>Sat, 27 Mar 2010 13:57:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Spark Path Sound Visualizer</title>
		<link>http://randomfractals.com/blog/2010/03/26/spark-path-sound-visualizer/</link>
		<comments>http://randomfractals.com/blog/2010/03/26/spark-path-sound-visualizer/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 21:20:56 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Flex 4]]></category>
		<category><![CDATA[Sound Visualizer]]></category>
		<category><![CDATA[Spark Path]]></category>

		<guid isPermaLink="false">http://randomfractals.com/blog/?p=784</guid>
		<description><![CDATA[Flex 4 SDK final is out. It&#8217;s time to update and post some early Flex 4 prototypes I&#8217;ve built with Beta 1 and 2 last year.
Here is a simple Spark Path Sound Visualizer I put together to check out new Spark Path primitive:

spark.primitives.Path graphic element was introduced in Flex 4 as part of new FXG [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Flex 4 SDK Download" href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4" target="_blank">Flex 4 SDK</a> final is out. It&#8217;s time to update and post some early Flex 4 prototypes I&#8217;ve built with Beta 1 and 2 last year.</p>
<p>Here is a simple <a title="Spark Path Sound Visualizer" href="http://www.randomfractals.com/lab/media/SparkyPathSoundVisualizer/04/SparkPathSoundVisualizer.html" target="_blank">Spark Path Sound Visualizer</a> I put together to check out new Spark Path primitive:</p>
<p style="text-align: left;">
<div id="attachment_785" class="wp-caption aligncenter" style="width: 410px"><a title="View Spark Path Sound Visualizer Demo" href="http://www.randomfractals.com/lab/media/SparkyPathSoundVisualizer/04/SparkPathSoundVisualizer.html" target="_blank"><img class="size-medium wp-image-785  " title="View Spark Path Sound Visualizer Demo" src="http://randomfractals.com/blog/wp-content/uploads/2010/03/sparkPathSoundVisualizer-400x217.png" alt="" width="400" height="217" /></a><p class="wp-caption-text">Spark Path Sound Visualizer</p></div>
<p style="text-align: left;"><a title="spark.primitives.Path API docs" href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/primitives/Path.html" target="_blank">spark.primitives.Path</a> graphic element was introduced in Flex 4 as part of new <a title="FXG and MXML graphics" href="http://help.adobe.com/en_US/Flex/4.0/UsingSDK/WS145DAB0B-A958-423f-8A01-12B679BA0CC7.html" target="_blank">FXG  and MXML graphics</a> components for displaying vector-based graphics.</p>
<p style="text-align: left;">Spark Path is  a handy view primitive for drawing shapes, maps,  charts, or sound  visualizations as in this example. Although, I do wish it exposed its  PathSegmentsCollection and PathSegment types for manipulating path data  dynamically via ActionScript. More on this after the fold:</p>
<p style="text-align: left;"><span id="more-784"></span>The only workaround I found for updating Path segments without assigning data string property and string parsing on every frame was by updating mx_internal graphicsPath variable directly. GraphicsPath performs all the drawing operations for this new Spark Path component, and this approach seems to work, but I am not a big fan or supporter of the custom little known mx_internal namespace interface.</p>
<p style="text-align: left;">Besides, I am still scratching my head why the whole <a title="spark.primitives.pathSegments package source code" href="http://opensource.adobe.com/svn/opensource/flex/sdk/tags/4.0.0.7219_flex4_beta1/frameworks/projects/flex4/src/spark/primitives/pathSegments/" target="_blank">spark.primitives.pathSegments package</a> with all the path segment types was scraped after Flex SDK Beta 1 and folded into spark.primitives.Path component with private access to the segments collection and now inner PathSegment type classes. Since Flex SDK is open source, you can view current <a title="Spark Path source code" href="http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as" target="_blank">spark.primitives.Path code here</a>.</p>
<p style="text-align: left;">I think it would be very useful to have direct access to the Path segments collection via ActionScript and be able to create Path segments on the fly for dynamic drawing applications. If you feel the same way, please vote for this feature in the next Flex 4 SDK patch/update release here:  <a href="http://bugs.adobe.com/jira/browse/SDK-25843" target="_blank">http://bugs.adobe.com/jira/browse/SDK-25843</a></p>
<p style="text-align: left;">You can view and download updated <a title="Spark Path Sound Visualizer" href="http://www.randomfractals.com/lab/media/SparkyPathSoundVisualizer/04/SparkPathSoundVisualizer.html" target="_blank">Spark Path Sound Visualizer</a> demo code with the mx_internal graphicsPath solution <a title="Spark Path Sound Visualizer code" href="http://www.randomfractals.com/lab/media/SparkyPathSoundVisualizer/04/srcview/index.html" target="_blank">here</a>.</p>
<p style="text-align: left;">The original version built with Flex 4 SDK Beta 1 can be found <a title="Sparky Path Music Viz code for Flex 4 SDK Beta 1" href="http://www.randomfractals.com/lab/media/SparkyPathSoundVisualizer/03/srcview/index.html" target="_blank">here</a>. It&#8217;s messy, but you should be able to grasp the difference.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2010/03/26/spark-path-sound-visualizer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Closing the Flex SVG Loop</title>
		<link>http://randomfractals.com/blog/2009/02/10/closing-the-flex-svg-loop/</link>
		<comments>http://randomfractals.com/blog/2009/02/10/closing-the-flex-svg-loop/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 06:14:29 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Degrafa SVG Painter]]></category>
		<category><![CDATA[Flex SVG Explorer]]></category>
		<category><![CDATA[Shapes and Strokes]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=750</guid>
		<description><![CDATA[Here is how my &#8220;Shapes and Strokes&#8220; creation looks like in Flex SVG Explorer (second sample in the Load SVG File dropdown):

Obviously some strokes got lost in translation there, but I am still very happy with the outcome considering my initial goals for the two prototypes.
What does it all mean?
Basically, it means that by using [...]]]></description>
			<content:encoded><![CDATA[<p>Here is how my <a href="http://tarasnovak.com/blog/2009/02/08/degrafa-svg-painter-app/" target="_blank">&#8220;<em>Shapes and Strokes</em>&#8220;</a> creation looks like in <a href="http://www.randomfractals.com/lab/FlexSVGExplorer/01/FlexSVGExplorer.html" target="_blank">Flex SVG Explorer</a> (second sample in the Load SVG File dropdown):</p>
<p style="text-align: center;"><a href="http://www.randomfractals.com/lab/FlexSVGExplorer/01/FlexSVGExplorer.html" target="_blank"><img class="aligncenter size-full wp-image-752" title="Shapes and Strokes in Flex SVG Explorer" src="http://tarasnovak.com/blog/wp-content/uploads/2009/02/shapesandstrokessmall.jpg" alt="shapesandstrokessmall" width="480" height="352" /></a></p>
<p>Obviously some strokes got lost in translation there, but I am still very happy with the outcome considering my initial goals for the two prototypes.</p>
<p><strong>What does it all mean?</strong></p>
<p>Basically, it means that by using two different Flex SVG libraries (<a href="http://code.google.com/p/svg-viewer/" target="_blank">SVG Viewer API</a> and <a href="http://www.degrafa.org/index.html" target="_blank">Degrafa</a>) I&#8217;ve closed the full cycle SVG manipulation loop in Flex:</p>
<p>1) Create new SVG-based graphic with <a href="http://tarasnovak.com/blog/2009/02/08/degrafa-svg-painter-app/" target="_blank">Degrafa SVG Painter</a> and export it to SVG markup;</p>
<p>2) Load the created SVG document in <a href="http://tarasnovak.com/blog/2009/02/06/from-day-1-of-flex-svg-explorer-dev-and-research/" target="_blank">Flex SVG Explorer</a> using SVG Viewer API for further inspection and manipulation.</p>
<p>Now I can take a little breather, wait for the two libraries to improve, and slowly work on adding shape templates, object handles and other tools for creating and editing of SVG graphics in Flex.</p>
<p>Perhaps I should combine the two tools into one, or just wait till SVG to Degrafa converter and API comes out. Then I could just stick with Degrafa for loading and manipulating SVG. Some utility classes or toString methods to get SVG element markup of Degrafa objects would be nice too . Maybe I&#8217;ve missed it in the current codebase.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li><a href="http://randomfractals.com/blog/2009/02/08/degrafa-svg-painter-app/" title="Degrafa SVG Painter">Degrafa SVG Painter</a></li><li><a href="http://randomfractals.com/blog/2009/02/06/from-day-1-of-flex-svg-explorer-dev-and-research/" title="From Day 1 of Flex SVG Explorer Dev and Research">From Day 1 of Flex SVG Explorer Dev and Research</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2009/02/10/closing-the-flex-svg-loop/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Flex MusicPlayer v.2 with MusicVisualizer</title>
		<link>http://randomfractals.com/blog/2009/01/15/flex-music-player-v2/</link>
		<comments>http://randomfractals.com/blog/2009/01/15/flex-music-player-v2/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 19:35:30 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[flex music player]]></category>
		<category><![CDATA[music visualizer]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=511</guid>
		<description><![CDATA[I fixed some bugs and added new features to my Flex Music Player example.
New Features

- View Modes: Normal and Large. I plan to add Full Screen in v.3.
 &#8211; Skins menu with Obsidian and Jukebox player skins as a follow up example to my previous Flex application CSS skinning post
- MusicVisualizer container component that you [...]]]></description>
			<content:encoded><![CDATA[<p>I fixed some bugs and added new features to my <a href="http://tarasnovak.com/blog/2009/01/13/flex-music-player-example/">Flex Music Player example</a>.</p>
<p><strong>New Features</strong></p>
<ol>
<li>- View Modes: Normal and Large. I plan to add Full Screen in v.3.</li>
<li> &#8211; Skins menu with Obsidian and Jukebox player skins as a follow up example to my previous <a href="http://tarasnovak.com/blog/2009/01/12/how-to-add-multiple-ui-skins-to-your-flex-application-with-compiled-css-stylesheets/" target="_blank">Flex application CSS skinning post</a></li>
<li>- MusicVisualizer container component that you can use with or without my Music Player control</li>
<li>- Alternative SmoothSpectrum visualization created by <a href="http://www.bytearray.org/?p=9" target="_blank">Thibault Imbert</a></li>
</ol>
<p><strong>MusicPlayer v.2 with MusicVisualizer</strong></p>
<p>Here is <a href="http://www.tarasnovak.com/lab/FlexMusicPlayer/02/FlexMusicPlayer.html" target="_blank">Flex Music Player v.2</a> with Jukebox UI skin in Large view mode with Music Visualizer set to Smooth Spectrum, playing 15 Step:</p>
<p><a href="http://www.tarasnovak.com/lab/FlexMusicPlayer/02/FlexMusicPlayer.html" target="_blank"><img class="size-full wp-image-533 alignnone" title="Flex Music Player 2" src="http://tarasnovak.com/blog/wp-content/uploads/2009/01/flexmusicplayer2.jpg" alt="flexmusicplayer2" width="480" height="384" /></a></p>
<p><strong>Interacting with Music Visualizations</strong></p>
<p>Click on the visualization to swap it.</p>
<p>Move your mouse over music visualization to change colors.</p>
<p>You can also change MusicPlayer&#8217;s mini visualization in the bottom left corner to alternate between wave, line and bars. This one is from <a href="http://blog.benstucki.net/?id=18" target="_blank">Ben Stucki</a>.</p>
<p>The skin swap and view mode toggle buttons are located in the bottom right corner of the Music Player.</p>
<p><strong>Source Code Updates<br />
</strong></p>
<p><a href="http://www.tarasnovak.com/lab/FlexMusicPlayer/srcview/index.html">View source</a> and let me know if you run into problems or what new features you&#8217;d like to see added in v.3.</p>
<p>I refactored the original <a href="http://nocreativity.com/blog/visualizr-source" target="_blank">Visualizr</a> and <a href="http://www.bytearray.org/?p=9" target="_blank">Smooth Spectrum</a> code to tweak them for my needs and converted them to custom UIComponents for easy inclusion in Flex mxml views.</p>
<p>You can grab them individually or use my Music Visualizer component (com.randomFractals.media.controls.MusicVisualizer).</p>
<p>I also cleaned up my music player code (com.randomFractals.media.controls.MusicPlayer) and added comments.</p>
<p><strong>Usage Example</strong></p>
<p>Here is an example of embedding MusicVisualizer and MusicPlayer in your application:</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span></span>
<span style="color: #000000;">	xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> </span>
<span style="color: #000000;">	xmlns:rf=<span style="color: #ff0000;">&quot;com.randomFractals.media.controls.*&quot;</span>	</span>
<span style="color: #000000;">	width=<span style="color: #ff0000;">&quot;100%&quot;</span> height=<span style="color: #ff0000;">&quot;100%&quot;</span> </span>
<span style="color: #000000;">	color=<span style="color: #ff0000;">&quot;#FFFFFF&quot;</span> backgroundAlpha=<span style="color: #ff0000;">&quot;0&quot;</span>  </span>
<span style="color: #000000;">	horizontalAlign=<span style="color: #ff0000;">&quot;center&quot;</span> </span>
<span style="color: #000000;">	verticalAlign=<span style="color: #ff0000;">&quot;middle&quot;</span> </span>
<span style="color: #000000;">	creationComplete=<span style="color: #ff0000;">&quot;initPlayer(event);&quot;</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #808080; font-style: italic;">&lt;!-- </span>
<span style="color: #000000;">... action script code from below...</span>
<span style="color: #000000;">--&gt;</span></span>
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:VBox</span> id=<span style="color: #ff0000;">&quot;musicBox&quot;</span></span>
<span style="color: #000000;">        verticalGap=<span style="color: #ff0000;">&quot;0&quot;</span>   </span>
<span style="color: #000000;">        horizontalAlign=<span style="color: #ff0000;">&quot;center&quot;</span></span>
<span style="color: #000000;">        verticalAlign=<span style="color: #ff0000;">&quot;middle&quot;</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
     <span style="color: #000000;"><span style="color: #7400FF;">&lt;rf:MusicVisualizer</span> id=<span style="color: #ff0000;">&quot;musicVis&quot;</span>  </span>
<span style="color: #000000;">         width=<span style="color: #ff0000;">&quot;{musicPlayer.width}&quot;</span> height=<span style="color: #ff0000;">&quot;400&quot;</span></span>
<span style="color: #000000;">         backgroundColor=<span style="color: #ff0000;">&quot;#212121&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
&nbsp;
     <span style="color: #000000;"><span style="color: #7400FF;">&lt;rf:MusicPlayer</span> id=<span style="color: #ff0000;">&quot;musicPlayer&quot;</span></span>
<span style="color: #000000;">resize=<span style="color: #ff0000;">&quot;{musicVis.height = (musicPlayer.width - musicPlayer.width/3)}&quot;</span> </span>
<span style="color: #000000;">         width=<span style="color: #ff0000;">&quot;422&quot;</span> height=<span style="color: #ff0000;">&quot;110&quot;</span> autoPlay=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
&nbsp;
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:VBox</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p>The AS code to initialize MusicPlayer and  load sample tracks is very simple, thanks to the <a href="http://playr.nocreativity.com/" target="_blank">Playr</a> control library:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">            
            <span style="color: #0033ff; font-weight: bold;">import</span> com.nocreativity.playr.<span style="color: #000000; font-weight: bold;">*</span>;
&nbsp;
            <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> playList<span style="color: #000000; font-weight: bold;">:</span>PlaylistManager;
&nbsp;
            <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> initPlayer<span style="color: #000000;">&#40;</span>event<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #009900;">// create a sample playlist</span>
                playList = <span style="color: #0033ff; font-weight: bold;">new</span> PlaylistManager<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
                <span style="color: #009900;">// add sample tracks</span>
                playList.addTrack<span style="color: #000000;">&#40;</span>
                    createTrack<span style="color: #000000;">&#40;</span><span style="color: #990000;">'Radiohead'</span>,
                        <span style="color: #990000;">'In Rainbows'</span>,
                        <span style="color: #990000;">'15 Step'</span>,
                        <span style="color: #990000;">'assets/music/15_Step.mp3'</span>, <span style="color: #000000; font-weight:bold;">228</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>;
&nbsp;
                <span style="color: #009900;">// add more tracks here</span>
&nbsp;
                <span style="color: #009900;">// load playlist</span>
                musicPlayer.playlist = playList;
            <span style="color: #000000;">&#125;</span>
&nbsp;
            <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> createTrack<span style="color: #000000;">&#40;</span><span style="color: #004993;">artist</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">String</span>, <span style="color: #004993;">album</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">String</span>,
                title<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">String</span>, file<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">String</span>, <span style="color: #004993;">seconds</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">uint</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span>PlayrTrack
            <span style="color: #000000;">&#123;</span>
                <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">track</span><span style="color: #000000; font-weight: bold;">:</span>PlayrTrack = <span style="color: #0033ff; font-weight: bold;">new</span> PlayrTrack<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
                <span style="color: #004993;">track</span>.<span style="color: #004993;">artist</span> = <span style="color: #004993;">artist</span>;
                <span style="color: #004993;">track</span>.<span style="color: #004993;">album</span> = <span style="color: #004993;">album</span>;
                <span style="color: #004993;">track</span>.title = title;
                <span style="color: #004993;">track</span>.file = file;
                <span style="color: #004993;">track</span>.totalSeconds = <span style="color: #004993;">seconds</span>;
                <span style="color: #0033ff; font-weight: bold;">return</span> <span style="color: #004993;">track</span>;
            <span style="color: #000000;">&#125;</span></pre></div></div>

<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li><a href="http://randomfractals.com/blog/2009/01/13/flex-music-player-example/" title="Flex Music Player Example">Flex Music Player Example</a></li><li><a href="http://randomfractals.com/blog/2008/10/10/simple-flex-music-player/" title="Simple Flex Music Player">Simple Flex Music Player</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2009/01/15/flex-music-player-v2/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Flex Music Player Example</title>
		<link>http://randomfractals.com/blog/2009/01/13/flex-music-player-example/</link>
		<comments>http://randomfractals.com/blog/2009/01/13/flex-music-player-example/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 15:07:44 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[flex music player]]></category>
		<category><![CDATA[music visualization]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=478</guid>
		<description><![CDATA[After analyzing my blog stats, I&#8217;ve discovered to my surprise that I get the most direct hits from Google search for a simple Flex music player example.
If you are still looking for one, see my new Flex Music Player:

I added support for multiple tracks with the Prev./Next track buttons and a couple of sample tracks, [...]]]></description>
			<content:encoded><![CDATA[<p>After analyzing my blog stats, I&#8217;ve discovered to my surprise that I get the most direct hits from Google search for a <a href="http://tarasnovak.com/blog/2008/10/10/simple-flex-music-player/">simple Flex music player</a> example.</p>
<p>If you are still looking for one, see my new <a href="http://www.tarasnovak.com/lab/FlexMusicPlayer/FlexMusicPlayer.html" target="_blank">Flex Music Player</a>:</p>
<p><a href="http://www.tarasnovak.com/lab/FlexMusicPlayer/FlexMusicPlayer.html" target="_blank"><img class="alignnone size-full wp-image-488" title="click to launch player" src="http://tarasnovak.com/blog/wp-content/uploads/2009/01/flexmusicplayer.png" alt="flexmusicplayer" width="420" height="419" /></a></p>
<p>I added support for multiple tracks with the Prev./Next track buttons and a couple of sample tracks, enabled track scrubbing (just click on the track), replaced the playback component with the <a rel="nofollow" href="http://playr.nocreativity.com/" target="_blank">Playr</a>, and added the music <a rel="nofollow" href="http://nocreativity.com/blog/visualizr-source" target="_blank">Visualizr</a> from <a rel="nofollow" href="http://nocreativity.com/blog/" target="_blank">Ronny Welter</a>. <a href="http://www.tarasnovak.com/lab/FlexMusicPlayer/srcview/index.html" target="_blank">View source</a> is enabled on this one, although it&#8217;s a little messy, but should give you a good head start.</p>
<p>I am planning to do a more extensive example with playlist management provided by the <a href="http://playr.nocreativity.com/">Playr</a>, cleaned-up source code, and a sample of pulling music from <a rel="nofollow" href="http://www.last.fm" target="_blank">last.fm</a> soon.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li><a href="http://randomfractals.com/blog/2010/03/04/some-degrafa-love/" title="Some Degrafa Love">Some Degrafa Love</a></li><li><a href="http://randomfractals.com/blog/2009/01/15/flex-music-player-v2/" title="Flex MusicPlayer v.2 with MusicVisualizer">Flex MusicPlayer v.2 with MusicVisualizer</a></li><li><a href="http://randomfractals.com/blog/2008/10/10/simple-flex-music-player/" title="Simple Flex Music Player">Simple Flex Music Player</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2009/01/13/flex-music-player-example/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Perlin Noise Music Vis</title>
		<link>http://randomfractals.com/blog/2008/10/16/perlin-noise-music-vis/</link>
		<comments>http://randomfractals.com/blog/2008/10/16/perlin-noise-music-vis/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 00:40:46 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[noise]]></category>
		<category><![CDATA[perlin]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=86</guid>
		<description><![CDATA[Here is a fun Perlin noise music vis with The X-Ecutioners &#8220;cuttin&#8217; it up, scratchin&#8217; it&#8230; They sounded so good they made everybody dance. (Check it out.)&#8221; &#8212; Like This:


(Click on the visualization to change color channels)
Doesn&#8217;t it look like a crowd dancing in the club? Well, close enough. Here is the real deal:

Related PostsInteractive [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a fun <a href="http://en.wikipedia.org/wiki/Perlin_noise" target="_blank">Perlin noise</a> music vis with The X-Ecutioners &#8220;cuttin&#8217; it up, scratchin&#8217; it&#8230; They sounded so good they made everybody dance. (Check it out.)&#8221; &#8212; Like This:</p>
<p style="text-align: center"><a href="http://tarasnovak.com/lab/PerlinNoiseMusicVis/PerlinNoiseMusicVis.html" target="_blank"><img class="size-full wp-image-99 aligncenter" title="Perlin Noise Music Vis" src="http://tarasnovak.com/blog/wp-content/uploads/2008/10/perlinnoisemusicvis1.jpg" alt="" width="320" height="320" /></a></p>
<p style="text-align: center;">
<p style="text-align: center;">(Click on the visualization to change color channels)</p>
<p>Doesn&#8217;t it look like a crowd dancing in the club? Well, close enough. Here is the real deal:</p>
<p style="text-align: center;"><a href="http://new.music.yahoo.com/videos/--2171487" target="_blank"><img class="size-medium wp-image-98 aligncenter" title="Like This by The X-ecutioners" src="http://tarasnovak.com/blog/wp-content/uploads/2008/10/likethis-300x225.jpg" alt="" width="300" height="225" /></a></p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li><a href="http://randomfractals.com/blog/2008/10/16/interactive-bitmapdata-perlin-noise-explorer/" title="Interactive BitmapData Perlin Noise Explorer">Interactive BitmapData Perlin Noise Explorer</a></li><li><a href="http://randomfractals.com/blog/2009/01/15/treemap-history/" title="Treemap History">Treemap History</a></li><li><a href="http://randomfractals.com/blog/2008/12/19/another-hit/" title="Another hit&#8230;">Another hit&#8230;</a></li><li><a href="http://randomfractals.com/blog/2008/10/10/noise-test/" title="Noise Test">Noise Test</a></li><li><a href="http://randomfractals.com/blog/2008/10/10/simple-flex-music-player/" title="Simple Flex Music Player">Simple Flex Music Player</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2008/10/16/perlin-noise-music-vis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simple Flex Music Player</title>
		<link>http://randomfractals.com/blog/2008/10/10/simple-flex-music-player/</link>
		<comments>http://randomfractals.com/blog/2008/10/10/simple-flex-music-player/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 18:53:55 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[flex music player]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[player]]></category>
		<category><![CDATA[simple]]></category>

		<guid isPermaLink="false">http://tarasnovak.wordpress.com/?p=5</guid>
		<description><![CDATA[It&#8217;s been a while since my first post. I parted with Pathfinder Dev a few weeks ago, switched this blog to self-hosting, and currently looking for new opportunities.
While I am looking for a new gig, I&#8217;ll try to revive this blog by remixing and publishing some old toys I&#8217;ve prototyped to get my Flex chops [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since my first post. I parted with Pathfinder Dev a few weeks ago, switched this blog to self-hosting, and currently looking for new opportunities.</p>
<p>While I am looking for a new gig, I&#8217;ll try to revive this blog by remixing and publishing some old toys I&#8217;ve prototyped to get my Flex chops together.</p>
<p>Here is the one that did not make the cut for that internal AIR Flair presentation. I had to play that jungle <a title="Bamboo Banga by M.I.A." href="http://www.youtube.com/watch?v=4OPRkMAM1fA" target="_blank">Bamboo Banga</a> beat in WMP11.</p>
<p style="text-align: center;">(Click on the image to play and download sample code)</p>
<p style="text-align: center;"><a title="Simple Flex Music Player" href="http://www.tarasnovak.com/lab/SimpleMusicPlayer/SimpleMusicPlayer.html" target="_blank"><img class="size-full wp-image-15 aligncenter" title="Simple Flex Music Player" src="http://tarasnovak.com/blog/wp-content/uploads/2008/10/simplemusicplayer.jpg" alt="" width="405" height="106" /></a></p>
<p>That&#8217;s my take on simple mp3 player in Flex. Click on that visualization to see some bars jump.</p>
<p>Most of the heavy lifting is done by the components from the flex community listed below.</p>
<p><span id="more-4"></span> <strong>Under the hood:</strong></p>
<p><a title="Obsidian Flex UI Skin Explorer" href="http://www.scalenine.com/themes/obsidian/obsidian.html" target="_blank">Obsidian Flex UI</a> skin from <a title="ScaleNine Skins Gallery" href="http://www.scalenine.com/gallery/gallery-2.php" target="_blank">scalenine.com gallery</a> to give this player some polished look and feel.</p>
<p><a title="MP3Player" href="http://labs.flexcoders.nl/samples/MP3Player/version003/srcview/index.html" target="_blank">nl.fxc.controls.MP3Player.as</a> class from <a href="http://labs.flexcoders.nl/" target="_blank">labs.flexcoders.nl</a> for the audio playback control with minor changes to expose some properties and events to the main view controls. Why reinvent the wheel :)</p>
<p>Music Visualization is provided by the excellent <a title="Free Audio Visualization Component" href="http://blog.benstucki.net/?id=18" target="_blank">Audio Visualization component by Ben Stucki</a>.</p>
<p>I created the main mxml view, layout and custom icons. All in all about two pages of code and a couple of days to prototype it and publish.</p>
<p>Now, this music player is intentionally very basic and only plays one sample.mp3 track from the /assets/music folder.</p>
<p>If you are looking for a more versatile Flex music player that&#8217;s scriptable and supports playlists, I&#8217;d suggest you grab the latest <a href="http://code.google.com/p/xmlmp3player/" target="_blank">Flex xml mp3 player</a> which is an excellent port of the well known <a href="http://musicplayer.sourceforge.net/" target="_blank">XSPF Web Music Player</a> to Flex.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li><a href="http://randomfractals.com/blog/2009/01/15/flex-music-player-v2/" title="Flex MusicPlayer v.2 with MusicVisualizer">Flex MusicPlayer v.2 with MusicVisualizer</a></li><li><a href="http://randomfractals.com/blog/2009/01/13/flex-music-player-example/" title="Flex Music Player Example">Flex Music Player Example</a></li><li><a href="http://randomfractals.com/blog/2008/10/16/perlin-noise-music-vis/" title="Perlin Noise Music Vis">Perlin Noise Music Vis</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2008/10/10/simple-flex-music-player/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
