prep for 1.5.0
diff --git a/features/org.eclipse.actf.examples.adesigner-feature/feature.xml b/features/org.eclipse.actf.examples.adesigner-feature/feature.xml
index 878ae2e..455b893 100644
--- a/features/org.eclipse.actf.examples.adesigner-feature/feature.xml
+++ b/features/org.eclipse.actf.examples.adesigner-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature

       id="org.eclipse.actf.examples.adesigner"

       label="ACTF Example aDesigner feature"

-      version="1.4.0.qualifier"

+      version="1.5.0.qualifier"

       provider-name="Eclipse ACTF Project"

       plugin="org.eclipse.actf.examples.adesigner"

       os="win32"

diff --git a/features/org.eclipse.actf.examples.emine-feature/feature.xml b/features/org.eclipse.actf.examples.emine-feature/feature.xml
index 2147686..2171dff 100644
--- a/features/org.eclipse.actf.examples.emine-feature/feature.xml
+++ b/features/org.eclipse.actf.examples.emine-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature

       id="org.eclipse.actf.examples.emine"

       label="ACTF Example eMINE feature"

-      version="1.4.0.qualifier"

+      version="1.5.0.qualifier"

       provider-name="Eclipse ACTF Project"

       plugin="org.eclipse.actf.examples.emine"

       os="win32"

diff --git a/features/org.eclipse.actf.examples.htmlchecker-feature/feature.xml b/features/org.eclipse.actf.examples.htmlchecker-feature/feature.xml
index 95140d6..00d59a4 100644
--- a/features/org.eclipse.actf.examples.htmlchecker-feature/feature.xml
+++ b/features/org.eclipse.actf.examples.htmlchecker-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature

       id="org.eclipse.actf.examples.htmlchecker"

       label="ACTF Example HtmlChecker Feature"

-      version="1.4.0.qualifier"

+      version="1.5.0.qualifier"

       provider-name="Eclipse ACTF Project"

       plugin="org.eclipse.actf.examples.htmlchecker"

       os="win32"

diff --git a/features/org.eclipse.actf.examples.simplevisualizer-feature/feature.xml b/features/org.eclipse.actf.examples.simplevisualizer-feature/feature.xml
index 0e7e70d..a3268d7 100644
--- a/features/org.eclipse.actf.examples.simplevisualizer-feature/feature.xml
+++ b/features/org.eclipse.actf.examples.simplevisualizer-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature

       id="org.eclipse.actf.examples.simplevisualizer"

       label="ACTF Example Simple Visualizer feature"

-      version="1.4.0.qualifier"

+      version="1.5.0.qualifier"

       provider-name="Eclipse ACTF Project"

       plugin="org.eclipse.actf.examples.simplevisualizer"

       os="win32"

diff --git a/features/org.eclipse.actf.examples.vicram-feature/feature.xml b/features/org.eclipse.actf.examples.vicram-feature/feature.xml
index ae90413..267cf45 100644
--- a/features/org.eclipse.actf.examples.vicram-feature/feature.xml
+++ b/features/org.eclipse.actf.examples.vicram-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature

       id="org.eclipse.actf.examples.vicram"

       label="ACTF Example ViCRAM feature"

-      version="1.4.0.qualifier"

+      version="1.5.0.qualifier"

       provider-name="Eclipse ACTF Project"

       plugin="org.eclipse.actf.examples.vicram"

       os="win32"

diff --git a/plugins/org.eclipse.actf.examples.adesigner.doc.nl1/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.examples.adesigner.doc.nl1/META-INF/MANIFEST.MF
index e633d70..7e083a6 100644
--- a/plugins/org.eclipse.actf.examples.adesigner.doc.nl1/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.examples.adesigner.doc.nl1/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ACTF Example aDesigner Help Nl1 Fragment
 Bundle-SymbolicName: org.eclipse.actf.examples.adesigner.doc.nl1
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 1.5.0.qualifier
 Bundle-Vendor: Eclipse ACTF Project
 Fragment-Host: org.eclipse.actf.examples.adesigner.doc;bundle-version="[0.0.1,2.0.0)"
diff --git a/plugins/org.eclipse.actf.examples.adesigner.doc/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.examples.adesigner.doc/META-INF/MANIFEST.MF
index e430ffa..f6b9ad3 100644
--- a/plugins/org.eclipse.actf.examples.adesigner.doc/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.examples.adesigner.doc/META-INF/MANIFEST.MF
@@ -2,5 +2,5 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ACTF Example aDesigner Help Plug-in
 Bundle-SymbolicName: org.eclipse.actf.examples.adesigner.doc;singleton:=true
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 1.5.0.qualifier
 Bundle-Vendor: Eclipse ACTF Project
diff --git a/plugins/org.eclipse.actf.examples.adesigner.eval.html/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.examples.adesigner.eval.html/META-INF/MANIFEST.MF
index 5dd8e53..227b6b3 100644
--- a/plugins/org.eclipse.actf.examples.adesigner.eval.html/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.examples.adesigner.eval.html/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ACTF HTML evaluation example Fragment
 Bundle-SymbolicName: org.eclipse.actf.examples.adesigner.eval.html;singleton:=true
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 1.5.0.qualifier
 Bundle-Vendor: Eclipse ACTF Project
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.actf.core,
diff --git a/plugins/org.eclipse.actf.examples.adesigner.eval.odf/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.examples.adesigner.eval.odf/META-INF/MANIFEST.MF
index a1cd908..e7834b0 100644
--- a/plugins/org.eclipse.actf.examples.adesigner.eval.odf/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.examples.adesigner.eval.odf/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ACTF ODF evaluation example Fragment
 Bundle-SymbolicName: org.eclipse.actf.examples.adesigner.eval.odf;singleton:=true
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 1.5.0.qualifier
 Bundle-Vendor: Eclipse ACTF Project
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.ui,
diff --git a/plugins/org.eclipse.actf.examples.adesigner/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.examples.adesigner/META-INF/MANIFEST.MF
index 2e8bf1e..bfd98d5 100644
--- a/plugins/org.eclipse.actf.examples.adesigner/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.examples.adesigner/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ACTF Example aDesigner Client
 Bundle-SymbolicName: org.eclipse.actf.examples.adesigner;singleton:=true
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 1.5.0.qualifier
 Bundle-Activator: org.eclipse.actf.examples.adesigner.ADesignerPlugin
 Bundle-Vendor: Eclipse ACTF Project
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.actf.examples.adesigner/aDesigner.product b/plugins/org.eclipse.actf.examples.adesigner/aDesigner.product
index 22a0fad..7cfd5ea 100644
--- a/plugins/org.eclipse.actf.examples.adesigner/aDesigner.product
+++ b/plugins/org.eclipse.actf.examples.adesigner/aDesigner.product
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <?pde version="3.5"?>

 

-<product name="aDesigner" uid="ACTF aDesigner" id="org.eclipse.actf.examples.adesigner.aDesigner" application="org.eclipse.actf.examples.adesigner.org.eclipse.actf.examples.adesigner.ADesignerApplication" version="1.4.0.qualifier" useFeatures="true" includeLaunchers="true">

+<product name="aDesigner" uid="ACTF aDesigner" id="org.eclipse.actf.examples.adesigner.aDesigner" application="org.eclipse.actf.examples.adesigner.org.eclipse.actf.examples.adesigner.ADesignerApplication" version="1.5.0.qualifier" useFeatures="true" includeLaunchers="true">

 

    <aboutInfo>

       <image path="/org.eclipse.actf.examples.adesigner/about.gif"/>

@@ -40,7 +40,7 @@
    </plugins>

 

    <features>

-      <feature id="org.eclipse.actf.examples.adesigner" version="1.4.0.qualifier"/>

+      <feature id="org.eclipse.actf.examples.adesigner" version="1.5.0.qualifier"/>

       <feature id="org.eclipse.help"/>

    </features>

 

diff --git a/plugins/org.eclipse.actf.examples.adesigner/plugin.properties b/plugins/org.eclipse.actf.examples.adesigner/plugin.properties
index f21fea1..c6388ec 100644
--- a/plugins/org.eclipse.actf.examples.adesigner/plugin.properties
+++ b/plugins/org.eclipse.actf.examples.adesigner/plugin.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2007, 2015 IBM Corporation and others.
+# Copyright (c) 2007, 2017 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -27,4 +27,4 @@
 adesigner.menu.window = &Window
 adesigner.menu.navigation = Navi&gation
 
-About.Text=Eclipse ACTF aDesigner\nVersion: 1.4.0\n\nCopyright 2007, 2015 Eclipse contributors and others.  All rights reserved.\nVisit http://www.eclipse.org/actf/\n\nThis product includes software developed by the\nApache Software Foundation http://www.apache.org/
\ No newline at end of file
+About.Text=Eclipse ACTF aDesigner\nVersion: 1.5.0\n\nCopyright 2007, 2017 Eclipse contributors and others.  All rights reserved.\nVisit http://www.eclipse.org/actf/\n\nThis product includes software developed by the\nApache Software Foundation http://www.apache.org/
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.examples.emine/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.examples.emine/META-INF/MANIFEST.MF
index 949b948..bb69206 100644
--- a/plugins/org.eclipse.actf.examples.emine/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.examples.emine/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2

 Bundle-Name: ACTF Example eMINE (Incubation)

 Bundle-SymbolicName: org.eclipse.actf.examples.emine;singleton:=true

-Bundle-Version: 1.4.0.qualifier

+Bundle-Version: 1.5.0.qualifier

 Bundle-Activator: org.eclipse.actf.examples.emine.EminePlugin

 Bundle-Vendor: Eclipse ACTF Project

 Bundle-Localization: plugin

diff --git a/plugins/org.eclipse.actf.examples.emine/vips.product b/plugins/org.eclipse.actf.examples.emine/vips.product
index 8370b18..991c248 100644
--- a/plugins/org.eclipse.actf.examples.emine/vips.product
+++ b/plugins/org.eclipse.actf.examples.emine/vips.product
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <?pde version="3.5"?>

 

-<product name="eMINE VIPS" uid="ACTF eMINE VIPS" id="org.eclipse.actf.examples.emine.vips" application="org.eclipse.actf.examples.emine.EmineSampleApplication" version="1.4.0.qualifier" useFeatures="true" includeLaunchers="true">

+<product name="eMINE VIPS" uid="ACTF eMINE VIPS" id="org.eclipse.actf.examples.emine.vips" application="org.eclipse.actf.examples.emine.EmineSampleApplication" version="1.5.0.qualifier" useFeatures="true" includeLaunchers="true">

 

    <aboutInfo>

       <image path="/org.eclipse.actf.examples.emine/about.gif"/>

@@ -37,7 +37,7 @@
    </plugins>

 

    <features>

-      <feature id="org.eclipse.actf.examples.emine" version="1.4.0.qualifier"/>

+      <feature id="org.eclipse.actf.examples.emine" version="1.5.0.qualifier"/>

    </features>

 

    <configurations>

diff --git a/plugins/org.eclipse.actf.examples.htmlchecker/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.examples.htmlchecker/META-INF/MANIFEST.MF
index 4b9a75d..a92b37d 100644
--- a/plugins/org.eclipse.actf.examples.htmlchecker/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.examples.htmlchecker/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ACTF Examples HtmlChecker
 Bundle-SymbolicName: org.eclipse.actf.examples.htmlchecker;singleton:=true
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 1.5.0.qualifier
 Bundle-Activator: org.eclipse.actf.examples.htmlchecker.Activator
 Bundle-Vendor: Eclipse ACTF Project
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.actf.examples.htmlchecker/htmlchecker.product b/plugins/org.eclipse.actf.examples.htmlchecker/htmlchecker.product
index dc5adbc..9df8e21 100644
--- a/plugins/org.eclipse.actf.examples.htmlchecker/htmlchecker.product
+++ b/plugins/org.eclipse.actf.examples.htmlchecker/htmlchecker.product
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <?pde version="3.5"?>

 

-<product name="HtmlChecker" uid="ACTF HtmlChecker" id="org.eclipse.actf.examples.htmlchecker.HtmlChecker" application="org.eclipse.actf.examples.htmlchecker.HtmlChecker" version="1.4.0.qualifier" useFeatures="true" includeLaunchers="true">

+<product name="HtmlChecker" uid="ACTF HtmlChecker" id="org.eclipse.actf.examples.htmlchecker.HtmlChecker" application="org.eclipse.actf.examples.htmlchecker.HtmlChecker" version="1.5.0.qualifier" useFeatures="true" includeLaunchers="true">

 

    <aboutInfo>

       <image path="/org.eclipse.actf.examples.htmlchecker/about.gif"/>

diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/preferences/CapturePreferenceInitializer.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/preferences/CapturePreferenceInitializer.java
index c2d3416..22466a0 100644
--- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/preferences/CapturePreferenceInitializer.java
+++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/preferences/CapturePreferenceInitializer.java
@@ -21,7 +21,7 @@
 
 		// Initialize values
 		store.setDefault(CapturePreferenceConstants.SAMPRATE_GROUP_NAME,
-				CapturePreferenceConstants.SAMPRATE_NOM);
+				CapturePreferenceConstants.SAMPRATE_FAST);
 		store.setDefault(CapturePreferenceConstants.GAIN_VOLLVL_NAME,
 				CapturePreferenceConstants.GAIN_DEF);
 	}
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/SoundMixer.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/SoundMixer.java
index 7b0f597..0f38895 100644
--- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/SoundMixer.java
+++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/SoundMixer.java
@@ -10,6 +10,7 @@
  *******************************************************************************/
 package org.eclipse.actf.ai.scripteditor.util;
 
+import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
@@ -27,6 +28,7 @@
 
 import org.eclipse.actf.ai.scripteditor.preferences.CapturePreferenceUtil;
 import org.eclipse.actf.ai.ui.scripteditor.views.IUNIT;
+import org.eclipse.swt.widgets.Display;
 
 public class SoundMixer implements IUNIT {
 
@@ -54,7 +56,7 @@
 	// Save file(.wav) mode
 	private AudioInputStream voiceInputStream = null;
 	private AudioFileFormat.Type voiceTargetType;
-	private File saveFH;
+	private File saveFH = null;
 
 	// current WAV header information
 	private String currentWavFormatID;
@@ -79,8 +81,7 @@
 	 */
 	private SoundMixer() {
 		// Initialize value by Preference setting
-		setSampleRateCaptureAudio(CapturePreferenceUtil
-				.getPreferenceSampleRate());
+		setSampleRateCaptureAudio(CapturePreferenceUtil.getPreferenceSampleRate());
 	}
 
 	/**
@@ -224,6 +225,28 @@
 			final AudioFormat format = getFormat();
 			voiceInfo = new DataLine.Info(TargetDataLine.class, format);
 			voiceLine = (TargetDataLine) AudioSystem.getLine(voiceInfo);
+			
+			// Initialize captured voice data(wave format)
+			int bufferSize = format.getFrameSize();
+			voiceCaptureBuffer = new byte[bufferSize]; // Capture buffer for
+														// Thread process
+			voiceStoreBuffer = new byte[bufferSize]; // Store buffer for latest
+														// captured data
+			voiceClearData = new byte[bufferSize]; // Clear data for stored
+													// buffer
+			for (int i = 0; i < voiceClearData.length; i++) { // SetUP zero data
+				voiceClearData[i] = 0;
+			}
+			// Setup output stream
+			if (voiceOutputStream == null) {
+				voiceOutputStream = new ByteArrayOutputStream();
+			} else {
+				// reset data
+				if (voiceOutputStream.size() > 0) {
+					voiceOutputStream.reset();
+				}
+			}
+
 
 			// Create & Open file for save voice data
 			saveFH = new File("c:\\temp\\dummy.wav");
@@ -251,12 +274,11 @@
 			// Only Playing
 			if (runningCapture) {
 				// PickUP capture data(PCM)
-				int count = voiceLine.read(voiceCaptureBuffer, 0,
-						voiceCaptureBuffer.length);
+				int count = voiceLine.read(voiceCaptureBuffer, 0, voiceCaptureBuffer.length);
 				if (count > 0) {
 					// Buffering capture data
-					System.arraycopy(voiceCaptureBuffer, 0, voiceStoreBuffer,
-							0, count);
+					System.arraycopy(voiceCaptureBuffer, 0, voiceStoreBuffer, 0, count);
+					voiceOutputStream.write(voiceCaptureBuffer, 0, count);
 				}
 			}
 		} catch (Exception e) {
@@ -269,10 +291,17 @@
 			// Only Playing
 			if (runningCapture) {
 				// Write data to .wav file
-				AudioSystem.write(voiceInputStream, voiceTargetType, saveFH);
+				// AudioSystem.write(voiceInputStream, voiceTargetType, saveFH);
+				int count = voiceLine.read(voiceCaptureBuffer, 0, voiceCaptureBuffer.length);
+				if (count > 0) {
+					// Buffering capture data
+					//System.arraycopy(voiceCaptureBuffer, 0, voiceStoreBuffer, 0, count);
+					voiceOutputStream.write(voiceCaptureBuffer, 0, count);
+				}
+
 			}
 		} catch (Exception e) {
-			System.err.println("I/O problems: " + e);
+			e.printStackTrace();
 		}
 	}
 
@@ -282,9 +311,21 @@
 	public void stopCaptureSound() {
 		try {
 			if (runningCapture) {
+
 				// Stop control
 				runningCapture = false;
 				mainThreadCapture = null;
+				
+//				Display.getCurrent().asyncExec(new Runnable(){
+//					public void run() {
+//						try {
+							AudioSystem.write(new AudioInputStream(new ByteArrayInputStream(voiceOutputStream.toByteArray()), getFormat(),
+									voiceOutputStream.size()), voiceTargetType, saveFH);
+//						} catch (IOException e) {
+//							e.printStackTrace();
+//						}
+//					}
+//				});
 
 				// Stop&Close InputStream for Save file mode
 				if (voiceInputStream != null) {
@@ -295,9 +336,10 @@
 					voiceLine.stop();
 					voiceLine.close();
 				}
+
 			}
 		} catch (Exception e) {
-			System.out.println("stopSoundMixer() : " + e);
+			e.printStackTrace();
 		}
 	}
 
@@ -350,14 +392,12 @@
 			// check current process mode
 			if (ownProcMode == SM_PMODE_CAPTURE) {
 				// Exchange data type from byte[] to integer
-				rawData = ((int) voiceStoreBuffer[1] << 8)
-						+ (int) voiceStoreBuffer[0];
+				rawData = ((int) voiceStoreBuffer[1] << 8) + (int) voiceStoreBuffer[0];
 				if (rawData < 0)
 					rawData = -1 * rawData;
 
 				// Clear current stored buffer
-				System.arraycopy(voiceClearData, 0, voiceStoreBuffer, 0,
-						voiceClearData.length);
+				System.arraycopy(voiceClearData, 0, voiceStoreBuffer, 0, voiceClearData.length);
 			}
 		}
 
@@ -376,8 +416,7 @@
 		boolean bigEndian = false;
 
 		// return format type(WAV)
-		return (new AudioFormat(encoding, sampleRate, sampleSizeInBits,
-				channels, frameSize, frameRate, bigEndian));
+		return (new AudioFormat(encoding, sampleRate, sampleSizeInBits, channels, frameSize, frameRate, bigEndian));
 	}
 
 	/*******************************************************************
@@ -394,17 +433,14 @@
 		public void run() {
 			try {
 				int size = 0;
-				float frameRate = audioInputStreamWavPlayer.getFormat()
-						.getFrameRate();
-				int frameSize = audioInputStreamWavPlayer.getFormat()
-						.getFrameSize();
+				float frameRate = audioInputStreamWavPlayer.getFormat().getFrameRate();
+				int frameSize = audioInputStreamWavPlayer.getFormat().getFrameSize();
 				byte[] inStream = new byte[(int) (frameRate * frameSize)];
 
 				// Play sound stream
 				while (runningPlayer) {
 					// Read WAV data from input stream
-					size = audioInputStreamWavPlayer.read(inStream, 0,
-							inStream.length);
+					size = audioInputStreamWavPlayer.read(inStream, 0, inStream.length);
 					if (size >= 0) {
 						// put WAV data to source line
 						lineWavPlayer.write(inStream, 0, size);
@@ -434,8 +470,7 @@
 	 * @param newSampleRate
 	 * @return New AudioFormat
 	 */
-	private AudioFormat adjustSampleRateWav(AudioFormat orgForm,
-			float newSampleRate) {
+	private AudioFormat adjustSampleRateWav(AudioFormat orgForm, float newSampleRate) {
 		// MakeUP new sampling rate
 		float sampleRate = newSampleRate;
 
@@ -448,8 +483,7 @@
 		boolean bigEndian = orgForm.isBigEndian();
 
 		// return format type(WAV)
-		return (new AudioFormat(encoding, sampleRate, sampleSizeInBits,
-				channels, frameSize, frameRate, bigEndian));
+		return (new AudioFormat(encoding, sampleRate, sampleSizeInBits, channels, frameSize, frameRate, bigEndian));
 	}
 
 	/**
@@ -469,8 +503,7 @@
 				// Open WAV file
 				File soundFile = new File(uriWavFileName);
 				// Create Input stream
-				audioInputStreamWavPlayer = AudioSystem
-						.getAudioInputStream(soundFile);
+				audioInputStreamWavPlayer = AudioSystem.getAudioInputStream(soundFile);
 				// Get audio format from current input stream
 				AudioFormat audioFormat = audioInputStreamWavPlayer.getFormat();
 
@@ -480,8 +513,7 @@
 				audioFormat = adjustSampleRateWav(audioFormat, samplerate);
 
 				// Get data line from current input stream
-				DataLine.Info info = new DataLine.Info(SourceDataLine.class,
-						audioFormat);
+				DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);
 				// Get source line from current data line
 				lineWavPlayer = (SourceDataLine) AudioSystem.getLine(info);
 				// Open source line
@@ -553,17 +585,12 @@
 		String strEndian = "Endian : ";
 
 		// Cat string for WAV header information
-		strWavInfo = strFileName + wfname + strSeparator + strFormatID
-				+ currentWavFormatID + strSeparator + strSampRate
-				+ Integer.toString((int) currentWavSampRate) + " Hz"
-				+ strSeparator + strSampBit
-				+ Integer.toString(currentWavSampBit) + " bit" + strSeparator
-				+ strChNum + ((currentWavCh == 2) ? "Stereo" : "Mono")
-				+ strSeparator + strFrameRate
-				+ Integer.toString((int) currentWavFrameRate) + " bytes/frame"
-				+ strSeparator + strEndian
-				+ (currentWavBigEndian ? "Big Endian" : "Littele Endian")
-				+ strSeparator;
+		strWavInfo = strFileName + wfname + strSeparator + strFormatID + currentWavFormatID + strSeparator + strSampRate
+				+ Integer.toString((int) currentWavSampRate) + " Hz" + strSeparator + strSampBit
+				+ Integer.toString(currentWavSampBit) + " bit" + strSeparator + strChNum
+				+ ((currentWavCh == 2) ? "Stereo" : "Mono") + strSeparator + strFrameRate
+				+ Integer.toString((int) currentWavFrameRate) + " bytes/frame" + strSeparator + strEndian
+				+ (currentWavBigEndian ? "Big Endian" : "Littele Endian") + strSeparator;
 
 		// return result
 		return (strWavInfo);
@@ -605,7 +632,8 @@
 			// Calculate total data length of current WAV file
 			currentWavDataLength = (int) (aff.getFrameLength() * currentWavFrameSize);
 			// Calculate duration time of current WAV file
-			currentWavDurationTime = (int) (((float) currentWavDataLength / (float) currentWavBytePerSec) * (float) MSEC);
+			currentWavDurationTime = (int) (((float) currentWavDataLength / (float) currentWavBytePerSec)
+					* (float) MSEC);
 		}
 	}
 
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/TTMLUtil.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/TTMLUtil.java
index eaea3b8..86a021c 100644
--- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/TTMLUtil.java
+++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/TTMLUtil.java
@@ -17,15 +17,16 @@
 import java.io.PrintWriter;
 import java.util.List;
 
+import org.eclipse.actf.ai.internal.ui.scripteditor.event.TimerEvent;
 import org.eclipse.actf.ai.scripteditor.data.IScriptData;
 import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager;
 import org.eclipse.actf.util.FileUtils;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Display;
 
 public class TTMLUtil {
 
-	private static ScriptDataManager scriptDataMgr = ScriptDataManager
-			.getInstance();
+	private static ScriptDataManager scriptDataMgr = ScriptDataManager.getInstance();
 
 	/**
 	 * Export AudioDescription data in TTML format
@@ -38,68 +39,55 @@
 	 * Export AudioDescription data in TTML format and pre-recorded
 	 * AudioDescription(AD) WAV files
 	 */
-	public static void exportTTMLandWAV(String ttmlPathname,
-			String adWavDirpath, String adWavFilename, String adUrlBase,
-			boolean warnOverwrite) {
-		exportTTML(ttmlPathname, true, adWavDirpath, adWavFilename, adUrlBase,
-				warnOverwrite);
+	public static void exportTTMLandWAV(String ttmlPathname, String adWavDirpath, String adWavFilename,
+			String adUrlBase, boolean warnOverwrite) {
+		exportTTML(ttmlPathname, true, adWavDirpath, adWavFilename, adUrlBase, warnOverwrite);
 	}
 
 	/**
 	 * Export AudioDescription data in TTML format and pre-recorded
 	 * AudioDescription(AD) WAV files
 	 */
-	private static void exportTTML(String ttmlPathname, boolean isPrerecorded,
-			String adWavDirpath, String adWavFilename, String adUrlBase,
-			boolean warnOverwrite) {
+	private static void exportTTML(String ttmlPathname, boolean isPrerecorded, String adWavDirpath,
+			String adWavFilename, String adUrlBase, boolean warnOverwrite) {
 		PrintWriter writer = null;
 
-		VoicePlayerFactory voice = VoicePlayerFactory.getInstance();
+		final VoicePlayerFactory voice = VoicePlayerFactory.getInstance();
 
 		try {
 			File file = new File(ttmlPathname);
 
 			if (warnOverwrite && file.exists()) {
-				XMLFileMessageBox warningExistFile = new XMLFileMessageBox(
-						XMLFileMessageBox.MB_STYLE_OVERWR, ttmlPathname);
+				XMLFileMessageBox warningExistFile = new XMLFileMessageBox(XMLFileMessageBox.MB_STYLE_OVERWR,
+						ttmlPathname);
 				int ret = warningExistFile.open();
 				if (ret != SWT.YES)
 					return;
 			}
 
-			writer = new PrintWriter(new OutputStreamWriter(
-					new FileOutputStream(ttmlPathname), "UTF-8"));
+			writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(ttmlPathname), "UTF-8"));
 
 			String LINE_SEP = FileUtils.LINE_SEP;
 
 			writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
 			writer.println("<?xml-stylesheet href=\"ttml.css\" type=\"text/css\"?>");
 			writer.println("<?access-control allow=\"*\"?>");
-			writer.println("<tt ttp:profile='http://www.w3.org/ns/ttml/profile/dfxp-full'"
-					+ LINE_SEP
-					+ "    xmlns='http://www.w3.org/ns/ttml'"
-					+ LINE_SEP
-					+ "    xmlns:ttm='http://www.w3.org/ns/ttml#metadata'"
-					+ LINE_SEP
-					+ "    xmlns:tts='http://www.w3.org/ns/ttml#styling'"
-					+ LINE_SEP
-					+ "    xmlns:ttp='http://www.w3.org/ns/ttml#parameter'"
-					+ LINE_SEP
+			writer.println("<tt ttp:profile='http://www.w3.org/ns/ttml/profile/dfxp-full'" + LINE_SEP
+					+ "    xmlns='http://www.w3.org/ns/ttml'" + LINE_SEP
+					+ "    xmlns:ttm='http://www.w3.org/ns/ttml#metadata'" + LINE_SEP
+					+ "    xmlns:tts='http://www.w3.org/ns/ttml#styling'" + LINE_SEP
+					+ "    xmlns:ttp='http://www.w3.org/ns/ttml#parameter'" + LINE_SEP
 					+ "    xmlns:tvd='http://www.eclipse.org/actf/ai/tvd'>");
 			writer.println(" <head>");
 			writer.println("  <metadata>");
 			writer.println("   <ttm:title>TextTrack (Audio Description)</ttm:title>");// TODO
 			writer.println("  </metadata>");
 
-			writer.println("  <styling>" + LINE_SEP
-					+ "   <style xml:id=\"style1\"/>" + LINE_SEP
-					+ "  </styling>" + LINE_SEP + "  <layout>" + LINE_SEP
-					+ "   <region xml:id=\"region1\" style=\"style1\"/>"
-					+ LINE_SEP + "  </layout>" + LINE_SEP
-					+
+			writer.println("  <styling>" + LINE_SEP + "   <style xml:id=\"style1\"/>" + LINE_SEP + "  </styling>"
+					+ LINE_SEP + "  <layout>" + LINE_SEP + "   <region xml:id=\"region1\" style=\"style1\"/>" + LINE_SEP
+					+ "  </layout>" + LINE_SEP +
 					//
-					" </head>" + LINE_SEP + " <body>" + LINE_SEP
-					+ "  <div role=\"narration\" region=\"region1\">");
+					" </head>" + LINE_SEP + " <body>" + LINE_SEP + "  <div role=\"narration\" region=\"region1\">");
 
 			if (isPrerecorded) {
 				File readmeFile = new File(adWavDirpath + "1st_Readme.txt");
@@ -112,8 +100,7 @@
 						pw.println(" m4a: for IE9 or later, Safari");
 						pw.println();
 						pw.println("After converting files, please deploy these files to your Web server,");
-						pw.println("and adjust URLs of \"tvd:external\" attribute in "
-								+ file.getName());
+						pw.println("and adjust URLs of \"tvd:external\" attribute in " + file.getName());
 						pw.flush();
 						pw.close();
 					} else {
@@ -124,8 +111,7 @@
 						pw.println(" m4a: for IE9 or later, Safari");
 						pw.println();
 						pw.println("After preparing files, please deploy these files to your Web server,");
-						pw.println("and adjust URLs of \"tvd:external\" attribute in "
-								+ file.getName());
+						pw.println("and adjust URLs of \"tvd:external\" attribute in " + file.getName());
 						pw.flush();
 						pw.close();
 					}
@@ -142,37 +128,30 @@
 				}
 				int startTime = scriptData.getStartTime();
 				int frame = (startTime % 1000) / (1000 / 30);
-				String frameS = (frame > 9) ? Integer.toString(frame) : "0"
-						+ frame;
+				String frameS = (frame > 9) ? Integer.toString(frame) : "0" + frame;
 
-				String strStartTime = TimeFormatUtil
-						.makeFormatHHMMSS_short(startTime / 1000) + ":" + frameS;
+				String strStartTime = TimeFormatUtil.makeFormatHHMMSS_short(startTime / 1000) + ":" + frameS;
 				int endTime = scriptData.getEndTime();
 
 				int duration = endTime - startTime;
 				frame = (endTime % 1000) / (1000 / 30);
 				frameS = (frame > 9) ? Integer.toString(frame) : "0" + frame;
 
-				String StrEndTime = TimeFormatUtil
-						.makeFormatHHMMSS_short(endTime / 1000) + ":" + frameS;
+				String StrEndTime = TimeFormatUtil.makeFormatHHMMSS_short(endTime / 1000) + ":" + frameS;
 
 				frame = (duration % 1000) / (1000 / 30);
 				frameS = (frame > 9) ? Integer.toString(frame) : "0" + frame;
 
-				String strDuration = TimeFormatUtil
-						.makeFormatHHMMSS_short(duration / 1000) + ":" + frameS;
+				String strDuration = TimeFormatUtil.makeFormatHHMMSS_short(duration / 1000) + ":" + frameS;
 
 				String strDesc = scriptData.getDescription();
 
 				// TODO diff duration with next item
-				writer.print("    <p xml:id=\"description" + i + "\" begin=\""
-						+ strStartTime);
+				writer.print("    <p xml:id=\"description" + i + "\" begin=\"" + strStartTime);
 				if (scriptData.isExtended()) {
-					writer.print("\" tvd:extended=\"true\" dur=\""
-							+ strDuration + "\"");
+					writer.print("\" tvd:extended=\"true\" dur=\"" + strDuration + "\"");
 				} else {
-					writer.print("\" tvd:extended=\"false\" end=\""
-							+ StrEndTime + "\"");
+					writer.print("\" tvd:extended=\"false\" end=\"" + StrEndTime + "\"");
 				}
 
 				if (isPrerecorded) {
@@ -190,29 +169,48 @@
 						ad_file = adWavFilename + number;
 					}
 					if (adUrlBase == null || adUrlBase.isEmpty()) {
-						writer.print(" tvd:external=\"file://" + adWavDirpath
-								+ ad_file + ".*\"");
+						writer.print(" tvd:external=\"file://" + adWavDirpath + ad_file + ".*\"");
 					} else {
-						writer.print(" tvd:external=\"" + adUrlBase + ad_file
-								+ ".*\"");
+						writer.print(" tvd:external=\"" + adUrlBase + ad_file + ".*\"");
 					}
 					if (voice.canSpeakToFile()) {
-						String strGender = scriptData.getVgGender() ? "male"
-								: "female";
+						String strGender = scriptData.getVgGender() ? "male" : "female";
 						voice.setGender(strGender);
 
 						// TODO need convert
 						voice.setSpeed(scriptData.getVgPlaySpeed());
-						voice.speakToFile(strDesc, new File(adWavDirpath
-								+ ad_file + ".wav"));
+						voice.speakToFile(strDesc, new File(adWavDirpath + ad_file + ".wav"));
+					} else { // Temporally implementation
+						final IScriptData target = scriptData;
+						System.out.println("bbb: " + voice.getPlayVoiceStatus());
+						if (!voice.getPlayVoiceStatus()) {
+							final SoundMixer mixer = SoundMixer.getInstance();
+							mixer.startCaptureSound(SoundMixer.SM_PMODE_FSAVE);
+							voice.speak(target);
+							voice.setPlayVoiceStatus(1);
+
+							Runnable finishCheck = new Runnable(){
+								public void run(){
+									System.out.println("aaa:" + voice.getPlayVoiceStatus());
+									if(voice.getPlayVoiceStatus()){
+										Display display = Display.getCurrent();
+										if(!display.isDisposed()){
+											display.timerExec(100, this);
+										}
+									}else{
+										mixer.stopCaptureSound();
+									}									
+								}
+							};
+							Display.getCurrent().timerExec(100, finishCheck);							
+						}
 					}
 				}
 				writer.println(">" + canonicalize(strDesc) + "</p>");
 				i++;
 			}
 
-			writer.println("  </div>" + LINE_SEP + " </body>" + LINE_SEP
-					+ "</tt>");
+			writer.println("  </div>" + LINE_SEP + " </body>" + LINE_SEP + "</tt>");
 
 		} catch (IOException e) {
 			e.printStackTrace();
@@ -228,9 +226,8 @@
 	}
 
 	private static String canonicalize(String targetS) {
-		return (targetS.replaceAll("\\p{Cntrl}", "").replaceAll("&", "&amp;")
-				.replaceAll("<", "&lt;").replaceAll(">", "&gt;")
-				.replaceAll("\"", "&quot;").replaceAll("\'", "&apos;"));
+		return (targetS.replaceAll("\\p{Cntrl}", "").replaceAll("&", "&amp;").replaceAll("<", "&lt;")
+				.replaceAll(">", "&gt;").replaceAll("\"", "&quot;").replaceAll("\'", "&apos;"));
 	}
 
 }
diff --git a/plugins/org.eclipse.actf.examples.simplevisualizer/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.examples.simplevisualizer/META-INF/MANIFEST.MF
index 2230187..d9e2ac9 100644
--- a/plugins/org.eclipse.actf.examples.simplevisualizer/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.examples.simplevisualizer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ACTF Example Simple Visualizer
 Bundle-SymbolicName: org.eclipse.actf.examples.simplevisualizer;singleton:=true
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 1.5.0.qualifier
 Bundle-Activator: org.eclipse.actf.examples.simplevisualizer.SimpleVisualizerPlugin
 Bundle-Vendor: Eclipse ACTF Project
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.properties b/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.properties
index 201adb2..0cbd0a1 100644
--- a/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.properties
+++ b/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2007, 2015 IBM Corporation and others.
+# Copyright (c) 2007, 2017 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -21,4 +21,4 @@
 
 simplevizualizer.HTMLPerspective.name=Web Perspective
 
-About.Text=Eclipse ACTF Simple Vizualizer\nVersion: 1.4.0\n\nCopyright 2007, 2015 Eclipse contributors and others.  All rights reserved.\nVisit http://www.eclipse.org/actf/\n\nThis product includes software developed by the\nApache Software Foundation http://www.apache.org/
\ No newline at end of file
+About.Text=Eclipse ACTF Simple Vizualizer\nVersion: 1.5.0\n\nCopyright 2007, 2017 Eclipse contributors and others.  All rights reserved.\nVisit http://www.eclipse.org/actf/\n\nThis product includes software developed by the\nApache Software Foundation http://www.apache.org/
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.examples.simplevisualizer/simplevisualizer.product b/plugins/org.eclipse.actf.examples.simplevisualizer/simplevisualizer.product
index 40faaff..4b873fe 100644
--- a/plugins/org.eclipse.actf.examples.simplevisualizer/simplevisualizer.product
+++ b/plugins/org.eclipse.actf.examples.simplevisualizer/simplevisualizer.product
@@ -37,7 +37,7 @@
    </plugins>

 

    <features>

-      <feature id="org.eclipse.actf.examples.simplevisualizer" version="1.4.0.qualifier"/>

+      <feature id="org.eclipse.actf.examples.simplevisualizer" version="1.5.0.qualifier"/>

    </features>

 

    <configurations>

diff --git a/plugins/org.eclipse.actf.examples.vicram/META-INF/MANIFEST.MF b/plugins/org.eclipse.actf.examples.vicram/META-INF/MANIFEST.MF
index fd2ea16..8ab7ffc 100644
--- a/plugins/org.eclipse.actf.examples.vicram/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.actf.examples.vicram/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ACTF Example ViCRAM
 Bundle-SymbolicName: org.eclipse.actf.examples.vicram;singleton:=true
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 1.5.0.qualifier
 Bundle-Activator: org.eclipse.actf.examples.vicram.VicramPlugin
 Bundle-Vendor: Eclipse ACTF Project
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.actf.examples.vicram/plugin.properties b/plugins/org.eclipse.actf.examples.vicram/plugin.properties
index dc78528..8cc19f9 100644
--- a/plugins/org.eclipse.actf.examples.vicram/plugin.properties
+++ b/plugins/org.eclipse.actf.examples.vicram/plugin.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2007, 2015 IBM Corporation and others.
+# Copyright (c) 2007, 2017 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -19,4 +19,4 @@
 vicram.menu.window = &Window
 vicram.menu.navigation = Navi&gation
 
-About.Text=Eclipse ACTF ViCRAM\nVersion: 1.4.0\n\nCopyright 2007, 2015 Eclipse contributors and others.  All rights reserved.\nVisit http://www.eclipse.org/actf/\n\nThis product includes software developed by the\nApache Software Foundation http://www.apache.org/
\ No newline at end of file
+About.Text=Eclipse ACTF ViCRAM\nVersion: 1.5.0\n\nCopyright 2007, 2017 Eclipse contributors and others.  All rights reserved.\nVisit http://www.eclipse.org/actf/\n\nThis product includes software developed by the\nApache Software Foundation http://www.apache.org/
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.examples.vicram/vicram.product b/plugins/org.eclipse.actf.examples.vicram/vicram.product
index 064bfeb..286e07a 100644
--- a/plugins/org.eclipse.actf.examples.vicram/vicram.product
+++ b/plugins/org.eclipse.actf.examples.vicram/vicram.product
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <?pde version="3.5"?>

 

-<product name="Visual Complexity Rankings and Accessibility Metrics (ViCRAM)" uid="ACTF Visual Complexity Rankings and Accessibility Metrics" id="org.eclipse.actf.examples.vicram.ViCRAM" application="org.eclipse.actf.examples.vicram.VicramApplication" version="1.4.0.qualifier" useFeatures="true" includeLaunchers="true">

+<product name="Visual Complexity Rankings and Accessibility Metrics (ViCRAM)" uid="ACTF Visual Complexity Rankings and Accessibility Metrics" id="org.eclipse.actf.examples.vicram.ViCRAM" application="org.eclipse.actf.examples.vicram.VicramApplication" version="1.5.0.qualifier" useFeatures="true" includeLaunchers="true">

 

    <aboutInfo>

       <image path="/org.eclipse.actf.examples.vicram/about.gif"/>

@@ -37,7 +37,7 @@
    </plugins>

 

    <features>

-      <feature id="org.eclipse.actf.examples.vicram" version="1.4.0.qualifier"/>

+      <feature id="org.eclipse.actf.examples.vicram" version="1.5.0.qualifier"/>

    </features>

 

    <configurations>