<?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; Flex</title>
	<atom:link href="http://randomfractals.com/blog/category/flex/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>Some Degrafa Love</title>
		<link>http://randomfractals.com/blog/2010/03/04/some-degrafa-love/</link>
		<comments>http://randomfractals.com/blog/2010/03/04/some-degrafa-love/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 07:11:43 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[Degrafa]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[2D]]></category>
		<category><![CDATA[music visualization]]></category>
		<category><![CDATA[Shape]]></category>
		<category><![CDATA[Super]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=765</guid>
		<description><![CDATA[Here is a fun short piece I did last summer when Degrafa SuperShape came out:
Degrafa ShapeUp Music Viz

You can view all 100 lines of code that make those shapes pulse here.
Related PostsFrom Day 1 of Flex SVG Explorer Dev and ResearchFlex Music Player Example2008 Presidential Candidates Campaign Finances ]]></description>
			<content:encoded><![CDATA[<p>Here is a fun short piece I did last summer when <a title="Degrafa SuperShape 2D" href="http://www.degrafa.org/blog/tag/supershape/" target="_blank">Degrafa SuperShape</a> came out:</p>
<p><a title="Degrafa ShapeUp Music Viz" href="http://www.randomfractals.com/lab/music/ShapeUp/ShapeUp.html" target="_blank">Degrafa ShapeUp Music Viz</a></p>
<p><a href="http://www.randomfractals.com/lab/music/ShapeUp/ShapeUp.html"><img class="size-medium wp-image-768" title="SuperShape" src="http://tarasnovak.com/blog/wp-content/uploads/2010/03/heart-400x374.png" alt="" width="400" height="374" /></a></p>
<p>You can view all 100 lines of code that make those shapes pulse <a title="ShapeUp" href="http://www.randomfractals.com/lab/music/ShapeUp/srcview/index.html" target="_blank">here</a>.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><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><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/11/04/2008-presidential-candidates-campaign-finances/" title="2008 Presidential Candidates Campaign Finances ">2008 Presidential Candidates Campaign Finances </a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2010/03/04/some-degrafa-love/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>Degrafa SVG Painter</title>
		<link>http://randomfractals.com/blog/2009/02/08/degrafa-svg-painter-app/</link>
		<comments>http://randomfractals.com/blog/2009/02/08/degrafa-svg-painter-app/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 05:46:31 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Degrafa SVG Painter]]></category>
		<category><![CDATA[Flex SVG]]></category>
		<category><![CDATA[SVG Painter]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=730</guid>
		<description><![CDATA[I&#8217;ve encountered a temporary roadblock in wiring up Object Handles with SVG Viewer API in Flex SVG Explorer to enable shape selections. Will work on it next week.
Degrafa SVG Painter (v. 0.1)
Here is another Flex SVG application I started this week: Degrafa SVG Painter.

It&#8217;s very basic and a little slow for creating sophisticated drawings, but [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve encountered a temporary roadblock in wiring up <a href="http://www.rogue-development.com/objectHandles.html" target="_blank">Object Handles</a> with <a href="http://code.google.com/p/svg-viewer/" target="_blank">SVG Viewer API</a> in <a href="http://www.randomfractals.com/lab/FlexSVGExplorer/01/FlexSVGExplorer.html" target="_blank">Flex SVG Explorer</a> to enable shape selections. Will work on it next week.</p>
<p><strong>Degrafa SVG Painter</strong> (v. 0.1)</p>
<p>Here is another Flex SVG application I started this week: <a href="http://www.randomfractals.com/lab/DegrafaSVGPainter/02/DegrafaSVGPainter.html" target="_blank">Degrafa SVG Painter</a>.</p>
<p><a href="http://www.randomfractals.com/lab/DegrafaSVGPainter/02/DegrafaSVGPainter.html" target="_blank"><img class="aligncenter size-full wp-image-732" title="Degrafa SVG Painter 01" src="http://tarasnovak.com/blog/wp-content/uploads/2009/02/degrafasvgpainter01small.jpg" alt="Degrafa SVG Painter 01" width="480" height="360" /></a></p>
<p>It&#8217;s very basic and a little slow for creating sophisticated drawings, but I was able to create the painting above.</p>
<p>I call this one &#8220;<em>Shapes and Strokes</em>&#8221; :)</p>
<p><strong>SVG Code View</strong></p>
<p>Besides the main Paint Canvas, there is also an SVG code view in Degrafa Painter that displays the resulting SVG drawing code you can save for later use in other SVG tools:</p>
<p><a href="http://www.randomfractals.com/lab/DegrafaSVGPainter/02/DegrafaSVGPainter.html" target="_blank"><img class="aligncenter size-full wp-image-734" title="Degrafa SVG Painter: SVG Code View" src="http://tarasnovak.com/blog/wp-content/uploads/2009/02/degrafasvgpainter01codesmall.jpg" alt="Degrafa SVG Painter: SVG Code View" width="480" height="359" /></a></p>
<p>Click on the screenshots above to see the first rev. of <a href="http://www.randomfractals.com/lab/DegrafaSVGPainter/02/DegrafaSVGPainter.html" target="_blank">Degrafa SVG Painter</a>.</p>
<p><strong>Source Code Details</strong></p>
<p>This one is obviously done with Degrafa, demoing its dynamic drawing features.</p>
<p>The main Canvas uses the Surface UI component, but the Stroke Preview, Line Cap and Line Join buttons in the stroke control bar are done with the lightweight GeometryComposition object.</p>
<p>That gorgeous Photoshop Express-like UI theme is called <a href="http://www.scalenine.com/themes/kingnare/Kingnare.html" target="_blank">Kingnare</a>, created by <a href="http://www.kingnare.com/auzn/" target="_blank">Jin Xin</a>.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li><a href="http://randomfractals.com/blog/2009/02/10/closing-the-flex-svg-loop/" title="Closing the Flex SVG Loop">Closing the Flex SVG Loop</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2009/02/08/degrafa-svg-painter-app/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>From Day 1 of Flex SVG Explorer Dev and Research</title>
		<link>http://randomfractals.com/blog/2009/02/06/from-day-1-of-flex-svg-explorer-dev-and-research/</link>
		<comments>http://randomfractals.com/blog/2009/02/06/from-day-1-of-flex-svg-explorer-dev-and-research/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 18:24:47 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[AS SVG API]]></category>
		<category><![CDATA[Degrafa]]></category>
		<category><![CDATA[Flex SVG Explorer]]></category>
		<category><![CDATA[GeoWeb]]></category>
		<category><![CDATA[SVG tools]]></category>
		<category><![CDATA[SVG Viewer]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=710</guid>
		<description><![CDATA[I meant to post this yesterday, but ran out of time.
Flex SVG Explorer Preview
Here is a preview of Flex SVG Explorer I started the other day:

I&#8217;ve decided to start this personal Flex project to explore available SVG import/export options and related APIs in Flex.
The idea came to me after checking out some SVG designer tools [...]]]></description>
			<content:encoded><![CDATA[<p>I meant to post this yesterday, but ran out of time.</p>
<p><strong>Flex SVG Explorer Preview</strong></p>
<p>Here is a <a href="http://www.tarasnovak.com/lab/FlexSVGExplorer/01/FlexSVGExplorer.html#" target="_blank">preview of Flex SVG Explorer</a> I started the other day:</p>
<p><a title="Click to Preview" href="http://www.tarasnovak.com/lab/FlexSVGExplorer/01/FlexSVGExplorer.html" target="_blank"><img class="aligncenter size-full wp-image-721" title="flexsvgexplorer01small" src="http://tarasnovak.com/blog/wp-content/uploads/2009/02/flexsvgexplorer01small.jpg" alt="flexsvgexplorer01small" width="480" height="304" /></a></p>
<p>I&#8217;ve decided to start this personal Flex project to explore available SVG import/export options and related APIs in Flex.</p>
<p>The idea came to me after checking out some SVG designer tools like <a href="http://www.inkscape.org/screenshots/index.php?lang=en&amp;version=0.46" target="_blank">InkSpace</a>, <a href="http://www.w3.org/Amaya/screenshots/Overview.html" target="_blank">Amaya</a>, and  <a href="http://www.kiyut.com/products/sketsa/index.html" target="_blank">Sketsa</a> and finding out that people still think SVG can&#8217;t be loaded into a Flex app and made interactive since the stock SWFLoader does not support SVG animation, scripting, or interactivity with the imported SVG image graphics.</p>
<p><strong>Current and Planned Flex SVG Explorer Features</strong></p>
<p>The current version doesn&#8217;t not have much to offer yet, but that depends on what you expect to see from one day of work.</p>
<p>I&#8217;ve layed out the main canvas with a zoom slider, added SVG text display, and created a toolbox section with SVG document tree and tabs for future property display and editing options. All in one day of work. There is no SVG file upload or url box yet, but you can preview sample graphics by selecting them from the combo box in the Toolbox.</p>
<p>Eventually, I&#8217;d like to fill the Toolbox with some SVG document display options, like referenced images, links, SVG element usage statistics, styles and attributes editor grids, but you should see the general direction there already. I am also planning to add SVG markup code highlighting.</p>
<p>Currently, I am working on getting shape selections done. Once that is in a lot of editing and painting options will be available to create new SVG graphics or edit existing ones.</p>
<p><strong>Flex SVG Explorer UI Theme</strong></p>
<p>I picked the <a href="http://www.scalenine.com/themes/undefined/Undefined.html" target="_blank">Undefined Flex UI Theme</a> from <a href="http://www.scalenine.com/gallery/" target="_blank">scalenine.com theme gallery</a>, although it&#8217;s just a temporary theme before I find time to create a unique look and feel and Flex SVG logo.</p>
<p><strong>Sample SVG Graphics</strong></p>
<p>The sample SVG graphics are from <a href="http://www.openclipart.org/">openclipart.com</a>.</p>
<p><strong>SVG Loading API</strong></p>
<p>Well, turns out you can load SVG files and make them interactive with <a href="http://labs.zavoo.com/?cat=10" target="_blank">SVG Viewer</a>, and no, I am not talking about <a href="http://www.adobe.com/svg/viewer/install/">Adobe SVG Viewer IE plugin</a> this time.</p>
<p><a href="http://code.google.com/p/svg-viewer/" target="_blank">SVG Viewer API</a> from <a href="http://labs.zavoo.com/?p=93" target="_blank">com.zavoo.labs</a> just got moved to Google code in December. This library is a jewel find that fills the existing gap of loading SVG graphics in Flex and interacting with the loaded graphics elements. Until the rumored SVG to Degrafa  Converter tool and hopefully some converter API comes out, I don&#8217;t think there is a better choice for loading SVG graphics in Flex, if you are looking to do more than just display a static image.</p>
<p><strong>Jamming SVG with Flex?</strong></p>
<p>Now, I&#8217;d love to sign up for a conference to do a session on &#8220;Jamming SVG with Flex&#8221; and present some of my experiments with <a href="http://www.degrafa.org/" target="_blank">Degrafa</a>, <a href="http://code.google.com/p/svg-viewer/" target="_blank">SVG Viewer API</a>, SVG-based painting in Flex, along with practical data visualization components using <a href="http://commons.wikimedia.org/wiki/Category:Blank_SVG_maps_of_the_world" target="_blank">Blank SVG maps of the world</a> and Away3D to push an envelope on SVG usage in Flex and truly scalable GeoWeb.</p>
<p>Anyone interested?</p>
<p>My preference would be <a href="http://www.fitc.ca/event_list.cfm" target="_blank">FITC conference</a> in Chicago, but I am open to other conference suggestions and locations, if they cover the travel and stay cost.</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/02/10/closing-the-flex-svg-loop/" title="Closing the Flex SVG Loop">Closing the Flex SVG Loop</a></li><li><a href="http://randomfractals.com/blog/2009/02/05/back-to-svg-and-a-cup-of-java-me/" title="Back to SVG and a cup of Java ME">Back to SVG and a cup of Java ME</a></li><li><a href="http://randomfractals.com/blog/2009/01/19/some-cool-3d-stuff-and-degrafa-maps-coming-soon/" title="Some cool 3D stuff and Degrafa Maps coming soon">Some cool 3D stuff and Degrafa Maps coming soon</a></li><li><a href="http://randomfractals.com/blog/2008/11/04/2008-presidential-candidates-campaign-finances/" title="2008 Presidential Candidates Campaign Finances ">2008 Presidential Candidates Campaign Finances </a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2009/02/06/from-day-1-of-flex-svg-explorer-dev-and-research/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Back to SVG and a cup of Java ME</title>
		<link>http://randomfractals.com/blog/2009/02/05/back-to-svg-and-a-cup-of-java-me/</link>
		<comments>http://randomfractals.com/blog/2009/02/05/back-to-svg-and-a-cup-of-java-me/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 21:32:02 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[tetris]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=687</guid>
		<description><![CDATA[Over the past two weeks I&#8217;ve been plowing through tons of SVG code, rereading the good old SVG Essentials reference book and checking out Painting the Web, a more recent title on modern web design and graphics, in preparation for some potential mobile app work with SVG, Java ME, and hopefully some Flex here and [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past two weeks I&#8217;ve been plowing through tons of SVG code, rereading the good old <a href="http://oreilly.com/catalog/9780596002237/index.html" target="_blank">SVG Essentials</a> reference book and checking out <a href="http://oreilly.com/catalog/9780596515096/index.html" target="_blank">Painting the Web</a>, a more recent title on modern web design and graphics, in preparation for some potential mobile app work with <a href="http://www.w3.org/Graphics/SVG/" target="_blank">SVG</a>, <a href="http://java.sun.com/javame/index.jsp" target="_blank">Java ME</a>, and hopefully some Flex here and there.</p>
<p>Turns out <a href="http://www.w3.org/TR/SVGTiny12/" target="_blank">SVG Tiny</a> is the only standard that is <a href="http://svg.org/special/svg_phones" target="_blank">supported by most mobile phones</a> to do any decent UI design work for mobile devices. By now all major browsers including <a href="http://webkit.org/" target="_blank">WebKit</a> and the clones with their mobile versions support SVG, which is a good choice for mobile devices due to the varying screen sizes, limited bandwidth and memory.</p>
<p>So, I&#8217;ve decided to get back to SVG and a cup of <a href="http://java.sun.com/javame/index.jsp" target="_blank">Java ME</a>, even though I am still planning to do some Flex dev work.</p>
<p>To refresh my memory on how things work in SVG and speed up UI design I&#8217;ll be using Flex with some open source SVG frameworks for prototyping since I am very comfortable in this development environment. Besides, Java ME graphics api is not much different from the core Flash graphics api and should be easy to port to.</p>
<p>After a brief time of setting up my new mobile Java dev. environment, checking out all the emulators, and getting some code moving things, I can tell that I have not missed much in 5 years as far as Java and SVG goes.</p>
<p>A few years ago, I&#8217;ve built a <a href="http://www.niku.com/clarity-products-49.html#startCIO" target="_blank">full-blown data visualization library in SVG</a> for a corporate portal dashboard solution. This was done back in the days when not many folks knew about SVG, Adobe just released and still supported their IE <a href="http://www.adobe.com/svg/viewer/install/" target="_blank">SVG Viewer</a> browser plugin, and Java portals, XML and XSL were the hottest technologies to use for web apps.</p>
<p>Many things have changed in web application development over the years. Open-source software, virtualization, cloud computing, mobile web, REST, and component-based frameworks are the new norm now.</p>
<p>It&#8217;s good to finally see SVG gaining momentum and becoming a standard that is supported and used in web applications and on mobile devices. I think slowly but surely SVG will replace raster images for most web graphics and mobile app UI design needs, as well as enable true scalable GeoWeb that&#8217;s beyond raster image tiles backbone.</p>
<p>Expect more posts on Flex, SVG, GeoWeb and mobile Java from now on.</p>
<p>In the meantime, here is a <a href="http://www.tarasnovak.com/lab/DegrafaTetris/01/DegrafaTetris.html" target="_blank">quick Degrafa Tetris game</a> (with source) I hacked last weekend for fun. I came across <a href="http://www.croczilla.com/svg/samples/svgtetris" target="_blank">Mozilla SVG Tetris</a> and just could not resist the temptation.  Tetris running in MS-DOS on <a href="http://wapedia.mobi/en/UKNC" target="_blank">UKNC</a> was the first computer game I&#8217;ve played back in 1988. And yes, I know <a href="http://en.wikipedia.org/wiki/Turbo_Pascal" target="_blank">Turbo Pascal</a> too, in case you wonder. It was the first programming language most Soviet Computer Science students mastered back then.</p>
<p>Look where we are now.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><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><li><a href="http://randomfractals.com/blog/2009/01/19/some-cool-3d-stuff-and-degrafa-maps-coming-soon/" title="Some cool 3D stuff and Degrafa Maps coming soon">Some cool 3D stuff and Degrafa Maps coming soon</a></li><li><a href="http://randomfractals.com/blog/2009/01/12/flick-flip-book-light/" title="Flick Flip Book Light">Flick Flip Book Light</a></li><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/2008/10/10/noise-test/" title="Noise Test">Noise Test</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2009/02/05/back-to-svg-and-a-cup-of-java-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex 3D Degrafa Earth Globe with 2D World Map Plane</title>
		<link>http://randomfractals.com/blog/2009/01/22/flex-3d-degrafa-earth-globe-with-2d-world-map-plane/</link>
		<comments>http://randomfractals.com/blog/2009/01/22/flex-3d-degrafa-earth-globe-with-2d-world-map-plane/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 15:53:57 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[2D World Map]]></category>
		<category><![CDATA[3D Earth Globe]]></category>
		<category><![CDATA[Degrafa Globe]]></category>
		<category><![CDATA[Degrafa Maps]]></category>
		<category><![CDATA[Flex 3D]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=658</guid>
		<description><![CDATA[That Degrafa Globe sparkled some interest from the Degrafa community, so I&#8217;ve decided to make quick updates the other day:
1) country regions are now interactive on the globe, just mouse over a country;
2) select a country with a mouse click;
3) there is a new 2D source world map plane with a slight X-axis rotation;
4) new [...]]]></description>
			<content:encoded><![CDATA[<p>That Degrafa Globe sparkled some interest from the <a href="http://twitter.com/degrafa" target="_blank">Degrafa community</a>, so I&#8217;ve decided to make quick updates the other day:</p>
<p>1) country regions are now interactive on the globe, just mouse over a country;</p>
<p>2) select a country with a mouse click;</p>
<p>3) there is a new 2D source world map plane with a slight X-axis rotation;</p>
<p>4) new map color scheme with different strokes and fill colors for the up, down and selected country states;</p>
<p>5) country tooltips display was added too, although it&#8217;s in French;</p>
<p>Click on the screenshot below to see it in action.</p>
<p><a title="Click to see it in action" href="http://www.tarasnovak.com/lab/DegrafaGlobe/DegrafaGlobe.html" target="_blank"><img class="alignnone size-full wp-image-659" title="Flex 3D Degrafa Earch Globe with a World Map Plane" src="http://tarasnovak.com/blog/wp-content/uploads/2009/01/flex3ddegrafaglobesmall.jpg" alt="flex3ddegrafaglobesmall" width="480" height="359" /></a></p>
<p>V.2 will see some <a href="http://www.away3d.com/docs/away3d/cameras/HoverCamera3D.html" target="_blank">Away3D HoverCamera</a> action to orbit the globe on mouse move and clicks, English tooltips for countries with <a href="http://www.iso.org/iso/english_country_names_and_code_elements" target="_blank">ISO 3166 2-letter country code</a> for region ids, and hopefully some open-source Degrafa world map and globe code to share.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li><a href="http://randomfractals.com/blog/2009/01/19/some-cool-3d-stuff-and-degrafa-maps-coming-soon/" title="Some cool 3D stuff and Degrafa Maps coming soon">Some cool 3D stuff and Degrafa Maps coming soon</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2009/01/22/flex-3d-degrafa-earth-globe-with-2d-world-map-plane/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Some cool 3D stuff and Degrafa Maps coming soon</title>
		<link>http://randomfractals.com/blog/2009/01/19/some-cool-3d-stuff-and-degrafa-maps-coming-soon/</link>
		<comments>http://randomfractals.com/blog/2009/01/19/some-cool-3d-stuff-and-degrafa-maps-coming-soon/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 18:48:27 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[Away3D]]></category>
		<category><![CDATA[Degrafa Globe]]></category>
		<category><![CDATA[Degrafa Maps]]></category>
		<category><![CDATA[Flickorama]]></category>
		<category><![CDATA[flickr flip book]]></category>
		<category><![CDATA[List3D]]></category>
		<category><![CDATA[OpenFlux]]></category>
		<category><![CDATA[PlexiGlass]]></category>
		<category><![CDATA[Tweener]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=606</guid>
		<description><![CDATA[I am going to put my multimedia experiments and updates to media players and flickr mashups on hold to repackage and publish some really cool 3D stuff and interactive maps I&#8217;ve done with OpenFlux, Away3d,  Tweener, and Degrafa.

Flickorama 3D Update and Camera Work
Inspired by the PlexiGlass (OpenFlux 3D) example that opened easy to use Element [...]]]></description>
			<content:encoded><![CDATA[<p>I am going to put my multimedia experiments and updates to media players and flickr mashups on hold to repackage and publish some really cool 3D stuff and interactive maps I&#8217;ve done with <a href="http://code.google.com/p/openflux/" target="_blank">OpenFlux</a>, <a href="http://away3d.com/" target="_blank">Away3d</a>, <a href="http://code.google.com/p/tweener/" target="_blank"> Tweener</a>, and <a href="http://www.degrafa.org/" target="_blank">Degrafa</a>.</p>
<p><a title="See Flickorama 3D Update Live" href="http://www.randomfractals.com/Flickorama/Flickorama.html" target="_blank"><img class="alignright size-full wp-image-618" title="Flickorama 3D: Random Layout" src="http://tarasnovak.com/blog/wp-content/uploads/2009/01/randomthumb.jpg" alt="randomthumb" width="240" height="180" /></a></p>
<p><strong>Flickorama 3D Update and Camera Work</strong></p>
<p>Inspired by the <a href="http://www.bobjim.com/2008/04/04/updated-plexiglass-openflux-3d-example/" target="_blank">PlexiGlass (OpenFlux 3D) example</a> that opened easy to use <a href="http://blog.pixelingene.com/?p=20" target="_blank">Element Flow</a>-like capabilities to Flex applications, I created <a href="http://www.randomfractals.com/Flickorama/Flickorama.html" target="_blank">Flickorama</a> mashup last year to explore public photos from Flickr.</p>
<p>You can read about it in my outdated by now <a href="http://tarasnovak.com/blog/2008/11/03/flickorama-update/">Flickorama update</a> post or see an independent <a href="http://ericmiraglia.com/blog/?p=115" target="_blank">Flickorama review</a> by Eric Miraglia on his <a href="http://ericmiraglia.com/blog/" target="_blank">Impressive Pixel</a> blog.</p>
<p>A lot has changed in Flickorama since then. The added camera work with pan, tilt and zoom features provided by the tucked in <a href="http://away3d.com/" target="_blank">Away3D</a> engine, along with the added keyboard navigation make it a breeze now to flip through a stack of photos. I also added new Random view layout option and integrated my <a href="http://tarasnovak.com/blog/2009/01/06/flickr-flip-book/" target="_blank">Flickr Flipbook</a>, but that deserves a separate post.</p>
<p><strong>Random3DView Demo and List3D</strong></p>
<p>The only reason I am rambling about those updates because while digging through <a href="http://code.google.com/p/openflux/source/browse/#svn/trunk/OpenFlux/com/plexiglass" target="_blank">openflux plexiglass trunk code</a> I&#8217;ve tried different layouts and cameras, ended up adding a couple of my own and making some tweaks to existing cameras and layouts for improved interaction and user experience.<a href="http://www.tarasnovak.com/lab/Random3DView/Random3DView.html" target="_blank"><img class="alignright size-full wp-image-633" title="Random 3D View Demo" src="http://tarasnovak.com/blog/wp-content/uploads/2009/01/random3dviewthumb.jpg" alt="random3dviewthumb" width="240" height="230" /></a></p>
<p>Now, I have not seen any updates to the openflux library recently, and I am not sure about openflux roadmap or future development work, although I really like the separation of model, view, layout and 3D perspective that this library provides.</p>
<p>However, if you have an application that requires similar 3D list view display, I created a <a href="http://www.tarasnovak.com/lab/Random3DView/Random3DView.html" target="_blank">Random3DView demo</a> that demonstrates the setup behind Flickorama 3D photo viewer. You can <a href="http://www.tarasnovak.com/lab/Random3DView/srcview/index.html" target="_blank">view Random3DView source code</a> and the resulting camera and layout work in the updated <a href="http://www.randomfractals.com/Flickorama/Flickorama.html" target="_blank">Flickorama 3D mashup</a>.</p>
<p>While working on Random3DView I realized that there must be many applications that could benefit from a simple List3D view component that taps into Away3d capabilities with OpenFlux Plexiglass or some other MVC framework overlayed, yet hidden and nicely encapsulated for simple List 3D data binding and rendering.</p>
<p>So, I&#8217;ve decided to do some refactoring on my Random3DView code and see if I can create a reusable List3D component that will make it very easy for anyone to put together a Flex application like <a href="http://www.randomfractals.com/Flickorama/Flickorama.html">Flickorama</a>, backed by the powerful Away3D engine with some Tweener animation and different layouts, in minutes. Stay tuned for updates.</p>
<p><strong>Degrafa Maps and Globe</strong></p>
<p><a href="http://www.tarasnovak.com/lab/DegrafaMaps/DegrafaMaps.html" target="_blank"><img class="alignright size-full wp-image-635" title="Degrafa Maps Demo" src="http://tarasnovak.com/blog/wp-content/uploads/2009/01/degrafamapthumb.jpg" alt="degrafamapthumb" width="240" height="124" /></a></p>
<p>Some Degrafa world maps in various projections and mapping to 3D globe with Flex 3D are coming in the next few weeks too.</p>
<p>You can see some early demos of my Degrafa maps <a href="http://www.tarasnovak.com/lab/DegrafaMaps/DegrafaMaps.html" target="_blank">here</a>. Some nights and weekends were spent on converting <a href="http://commons.wikimedia.org/wiki/Category:Blank_SVG_maps_of_the_world" target="_blank">blank SVG maps of the world</a> to make those interactive maps with selectable regions and countries in Flex. I am currently rethinking how those maps are configured and loaded.</p>
<p>You can see a production version of my Degrafa mapping technology used in a Beer Hunter application on <a href="http://destinationbeer.com/beer_hunter/" target="_blank">destinationbeer.com</a>.</p>
<p><a href="http://www.tarasnovak.com/lab/DegrafaGlobe/DegrafaGlobe.html" target="_blank"><img class="alignright size-full wp-image-637" title="Degrafa Globe alpha" src="http://tarasnovak.com/blog/wp-content/uploads/2009/01/degrafaglobethumb.jpg" alt="Degrafa Globe alpha" width="240" height="182" /></a></p>
<p>This <a href="http://v2.flexcoders.nl/2008/11/05/using-moviematerial-away3dflex3d/" target="_blank">Flex 3D Earth demo</a> and my poking in Away3D lately gave me some ideas on creating a rotating <a href="http://www.tarasnovak.com/lab/DegrafaGlobe/DegrafaGlobe.html" target="_blank">Degrafa Globe</a> that I am planning to enable and get it to work with my degrafa map, zoom in, tooltips and all the 3d camera rotation and tilt effects.</p>
<p>So, check back for some demos and new open source List3D and Map3D components soon.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li><a href="http://randomfractals.com/blog/2008/11/03/flickorama-update/" title="Flickorama update">Flickorama update</a></li><li><a href="http://randomfractals.com/blog/2008/10/20/flickorama-openflux-plexiglass-flickr-mashup/" title="Flickorama &#8211; OpenFlux PlexiGlass Flickr Mashup">Flickorama &#8211; OpenFlux PlexiGlass Flickr Mashup</a></li><li><a href="http://randomfractals.com/blog/2009/01/22/flex-3d-degrafa-earth-globe-with-2d-world-map-plane/" title="Flex 3D Degrafa Earth Globe with 2D World Map Plane">Flex 3D Degrafa Earth Globe with 2D World Map Plane</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><li><a href="http://randomfractals.com/blog/2009/02/05/back-to-svg-and-a-cup-of-java-me/" title="Back to SVG and a cup of Java ME">Back to SVG and a cup of Java ME</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://randomfractals.com/blog/2009/01/19/some-cool-3d-stuff-and-degrafa-maps-coming-soon/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Simple Flex Video Player</title>
		<link>http://randomfractals.com/blog/2009/01/16/simple-flex-video-player/</link>
		<comments>http://randomfractals.com/blog/2009/01/16/simple-flex-video-player/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 22:12:08 +0000</pubDate>
		<dc:creator>Taras</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[flex animation effects]]></category>
		<category><![CDATA[flex video player]]></category>
		<category><![CDATA[player ui skins]]></category>

		<guid isPermaLink="false">http://tarasnovak.com/blog/?p=567</guid>
		<description><![CDATA[Since I am on the media playa&#8217; streak this week, I figured I might as well clean up and publish my Simple Flex Video Player.
It&#8217;s been sitting in my lab for a few months now (Hint: check out my right side bar links). I just did not have the time lately to polish and publish [...]]]></description>
			<content:encoded><![CDATA[<p>Since I am on the media playa&#8217; streak this week, I figured I might as well clean up and publish my <a href="http://www.tarasnovak.com/lab/SimpleVideoPlayer/SimpleVideoPlayer.html">Simple Flex Video Player</a>.</p>
<p>It&#8217;s been sitting in my lab for a few months now (Hint: check out my right side bar links). I just did not have the time lately to polish and publish it.</p>
<p>This <a href="http://www.tarasnovak.com/lab/SimpleVideoPlayer/srcview/index.html " target="_blank">Video Player Flex component</a> has similar look and feel of my <a href="http://www.tarasnovak.com/lab/FlexMusicPlayer/FlexMusicPlayer.html">Flex Music player</a> and wraps the VideoDisplay control with some video resize and skinning options.</p>
<p>Here is a sample &#8220;<a title="&quot;Little Toy Gun&quot; on YouTube" href="http://www.youtube.com/watch?v=PtQw94OpNKw" target="_blank">Little Toy Gun</a>&#8221; video by <a href="http://www.honeyhoneymusic.com/honeyhoney/honeyhoney_home.html" target="_blank">Honey Honey</a>. Click on the video screenshot to <a href="http://www.tarasnovak.com/lab/SimpleVideoPlayer/SimpleVideoPlayer.html" target="_blank">play it</a>. Drag the slider thumb to seek video.</p>
<p style="text-align: center;"><a href="http://www.tarasnovak.com/lab/SimpleVideoPlayer/SimpleVideoPlayer.html" target="_blank"><img class="size-full wp-image-573 aligncenter" title="Play Little Toy Gun by Honey Honey" src="http://tarasnovak.com/blog/wp-content/uploads/2009/01/littletoygun.jpg" alt="littletoygun" width="342" height="325" /><br />
</a></p>
<p>The video player skin and resize controls are located in the bottom right corner.</p>
<p>It&#8217;s amazing how simple it is to add some quick and yet visually appealing animation effects with <a href="http://code.google.com/p/tweener/" target="_blank">Tweener</a>. I am also looking forward to find some free time to check out and compare Tweener with Grant Skinner&#8217;s new <a href="http://www.gskinner.com/blog/archives/2008/12/gtween_beta_3_t.html" target="_blank">GTween library</a>.</p>
<p>If you like that default Shadow UI skin I&#8217;ve used for this player, you can download it from <a href="http://www.scalenine.com/themes/shadow/shadow.html">scalenine.com</a></p>
<p><strong>Source Code and Example</strong></p>
<p>You can <a href="http://www.tarasnovak.com/lab/SimpleVideoPlayer/srcview/index.html" target="_blank">view VideoPlayer component source</a> and <a href="http://www.tarasnovak.com/lab/SimpleVideoPlayer/srcview/SimpleVideoPlayer.zip" target="_blank">download it</a> for further customizations. Feel free to use it in your Flex applications as long as you give me some credit for the grunt UI work and all the video playback wiring.</p>
<p>BTW, those are original icons I&#8217;ve designed with <a href="http://www.microangelo.us/" target="_blank">Microangelo</a>. I find pixel plugging exercise very relaxing in the late hours :)</p>
<p>Here is an example of how to embed my Video Player component in your Flex 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> 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;"> 	layout=<span style="color: #ff0000;">&quot;vertical&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><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Style</span> source=<span style="color: #ff0000;">&quot;/assets/skins/shadow.css&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>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;rf:VideoPlayer</span> id=<span style="color: #ff0000;">&quot;player&quot;</span> autoPlay=<span style="color: #ff0000;">&quot;true&quot;</span> </span>
<span style="color: #000000;">			url=<span style="color: #ff0000;">&quot;video/Honey_Honey_-_Little_Toy_Gun.flv&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>				
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:VBox</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p>Just upload your sample video and give Video Player an flv url for video playback. That&#8217;s it!</p>
<p>I have not looked into live streaming for this one. So, no guarantees there, but do let me know if you try it.</p>
<p><a href="http://code.google.com/apis/youtube/chromeless_player_reference.html" target="_blank">YouTube&#8217;s Chromeless Video Player</a> and <a href="http://code.google.com/apis/youtube/getting_started.html#data_api" target="_blank">Data API</a> hook up is the next good step for this player to search and play some vids. I&#8217;ll probably wire it to YouTube in v.2.</p>
<p>For now you can embed your vids or load them from your server.</p>
<p>And, yes. You can follow me on <a href="http://twitter.com/TarasNovak" target="_blank">Twitter</a>. If you watched the whole video and use Twitter you&#8217;ll get the joke.</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/2009/01/16/simple-flex-video-player/feed/</wfw:commentRss>
		<slash:comments>5</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>
	</channel>
</rss>
