/*******************************************************************************
* Thierry.Vieville@sophia.inria.fr, Copyright (C) 2009.  All rights reserved. *
*******************************************************************************/
package org.javascool.proglets.syntheSons;

/** Defines a Jvs code to Java standard code translation for this proglet.
 @see <a href="Translator.java.html">code source</a>
 @serial exclude
 */
public class Translator extends org.javascool.core.Translator {
  @Override
  public String getImports() {
	return "import org.javascool.tools.sound.InputSoundBit;" +
		   "import org.javascool.tools.sound.FileSoundBit;" +
		   "import org.javascool.tools.sound.SoundBit;" +
		   "import org.javascool.proglets.syntheSons.NotesSoundBit;" +
		   "import org.javascool.proglets.syntheSons.SoundBitPanel;";
  }
  @Override
  public String translate(String code) {
	// Translates the  @tone macro
	return code.replaceAll("@tone:(.*)\\s*;",
						   "/* @tone:$1 @<nojavac*/org.javascool.proglets.syntheSons.Functions.tone = new org.javascool.tools.sound.SoundBit() { public double get(char c, double t) { return $1; } }; org.javascool.proglets.syntheSons.Functions.setNotes(\"16 a\");/*@nojavac>*/");
  }
}