Advertisement
Guest User

Flex Tone Generator View

a guest
Jun 9th, 2010
575
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 4.07 KB | None | 0 0
  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>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement