Search in sources :

Example 1 with CGraphPoint

use of blue.soundObject.ceciliaModule.CGraphPoint in project blue by kunstmusik.

the class Grapher method insertGraphPoint.

/**
 * Use by the MouseListener to add points
 *
 * @param i
 * @param j
 * @return
 */
protected CGraphPoint insertGraphPoint(int x, int y) {
    CGraphPoint point = new CGraphPoint();
    point.time = screenToDoubleX(x);
    point.value = screenToDoubleY(y);
    ArrayList points = currentGraph.getPoints();
    int index = 1;
    for (int i = 0; i < points.size(); i++) {
        CGraphPoint p1 = (CGraphPoint) points.get(i);
        CGraphPoint p2 = (CGraphPoint) points.get(i + 1);
        if (point.time >= p1.time && point.time <= p2.time) {
            index = i + 1;
            break;
        }
    }
    points.add(index, point);
    return point;
}
Also used : CGraphPoint(blue.soundObject.ceciliaModule.CGraphPoint) ArrayList(java.util.ArrayList) CGraphPoint(blue.soundObject.ceciliaModule.CGraphPoint)

Example 2 with CGraphPoint

use of blue.soundObject.ceciliaModule.CGraphPoint in project blue by kunstmusik.

the class gr method getValue.

@Override
public double[] getValue(CybilNoteList cybilNoteList) {
    /*
         * TODO - Build in terms of li algorithm
         */
    // double start = getDoubleValue(args.get(0));
    // double end = getDoubleValue(args.get(1));
    double timeValue = getTimeValue(args.get(args.size() - 1));
    ArrayList points = cgraph.getPoints();
    for (int i = 1; i < points.size(); i++) {
        CGraphPoint startPoint = (CGraphPoint) points.get(i - 1);
        CGraphPoint endPoint = (CGraphPoint) points.get(i);
        li line = new li();
        double duration = (endPoint.time - startPoint.time) * timeValue;
        line.args.add(Double.toString(startPoint.value));
        line.args.add(Double.toString(endPoint.value));
        line.args.add(Double.toString(duration) + "s");
        System.out.println("gr:\n " + startPoint + "\n" + endPoint);
        line.getValue(cybilNoteList);
    }
    return null;
}
Also used : CGraphPoint(blue.soundObject.ceciliaModule.CGraphPoint) ArrayList(java.util.ArrayList) CGraphPoint(blue.soundObject.ceciliaModule.CGraphPoint)

Example 3 with CGraphPoint

use of blue.soundObject.ceciliaModule.CGraphPoint in project blue by kunstmusik.

the class Grapher method findGraphPoint.

public CGraphPoint findGraphPoint(int x, int y) {
    for (Iterator iter = currentGraph.getPoints().iterator(); iter.hasNext(); ) {
        CGraphPoint point = (CGraphPoint) iter.next();
        int tempX = doubleToScreenX(point.time);
        int tempY = doubleToScreenY(point.value);
        if (tempX >= x - 2 && tempX <= x + 2 && tempY >= y - 2 && tempY <= y + 2) {
            return point;
        }
    }
    return null;
}
Also used : CGraphPoint(blue.soundObject.ceciliaModule.CGraphPoint) Iterator(java.util.Iterator) CGraphPoint(blue.soundObject.ceciliaModule.CGraphPoint)

Example 4 with CGraphPoint

use of blue.soundObject.ceciliaModule.CGraphPoint in project blue by kunstmusik.

the class Grapher method drawGraph.

/**
 * @param g
 * @param tempGraph
 */
private final void drawGraph(Graphics g, CGraph tempGraph, boolean drawPoints) {
    // double max = tempGraph.getMax();
    // double min = tempGraph.getMin();
    // double diff = max - min;
    // int width = this.getWidth() - 10;
    // int height = this.getHeight() - 10;
    int prevX = -1;
    int prevY = -1;
    for (Iterator iter = tempGraph.getPoints().iterator(); iter.hasNext(); ) {
        CGraphPoint point = (CGraphPoint) iter.next();
        int x = doubleToScreenX(point.time);
        int y = doubleToScreenY(point.value);
        if (drawPoints) {
            paintPoint(g, x, y);
        }
        if (prevX != -1) {
            g.drawLine(prevX, prevY, x, y);
        }
        prevX = x;
        prevY = y;
    }
}
Also used : CGraphPoint(blue.soundObject.ceciliaModule.CGraphPoint) Iterator(java.util.Iterator) CGraphPoint(blue.soundObject.ceciliaModule.CGraphPoint)

Example 5 with CGraphPoint

use of blue.soundObject.ceciliaModule.CGraphPoint in project blue by kunstmusik.

the class Grapher method moveUpGraph.

public void moveUpGraph() {
    if (currentGraph == null) {
        return;
    }
    for (Iterator iter = currentGraph.getPoints().iterator(); iter.hasNext(); ) {
        CGraphPoint point = (CGraphPoint) iter.next();
        int val = doubleToScreenY(point.value);
        val -= 1;
        if (val < 5) {
            val = 5;
        }
        point.value = screenToDoubleY(val);
    }
    repaint();
}
Also used : CGraphPoint(blue.soundObject.ceciliaModule.CGraphPoint) Iterator(java.util.Iterator) CGraphPoint(blue.soundObject.ceciliaModule.CGraphPoint)

Aggregations

CGraphPoint (blue.soundObject.ceciliaModule.CGraphPoint)9 ArrayList (java.util.ArrayList)5 Iterator (java.util.Iterator)4