Giter VIP home page Giter VIP logo

ishosc's Introduction

ishosc

Drive Brad Frost's ish. with a "remote control". Some background: the ish. interface elements are mapped to OSC messages which are sent and received by an OSC app. The message handling is done by a local web server via socket.io (browser/server communication).

Getting Started

Installing via GitHub

Install the git repository. Install the related node modules with npm install.

Documentation

This repository contains a modified ish. 2 version. I removed the PHP dependencies and replaced the functionality with JavaScript and added the socket.io module and some JavaScript for the message sending between ish. and the background web server.

Start ishosc

To start the tool from the command line you may "change directory" into the ishosc folder and type node ./lib/ishosc.js. With this command you start a local node web server with socket.io and the OSC server. You may then open the URL "http://localhost:8080" in your browser to start ish.

The OSC server and client

The OSC interface needs the OSC server IP and port and the OSC client IP and port information. These values can be set as command line parameters or in the config file. You may edit config.js or src/config.coffee to set the parameters. If you work with CoffeeScript you may compile the src with the command line command grunt coffee.

The config parameters / command line parameters

The -h command line parameter will show the following description and default values:

Open your browser to remote control Brad Frost's ish.
Usage: node ./lib/ishosc.js

Options:
  -p  Set the node.js web server port
      [default: 8080]
  -s  Set the OSC server port
      [default: 8000]
  -i  Set the OSC server IP
      [default: "123.001.001.002"]
  -c  Set the OSC client port
      [default: 8001]
  -j  Set the OSC client IP
      [default: "123.001.001.003"]
  -u  The URL for the initially opened web page
      [default: "http://bradfrostweb.com/blog/post/ish-2-0/"]
  -b  Set the browser to open and run ish. (OS X only, Safari or "Google Chrome")
      [default: ""]
  -x  Set the browser window width (OS X only, Safari or "Google Chrome")
      [default: 1920]
  -y  Set the browser window height (OS X only, Safari or "Google Chrome")
      [default: 1076]
  -d  1 - Show debug messages
      [default: 0]
  -h  This help

An OSC client

To remote control ish. you use an OSC client - you may use any OSC client. The client must send the OSC messages the ishosc server is listening to. Part of this repository is the touchOSC/ish2.touchosc layout file with the control elements for the "TouchOSC" app for iOS and Android from hexler.net. To install the layout file you need the free TouchOSC Editor for Mac OS X, Windows or Linux. You may download the TouchOSC Editor, open the ish2.touchosc layout in the editor and send it to TouchOSC on your device.

If you want to create your own OSC client you may check the messages the OSC server listens to in the file src/ishosc.coffee.

The TouchOSC layout

The TouchOSC layout offers 3 pages

The first page with buttons to trigger the Small-ish, Medium-ish, Large-ish, Random, Disco and Hay ish. buttons.

OSC page 1

The second page with buttons to fine tune the ish. viewport width in three step sizes: 1px plus and minus, 1em plus and minus, 5em plus and minus. Similar to the use of the curser arrows in the px and em field in ish.

OSC page 2

The third page offers a big round control to modify the ish. viewport width with your thumb or fingers.

OSC page 3

All three pages offer a display to show the actual ish. viewport width in px and em.

The first two pages map ish. controls, the round control on the third page offers a different way to interact with ish. Tappping on the control is similar to Disco or Random mode. Sliding offers a manual forward and backward Hay mode.

Comfort settings for OS X

For the Mac I added AppleScripts to open Safari or Google Chrome, set the browser window to full screen width and open ish. automatically displaying a preset web page. This way you just start ishosc and get the browser running ish. and your selected web page ready to work with. I start ishosc for example with an Alfred workflow by typing "ishosc" into the Alfred dialog and can start to use ish. remotely from my mobile device on the web page I am working with - fast and convenient.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Lint your code using Grunt.

Release History

Initial release - version 0.1.0.

License

Copyright (c) 2013 Urs Hunkler Licensed under the MIT license.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.