notes
http://bantherewind.com/cinder-leapmotion
Getting up and running with Cinder, Leap Motion, Cinder-LeapSdk and Xcode
This link was very helpful for setting up the entire development sdk for leap and cinder
http://bantherewind.com/cinder-leapmotion
This link was very helpful for setting up the entire development sdk for leap and cinder
By Michael Lyons
http://www.kasrl.org/publications.html
Gestural control without primary feedback. i.e.. Theremin.
Perry’s Principles (perry cook)
human/artistic
Technological
Update 6/2014: working version here: https://reactivemusic.net/?p=7013
The zapier.com trigger method of sending tweets from Max is limited by number of tweets and sync rate. So it would be nice to set up another intermediary server program in ruby or php which eliminates the middle-man and just sends tweets directly.
Or you could use the mxj searchTweet program, which has been updated to do this on the search side.
update: Got it working with this gem: https://github.com/sferik/twitter. Its much easier than dealing with xively.
docs: http://rdoc.info/gems/twitter
how to destroy a tweet: http://stackoverflow.com/questions/10640811/twitter-gem-how-to-get-the-id-of-a-new-tweet
how to get a timeline: http://bobbyprabowo.wordpress.com/2010/01/01/simple-twitter-gem-tutorial/
example of error handling code:
MAX_ATTEMPTS = 3 num_attempts = 0 begin num_attempts += 1 retweets = Twitter.retweeted_by_user("sferik") rescue Twitter::Error::TooManyRequests => error if num_attempts <= MAX_ATTEMPTS # NOTE: Your process could go to sleep for up to 15 minutes but if you # retry any sooner, it will almost certainly fail with the same exception. sleep error.rate_limit.reset_in retry else raise end end
Another useful SO post: http://stackoverflow.com/questions/16618037/twitter-rate-limit-hit-while-requesting-friends-with-ruby-gem/16620639#16620639
note: 6/2021 – Everything on this post no longer works, except the idea. See Internetsensors posts for current methods
pachube.com and cosm.com have now changed into xively.com. Also Twitter has migrated to the version 1.1 API. The old method of sending tweets with cosm.com no longer works as of of June 2013.
Here are revised instructions for setting up an intermediary program that allows you to send Tweets from Max/MSP using a xively.com “device” (feed). This setup is required by the tweetCurl patches in the Max/MSP internet sensors project:
https://reactivemusic.net/?p=5859
Summary: the Max program will issue an http: put request to your xively.com feed with the Tweet text as data. When the data is received it triggers a request to xapier.com which logs into your Twitter account and sends the Tweet. xapier.com handles authentication using Oauth.
1. set up a xively.com account (self explanatory)
2. add a device. From the xively.com home page select “develop” from the “web tools” menu. You’ll get a screen like this one:
Click on +add device. The following screen will appear:
Fill in the fields. The names and choices can be whatever you want. Then click the “Add Device” box to get the following screen:
Now click on +Add Channel. Fill in the Channel ID field with the name: tweet (as shown below) then click the “save channel” box.
3. Add Trigger. The trigger will link this channel to Twitter. Please follow the instructions here: https://xively.com/dev/tutorials/zapier/
Notes:
update 12/2013 – see this post for an example of how to display geo-coded data from Max/MSP to Google maps https://reactivemusic.net/?p=8115
original post
This is a reference to some notes. In June, I wrote a Max patch to communicate with my brother David’s Tesla Model S, using an API which runs on Tesla servers and communicates with the car. You can do things like honk horn, flash lights, open doors – and also receive data on speed, position, and battery condition.
Can’t really test the control part of this – without the possibility of causing a car accident in California, but here’s a screen shot of the files. Essentially I just ran a node server for the API and communicated from Max using Osc.
The last thing I did was to track his return trip from SFO to Santa Cruz and plot points on a map.We will eventually update this prototype to plot data on a Google Map.
Much of the logic was borrowed from the Irish Train mapping project: https://reactivemusic.net/?p=5477
This method was used to fix the tweetcurl series of Max patches and anything else which uses Tom Igoe’s method of sending tweets from Arduino via cosm.
http://www.tigoe.com/pcomp/code/arduinowiring/1135/ (old method)
The automatic twitter trigger used in the “internet sensors” project via cosm, stopped working when cosm migrated to xively.com. But it works correctly from a device (or Max) to xively. So you don’t need to change anything except the xively trigger associated with the feed.
The fix is to go into your xively feed (legacy feed) delete the existing trigger and set up a new trigger using zapier – using the instructions in this tutorial.
https://xively.com/dev/tutorials/zapier/
Notes:
If you really want to send Tweets from Max, check out the Twitter client that uses ruby: https://reactivemusic.net/?p=7013
1. first QC + syphon
http://cycling74.com/forums/topic/using-jitter-to-display-a-website/
Have installed this plugin with Quartz Composer and used the Simple Browser.qtz example, in tkzic/quartz
http://code.google.com/p/cogewebkit/
2. Also there is the [jweb] object
http://williamjturkel.net/code/interacting-with-multimedia-in-max-6/
3. An approach using [jweb] amd [jit.desktop]
http://cycling74.com/forums/topic/import-live-feed-into-jitter/
How to send ftrim in node ar-drone – to level out after a crash
No, you send at*ctrl with params 5,0, which resets the flag controlCommandAck in the navdata to 0.
Then when you send the next at*config, this flag switches back to 1. You then send another at*ctrl 5,0 to reset.
Described here: https://projects.ardrone.org/boards/1/topics/show/2364
This curl examples for this API are broken. – the API now requires a key: http://openweathermap.org/api
I’m using this API now instead of the CORDC wind forecast data for the internet-sensors wind example. You can get 7 day forecast data for practically anywhere. Also historical data is available. And its free.
Weather forecast in the city for the next 7 days.
http://api.openweathermap.org/data/2.1/forecast/city/{CITY_ID}
http://api.openweathermap.org/data/2.1/forecast/city/524901
{"message":"","cod":"200","calctime":0.0189,"list":[ {"dt":1345251600, "main":{"temp":286.6,"humidity":98,"pressure":1002,"temp_min":286,"temp_max":287}, "wind":{"speed":0,"deg":-2}, "rain":{"3h":2}, "clouds":{"all":56}, "weather":{"id":803,"main":"Clouds","description":"broken clouds", "img":"..." } ....
This gets city code for santa cruz – 5393052
curl http://api.openweathermap.org/data/2.1/find/name?q=santa%20cruz,US
this gets 7 days of santa cruz forecasts with time stamps
curl http://api.openweathermap.org/data/2.1/forecast/city/5393052
typical JSON response (for one datapoint):
{ "dt": 1364176800, "main": { "temp": 285.54, "temp_min": 282.6, "temp_max": 287.5, "pressure": 1015.99, "humidity": 87.6, "temp_kf": 2.94 }, "weather": [{ "id": 801, "main": "Clouds", "description": "few clouds", "icon": "02n" }], "clouds": { "all": 17, "low": 0, "middle": 0, "high": 17 }, "wind": { "speed": 4.29, "deg": 311, "gust": 5.1 }, "dt_txt": "2013-03-25 02:00:00" }
So… to get precipitation, we need to just look for “rain”, or “snow” indicator
PuRest JSON – general purpose HTTP request library
http://puredata.info/downloads/purest-json
HTTP Get client from MrPeach
http://puredata.info/docs/tutorials/SimpleWebclient
(haven’t tried these yet)