Share Pastebin
Guest
Public paste!

Flex Tone Generator View

By: a guest | Jun 9th, 2010 | Syntax: XML | Size: 4.07 KB | Hits: 216 | Expires: Never
Copy text to clipboard
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" minWidth="800" minHeight="600">
  3.        
  4.         <mx:Script>
  5.                 <![CDATA[
  6.                         import mx.controls.sliderClasses.Slider;
  7.                        
  8.                         [Bindable]
  9.                         public var toneGenerator:ToneGenerator = new ToneGenerator();
  10.                        
  11.                         public function handlePlayClick():void {
  12.                                 if (playbutton.label == "PLAY") {
  13.                                         playbutton.label = "STOP";
  14.                                         toneGenerator.startTone();
  15.                                 } else {
  16.                                         playbutton.label = "PLAY";
  17.                                         toneGenerator.stopTone();
  18.                                 }
  19.                         }
  20.                         public function handleFreqSliderChange(e:Event):void {
  21.                                 var currentSlider:Slider=Slider(e.currentTarget);
  22.                                
  23.                                 if (freqLockCheck.selected) {
  24.                                         toneGenerator.freq_left = toneGenerator.freq_right = currentSlider.value;
  25.                                         freqLeftSlider.value = freqRightSlider.value = currentSlider.value;
  26.                                 } else {
  27.                                         if (currentSlider.id == "freqLeftSlider") {
  28.                                                 toneGenerator.freq_left = currentSlider.value;
  29.                                         } else if (currentSlider.id == "freqRightSlider") {
  30.                                                 toneGenerator.freq_right = currentSlider.value;
  31.                                         }
  32.                                 }
  33.                        
  34.                         }
  35.                         public function handleAmpSliderChange(e:Event):void {
  36.                                 var currentSlider:Slider=Slider(e.currentTarget);
  37.                                
  38.                                 if (ampLockCheck.selected) {
  39.                                         toneGenerator.amp_multiplier_left = toneGenerator.amp_multiplier_right = currentSlider.value;
  40.                                         ampLeftSlider.value = ampRightSlider.value = currentSlider.value;
  41.                                 } else {
  42.                                         if (currentSlider.id == "ampLeftSlider") {
  43.                                                 toneGenerator.amp_multiplier_left = currentSlider.value;
  44.                                         } else if (currentSlider.id == "ampRightSlider") {
  45.                                                 toneGenerator.amp_multiplier_right = currentSlider.value;
  46.                                         }
  47.                                 }
  48.                                
  49.                         }
  50.                        
  51.                 ]]>
  52.         </mx:Script>
  53.        
  54.         <mx:HBox paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5" horizontalAlign="left" verticalAlign="top" width="80%">
  55.                
  56.                 <mx:VBox width="100%">
  57.                        
  58.                         <mx:Button id="playbutton" label="PLAY" width="100%" height="70" click="handlePlayClick()"/>
  59.                        
  60.                         <mx:HRule width="100%" strokeWidth="1" />
  61.                        
  62.                         <mx:HBox verticalAlign="middle" width="100%" >
  63.                                
  64.                                 <mx:VBox paddingBottom="10" paddingTop="10" paddingLeft="5" paddingRight="5" width="100%">
  65.                                        
  66.                                         <mx:Label text="LEFT AMP: {toneGenerator.amp_multiplier_left}" width="100%" textAlign="center" />
  67.                                         <mx:HSlider id="ampLeftSlider" width="100%" minimum="0" maximum="1" snapInterval=".01" value="{toneGenerator.amp_multiplier_left}" showDataTip="true" liveDragging="false" change="handleAmpSliderChange(event)" />
  68.                                        
  69.                                         <mx:Label text="RIGHT AMP: {toneGenerator.amp_multiplier_right}" width="100%" textAlign="center" />
  70.                                         <mx:HSlider id="ampRightSlider" width="100%" minimum="0" maximum="1" snapInterval=".01" value="{toneGenerator.amp_multiplier_right}" showDataTip="true" liveDragging="false" change="handleAmpSliderChange(event)" />
  71.                                        
  72.                                 </mx:VBox>
  73.  
  74.                                 <mx:CheckBox label="Lock Channels" id="ampLockCheck" labelPlacement="right" selected="true" />
  75.                                
  76.                         </mx:HBox>
  77.                        
  78.                         <mx:HRule width="100%" strokeWidth="1" />
  79.                        
  80.                         <mx:HBox verticalAlign="middle" width="100%" >
  81.                                
  82.                                 <mx:VBox paddingBottom="10" paddingTop="10" paddingLeft="5" paddingRight="5" width="100%">
  83.                                        
  84.                                         <mx:Label text="LEFT FREQ: {toneGenerator.freq_left}" width="100%" textAlign="center" />
  85.                                         <mx:HSlider id="freqLeftSlider" width="100%" minimum="10" maximum="2000" value="{toneGenerator.freq_left}" snapInterval="1" showDataTip="true" liveDragging="false" change="handleFreqSliderChange(event)" />
  86.                                        
  87.                                         <mx:Label text="RIGHT FREQ: {toneGenerator.freq_right}" width="100%" textAlign="center" />
  88.                                         <mx:HSlider id="freqRightSlider" width="100%" minimum="10" maximum="2000" value="{toneGenerator.freq_right}" snapInterval="1" showDataTip="true" liveDragging="false" change="handleFreqSliderChange(event)" />
  89.                                        
  90.                                 </mx:VBox>
  91.                                
  92.                                 <mx:CheckBox label="Lock Channels" id="freqLockCheck" labelPlacement="right" selected="true" />
  93.                                
  94.                         </mx:HBox>
  95.                        
  96.                         <mx:HRule width="100%" strokeWidth="1" />
  97.                        
  98.                        
  99.                        
  100.                        
  101.                 </mx:VBox>
  102.                
  103.         </mx:HBox>
  104.        
  105. </mx:Application>