<commit_before>* __Scroll Down__ for installation instructions (Windows and Mac OS X).
* Go to [__Download Page__](https://github.com/dtinth/i2DX/downloads) to download latest version of i2DX.


&nbsp;


__Video Demos__

* [1 iPad + 1 iPod Touch + StepMania](http://www.youtube.com/watch?v=C3cZsZYK4Jo) / Ristaccia
* [2 iPads + StepMania](http://www.youtube.com/watch?v=f7GBGOO5DRw&feature=channel) / garden
* [2 iPads v.s. Home Controller + Lunatic Rave 2](http://www.youtube.com/watch?v=RfJ5FoVZiBs) / being torn the sky
* [1 iPad](http://www.youtube.com/watch?v=tiuCW311GEA) / Elisha

&nbsp;

&nbsp;

&nbsp;


i2DX
=======

i2DX is a web-based IIDX controller for iPad / Opera Mobile. One night project 2011-10-04.

You can use it with [StepMania 5](http://www.stepmania.com/), especially with the
[beatmaniaIIDX15 theme](http://www.stepmania.com/forums/showthread.php?28308-SM5-beatmaniaIIDX15-theme-and-noteskin&p=195991#post195991).
You can also use it with Lunatic Rave 2, or other sims as well.

Because it is __web based__, you just need to run the server application on your computer,
and then point your device's web browser to the server (they must be on the same wireless network!).
__No application installation needed on the device.__ (I particularly like this because I could borrow
someone's device and use it as a scratch controller [see below] :P).

--------------

It uses the following technologies:

* [WebSocket](http://websocket.org/)
* Python
	* [Tornado Web Server](http://www.tornadoweb.org/)
	* [pyOSC](https://trac.v2.nl/wiki/pyOSC)
* [OSCulator](http://www.osculator.net/) (Mac)
* [autopy](http://www.autopy.org/) (Windows)



How it works
------------

The server serves the file to the device's web browser, which connects back to
the server via WebSocket and send the press / release events.

__On Mac__: The WebSocket server then sends these events via OSC to OSCulator, which can then be used to
map the received OSC events to joystick events and pass it to the game.

__On Windows__: The WebSocket server then use autopy to press the keys.



The Controllers
---------------

![Main Controller](http://dl.dropbox.com/u/25097375/Documentation%20Images/i2DX/Main.png?x=1)

![Alternate Controller (scratch on the right)](http://dl.dropbox.com/u/25097375/Documentation%20Images/i2DX/Alternate.png?x=1)

![Scratch Controller for iPad](http://dl.dropbox.com/u/25097375/Documentation%20Images/i2DX/Scratch2.png?x=1)

![Scratch Controller for Small Screens](http://dl.dropbox.com/u/25097375/Documentation%20Images/i2DX/Scratch.png?x=1)



Setup
-----

* A computer with beatmaniaIIDX simulator (I use StepMania 5 with IIDX15 theme)
* An iPad or an Android tablet device with Opera Mobile
* An additional device (iPad, iPhone, iPod touch, or almost any touch Android phones) (optional, used as a dedicated scratch controller)
* A working WiFi connection (may or may not have internet access. In my opinion, ad-hoc is the best)



Server Instructions (Mac OS X + OSCulator)
------------------------------------------

You have to install OSCulator, and then use Terminal to install Tornado and pyOSC Python modules.

    sudo easy_install tornado
    sudo easy_install pyOSC

Open OSCulator and set it to port 9000.

Then, `cd` to the __server__ directory and then

    python server-mac-osculator.py

to start the i2DX server on port 9876. Make sure the port is accessible from the device.

Now navigate your client to the the server (see __Client Instructions__ below).

If you press a button and the text changes to "Disconnected", then the key presses
could not get through to OSCulator. Fix it and refresh the page and try again.

Press the buttons and try out the scratches. The OSC messages should show up in OSCulator.
Then in OSCulator, map the messages to the joystick events and enjoy!





<span id="easy-installation-windows">Server Instructions (Windows + autopy) (Easy)</span>
---------------------------------------------

Just download the latest [i2DX-Windows-abcdefg.zip](https://github.com/dtinth/i2DX/downloads),
extract, go to __server__, and run __server-windows-autopy.exe__.
<commit_msg>Change easy_install command for Mac<commit_after>* __Scroll Down__ for installation instructions (Windows and Mac OS X).
* Go to [__Download Page__](https://github.com/dtinth/i2DX/downloads) to download latest version of i2DX.


&nbsp;


__Video Demos__

* [1 iPad + 1 iPod Touch + StepMania](http://www.youtube.com/watch?v=C3cZsZYK4Jo) / Ristaccia
* [2 iPads + StepMania](http://www.youtube.com/watch?v=f7GBGOO5DRw&feature=channel) / garden
* [2 iPads v.s. Home Controller + Lunatic Rave 2](http://www.youtube.com/watch?v=RfJ5FoVZiBs) / being torn the sky
* [1 iPad](http://www.youtube.com/watch?v=tiuCW311GEA) / Elisha

&nbsp;

&nbsp;

&nbsp;


i2DX
=======

i2DX is a web-based IIDX controller for iPad / Opera Mobile. One night project 2011-10-04.

You can use it with [StepMania 5](http://www.stepmania.com/), especially with the
[beatmaniaIIDX15 theme](http://www.stepmania.com/forums/showthread.php?28308-SM5-beatmaniaIIDX15-theme-and-noteskin&p=195991#post195991).
You can also use it with Lunatic Rave 2, or other sims as well.

Because it is __web based__, you just need to run the server application on your computer,
and then point your device's web browser to the server (they must be on the same wireless network!).
__No application installation needed on the device.__ (I particularly like this because I could borrow
someone's device and use it as a scratch controller [see below] :P).

--------------

It uses the following technologies:

* [WebSocket](http://websocket.org/)
* Python
	* [Tornado Web Server](http://www.tornadoweb.org/)
	* [pyOSC](https://trac.v2.nl/wiki/pyOSC)
* [OSCulator](http://www.osculator.net/) (Mac)
* [autopy](http://www.autopy.org/) (Windows)



How it works
------------

The server serves the file to the device's web browser, which connects back to
the server via WebSocket and send the press / release events.

__On Mac__: The WebSocket server then sends these events via OSC to OSCulator, which can then be used to
map the received OSC events to joystick events and pass it to the game.

__On Windows__: The WebSocket server then use autopy to press the keys.



The Controllers
---------------

![Main Controller](http://dl.dropbox.com/u/25097375/Documentation%20Images/i2DX/Main.png?x=1)

![Alternate Controller (scratch on the right)](http://dl.dropbox.com/u/25097375/Documentation%20Images/i2DX/Alternate.png?x=1)

![Scratch Controller for iPad](http://dl.dropbox.com/u/25097375/Documentation%20Images/i2DX/Scratch2.png?x=1)

![Scratch Controller for Small Screens](http://dl.dropbox.com/u/25097375/Documentation%20Images/i2DX/Scratch.png?x=1)



Setup
-----

* A computer with beatmaniaIIDX simulator (I use StepMania 5 with IIDX15 theme)
* An iPad or an Android tablet device with Opera Mobile
* An additional device (iPad, iPhone, iPod touch, or almost any touch Android phones) (optional, used as a dedicated scratch controller)
* A working WiFi connection (may or may not have internet access. In my opinion, ad-hoc is the best)



Server Instructions (Mac OS X + OSCulator)
------------------------------------------

You have to install OSCulator, and then use Terminal to install Tornado and pyOSC Python modules.

    sudo easy_install tornado
    sudo easy_install https://trac.v2.nl/raw-attachment/wiki/pyOSC/pyOSC-0.3.5b-5294.tar.gz

Open OSCulator and set it to port 9000.

Then, `cd` to the __server__ directory and then

    python server-mac-osculator.py

to start the i2DX server on port 9876. Make sure the port is accessible from the device.

Now navigate your client to the the server (see __Client Instructions__ below).

If you press a button and the text changes to "Disconnected", then the key presses
could not get through to OSCulator. Fix it and refresh the page and try again.

Press the buttons and try out the scratches. The OSC messages should show up in OSCulator.
Then in OSCulator, map the messages to the joystick events and enjoy!





<span id="easy-installation-windows">Server Instructions (Windows + autopy) (Easy)</span>
---------------------------------------------

Just download the latest [i2DX-Windows-abcdefg.zip](https://github.com/dtinth/i2DX/downloads),
extract, go to __server__, and run __server-windows-autopy.exe__.

{'fraction_non_alphanumeric': 0.12556804592202822, 'fraction_numerical': 0.02822291317866539, 'mean_word_length': 3.7734018264840183, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 7, 'lorem ipsum': 0, 'www.': 18, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 10, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '549574', 'n_tokens_mistral': 2821, 'n_tokens_neox': 2582, 'n_words': 950}