/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package feuille.karaoke.xfxintegration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.ImageIcon;
/**
* \distort(u1,v1,u2,v2,u3,v3)
* @author The Wingate 2940
*/
public class Distort extends OIntegration {
Params u1,v1,u2,v2,u3,v3;
public Distort(){
name = lang.getValueOf("popm_distort")!=null ? lang.getValueOf("popm_distort") : "Distortion";
u1 = new Params("U1", "0", false); paramsList.add(u1);
v1 = new Params("V1", "0", false); paramsList.add(v1);
u2 = new Params("U2", "0", false); paramsList.add(u2);
v2 = new Params("V2", "0", false); paramsList.add(v2);
u3 = new Params("U3", "0", false); paramsList.add(u3);
v3 = new Params("V3", "0", false); paramsList.add(v3);
}
@Override
public String getName() {
return name;
}
@Override
public ImageIcon getIcon() {
ImageIcon ii = new ImageIcon(getClass().getResource("20px-Crystal_Clear_app_ksame.png"));
return ii;
}
@Override
public void init() {
Pattern p = Pattern.compile("distort\\((.+),(.+),(.+),(.+),(.+),(.+)");
Matcher m = p.matcher(commands);
if(m.matches()){
String x;
x = m.group(1); u1.setParameter(x); paramsList.set(0, u1);
x = m.group(2); v1.setParameter(x); paramsList.set(1, v1);
x = m.group(3); u2.setParameter(x); paramsList.set(2, u2);
x = m.group(4); v2.setParameter(x); paramsList.set(3, v2);
x = m.group(5); u3.setParameter(x); paramsList.set(4, u3);
x = m.group(6); v3.setParameter(x); paramsList.set(5, v3);
}
}
@Override
public void update() {
u1 = paramsList.get(0); String s1 = (String)u1.getParameter();
v1 = paramsList.get(1); String s2 = (String)v1.getParameter();
u2 = paramsList.get(2); String s3 = (String)u2.getParameter();
v2 = paramsList.get(3); String s4 = (String)v2.getParameter();
u3 = paramsList.get(4); String s5 = (String)u3.getParameter();
v3 = paramsList.get(5); String s6 = (String)v3.getParameter();
commands = "\\distort("+s1+","+s2+","+s3+","+s4+","+s5+","+s6+")";
}
}