## SwingOSC – Java-based GUI classes

This class is meant as an emulation of the MouseX UGen. last mod: 30-jul-07 sciss
This class replaces the UGen by a control bus reader. It does not really track the mouse movements ; instead you can write the virtual mouse values (0 ... 1) onto this control bus or use a GUI panel as shown in the example code below.

different behaviour
class | this is not a UGen subclass, so in rare circumstances there are incompatibilities

# JMouseX

Note: please use the abstraction layer GUI.mouseX if possible! (see GUI)

`JMouseX` acts like a user-interface UGen. It outputs a control rate signal that reflects the horizontal screen coordinate of the mouse.

## Instantiation

    	JMouseX.kr( <minval>, <maxval>, <warp>, <lag> )

- `minval`, `maxval` – range between left and right end of screen
- `warp` – mapping curve. 0 is linear, 1 is exponential (for freq or times e.g). alternative: 'linear', 'exponential'
- `lag` – lag factor to dezpipper cursor movement

Example:

        s.boot;

        { SinOsc.ar( JMouseX.kr( 40, 10000, 1 ), 0, 0.1 )}.play;

        JMouseX.set( 0.5 );
        JMouseX.set( 1.0 );
        JMouseX.set( 0.0 );

        // or use a GUI to control (requires SwingOSC server running)
        // ; the panel tracks mouse movement, unless shift key is hold down
        JMouseBase.makeGUI; // optional arg is panel size!

See also: JMouseY, JMouseButton