Skip to content

Instantly share code, notes, and snippets.

@rhathaway
Created December 13, 2011 00:15
Show Gist options
  • Save rhathaway/1469780 to your computer and use it in GitHub Desktop.
Save rhathaway/1469780 to your computer and use it in GitHub Desktop.
wunderground + twitter in processing
class Glyph {
int x, y, glyphsize;
Glyph() {
x = 410;
y = 50;
glyphsize = 10;
}
void paint(int i) {
smooth();
noStroke();
color(255, 100);
ellipse(x + i * 10, y, glyphsize, glyphsize);
}
void paint2(int i) {
smooth();
noStroke();
color(255, 100);
ellipse(x + i * 10, y + 400, glyphsize, glyphsize);
}
}
import com.francisli.processing.http.*;
//// variable declaration of an two arrays of Glyph objects
Glyph[] happyGlyphs;
Glyph[] sadGlyphs;
// twitter stuff
HttpClient weatherClient, twitterClient;
HttpRequest happySearch;
HttpRequest sadSearch;
JSONObject content;
// wunderground stuff
PFont cityFont, timeFont, weatherFont;
PImage backgroundImg;
PImage conditionImg;
PImage windImg;
String locationInfo, currentTime, currentConditions, iconURL, wind, windDirection;
float tempF, tempC, windSpeed;
// variables for specific city data
String HNLinfo, HNLtime, HNLconditions, HNLwind, HNLwindDirection, HNLiconURL;
float HNLtempF, HNLtempC, HNLwindSpeed;
String SFOinfo, SFOtime, SFOconditions, SFOwind, SFOwindDirection, SFOiconURL;
float SFOtempF, SFOtempC, SFOwindSpeed;
String CHIinfo, CHItime, CHIconditions, CHIwind, CHIwindDirection, CHIiconURL;
float CHItempF, CHItempC, CHIwindSpeed;
String NYCinfo, NYCtime, NYCconditions, NYCwind, NYCwindDirection, NYCiconURL;
float NYCtempF, NYCtempC, NYCwindSpeed;
HttpRequest HNLweather, SFOweather, CHIweather, NYCweather;
void setup() {
size(1024, 768);
frameRate(24);
wundergroundRequest();
twitterRequest();
}
void wundergroundRequest() {
cityFont = loadFont("UbuntuCondensed-Regular-45.vlw");
timeFont = loadFont("UbuntuCondensed-Regular-18.vlw");
weatherFont = loadFont("UbuntuCondensed-Regular-22.vlw");
backgroundImg = loadImage("weatherbg.jpg");
weatherClient = new HttpClient(this, "api.wunderground.com");
HNLweather = weatherClient.GET("/api/[api_key]/conditions/q/HI/Honolulu.json");
SFOweather = weatherClient.GET("/api/[api_key]/conditions/q/CA/San_Francisco.json");
CHIweather = weatherClient.GET("/api/[api_key]/conditions/q/IL/Chicago.json");
NYCweather = weatherClient.GET("/api/[api_key]/conditions/q/NY/New_York_City.json");
}
void twitterRequest() {
twitterClient = new HttpClient(this, "search.twitter.com");
//// using SSL is optional, but recommended
twitterClient.useSSL = true;
//// turn on OAuth request signing
twitterClient.useOAuth = true;
//// set up OAuth signing parameters
twitterClient.oauthConsumerKey = "---";
twitterClient.oauthConsumerSecret = "---";
twitterClient.oauthAccessToken = "---";
twitterClient.oauthAccessTokenSecret = "---";
//// set up POST params
HashMap params = new HashMap();
// positive tweets about the weather within 15mi of san francisco
params.put("q", "weather :) geocode:37.781157,-122.398720,15mi");
happySearch = twitterClient.GET("/search.json", params);
HashMap params2 = new HashMap();
// negative tweets about the weather within 15mi of san francisco
params2.put("q", "weather :( geocode:37.781157,-122.398720,15mi");
sadSearch = twitterClient.GET("/search.json", params2);
//// variable assignment- we instantiate a new array of Glyph objects with size 200
happyGlyphs = new Glyph[200];
for (int i = 0; i < happyGlyphs.length; i = i + 1) {
happyGlyphs[i] = new Glyph();
}
sadGlyphs = new Glyph[200];
for (int i = 0; i < sadGlyphs.length; i = i + 1) {
sadGlyphs[i] = new Glyph();
}
}
void responseReceived(HttpRequest request, HttpResponse response) {
//// check for HTTP 200 success code
if (response.statusCode == 200) {
println(response.getContentAsString());
JSONObject results = response.getContentAsJSONObject();
locationInfo = results.get("current_observation").get("display_location").get("full").stringValue();
currentTime = results.get("current_observation").get("observation_time_rfc822").stringValue();
tempF = results.get("current_observation").get("temp_f").floatValue();
tempC = results.get("current_observation").get("temp_c").floatValue();
currentConditions = results.get("current_observation").get("weather").stringValue();
iconURL = results.get("current_observation").get("icon_url").stringValue();
// wind info
wind = results.get("current_observation").get("wind_string").stringValue();
windDirection = results.get("current_observation").get("wind_dir").stringValue();
windSpeed = results.get("current_observation").get("wind_mph").floatValue();
if (request == HNLweather) { // Honolulu weather
HNLinfo = locationInfo.toUpperCase();
HNLtime = currentTime;
HNLtempF = tempF;
HNLtempC = tempC;
HNLconditions = currentConditions;
HNLiconURL = iconURL;
HNLwind = wind;
HNLwindDirection = windDirection;
HNLwindSpeed = windSpeed;
println(HNLinfo);
println(HNLtime);
println("Current conditions: " + HNLconditions);
println("Temperature: " + HNLtempF + "° F / " + HNLtempC + "° C");
println(HNLiconURL);
println("Wind conditions: " + HNLwind);
println("Wind speed/direction: " + HNLwindSpeed + " MPH from the " + HNLwindDirection);
background(255);
imageMode(CORNERS);
image(backgroundImg, 0, 0);
textAlign(LEFT, TOP);
textFont(cityFont, 45);
fill(0, 200);
text(HNLinfo, 15, 15);
textFont(timeFont, 18);
text(HNLtime, 15, 65);
conditionImg = loadImage(HNLiconURL);
image(conditionImg, 15, 110);
textFont(weatherFont, 22);
text(HNLtempF + "° F / " + HNLtempC + "° C", 75, 110);
text(HNLconditions, 75, 135);
windImg = loadImage("wind-icon.gif");
image(windImg, 15, 185);
text("WIND: " + HNLwind, 75, 185, 300, 60);
text("SPEED/DIRECTION: ", 75, 250);
text(HNLwindSpeed + " MPH from the " + HNLwindDirection, 75, 275);
}
if (request == SFOweather) { // San Francisco weather
SFOinfo = locationInfo.toUpperCase();
SFOtime = currentTime;
SFOtempF = tempF;
SFOtempC = tempC;
SFOconditions = currentConditions;
SFOiconURL = iconURL;
SFOwind = wind;
SFOwindDirection = windDirection;
SFOwindSpeed = windSpeed;
println(SFOinfo);
println(SFOtime);
println("Current conditions: " + SFOconditions);
println("Temperature: " + SFOtempF + "° F / " + SFOtempC + "° C");
println(SFOiconURL);
println("Wind conditions: " + SFOwind);
println("Wind speed/direction: " + SFOwindSpeed + " MPH from the " + SFOwindDirection);
background(255);
imageMode(CORNERS);
image(backgroundImg, 0, 0);
textAlign(LEFT, TOP);
textFont(cityFont, 45);
fill(0, 200);
text(SFOinfo, 15, 15);
textFont(timeFont, 18);
text(SFOtime, 15, 65);
conditionImg = loadImage(SFOiconURL);
image(conditionImg, 15, 110);
textFont(weatherFont, 22);
text(SFOtempF + "° F / " + SFOtempC + "° C", 75, 110);
text(SFOconditions, 75, 135);
windImg = loadImage("wind-icon.gif");
image(windImg, 15, 185);
text("WIND: " + SFOwind, 75, 185, 300, 60);
text("SPEED/DIRECTION: ", 75, 250);
text(SFOwindSpeed + " MPH from the " + SFOwindDirection, 75, 275);
}
if (request == CHIweather) { // Chicago weather
CHIinfo = locationInfo.toUpperCase();
CHItime = currentTime;
CHItempF = tempF;
CHItempC = tempC;
CHIconditions = currentConditions;
CHIiconURL = iconURL;
CHIwind = wind;
CHIwindDirection = windDirection;
CHIwindSpeed = windSpeed;
println(CHIinfo);
println(CHItime);
println("Current conditions: " + CHIconditions);
println("Temperature: " + CHItempF + "° F / " + CHItempC + "° C");
println(CHIiconURL);
println("Wind conditions: " + CHIwind);
println("Wind speed/direction: " + CHIwindSpeed + " MPH from the " + CHIwindDirection);
background(255);
imageMode(CORNERS);
image(backgroundImg, 0, 0);
textAlign(LEFT, TOP);
textFont(cityFont, 45);
fill(0, 200);
text(CHIinfo, 15, 15);
textFont(timeFont, 18);
text(CHItime, 15, 65);
conditionImg = loadImage(CHIiconURL);
image(conditionImg, 15, 110);
textFont(weatherFont, 22);
text(CHItempF + "° F / " + CHItempC + "° C", 75, 110);
text(CHIconditions, 75, 135);
windImg = loadImage("wind-icon.gif");
image(windImg, 15, 185);
text("WIND: " + CHIwind, 75, 185, 300, 60);
text("SPEED/DIRECTION: ", 75, 250);
text(CHIwindSpeed + " MPH from the " + CHIwindDirection, 75, 275);
}
if (request == NYCweather) { // NYC weather
NYCinfo = locationInfo.toUpperCase();
NYCtime = currentTime;
NYCtempF = tempF;
NYCtempC = tempC;
NYCconditions = currentConditions;
NYCiconURL = iconURL;
NYCwind = wind;
NYCwindDirection = windDirection;
NYCwindSpeed = windSpeed;
println(NYCinfo);
println(NYCtime);
println("Current conditions: " + NYCconditions);
println("Temperature: " + NYCtempF + "° F / " + NYCtempC + "° C");
println(NYCiconURL);
println("Wind conditions: " + NYCwind);
println("Wind speed/direction: " + NYCwindSpeed + " MPH from the " + NYCwindDirection);
background(255);
imageMode(CORNERS);
image(backgroundImg, 0, 0);
textAlign(LEFT, TOP);
textFont(cityFont, 45);
fill(0, 200);
text(NYCinfo, 15, 15);
textFont(timeFont, 18);
text(NYCtime, 15, 65);
conditionImg = loadImage(NYCiconURL);
image(conditionImg, 15, 110);
textFont(weatherFont, 22);
text(NYCtempF + "° F / " + NYCtempC + "° C", 75, 110);
text(NYCconditions, 75, 135);
windImg = loadImage("wind-icon.gif");
image(windImg, 15, 185);
text("WIND: " + NYCwind, 75, 185, 300, 60);
text("SPEED/DIRECTION: ", 75, 250);
text(NYCwindSpeed + " MPH from the " + NYCwindDirection, 75, 275);
}
// twitter stuff
if (request == happySearch) {
JSONObject happyResults = content.get("results");
happyGlyphs = new Glyph[happyResults.size()];
for (int i = 0; i < happyResults.size(); i++) {
JSONObject tweet = happyResults.get(i);
Glyph tg = new Glyph();
// tg.text = tweet.get("text").stringValue();
happyGlyphs[i] = tg;
}
}
else if (request == sadSearch) {
JSONObject sadResults = content.get("results");
sadGlyphs = new Glyph[sadResults.size()];
for (int i = 0; i < sadResults.size(); i++) {
JSONObject tweet = sadResults.get(i);
Glyph tg = new Glyph();
// tg.text = tweet.get("text").stringValue();
sadGlyphs[i] = tg;
}
}
}
}
void draw () {
smooth();
println(happyGlyphs.length);
for (int i = 0; i < happyGlyphs.length; i = i + 1) {
happyGlyphs[i].paint(i);
}
println(sadGlyphs.length);
for (int i = 0; i < sadGlyphs.length; i = i + 1) {
sadGlyphs[i].paint2(i);
}
}
@rhathaway
Copy link
Author

It runs, but displays the following error in the console:

HttpClient: Connecting to api.wunderground.com on port 80
HttpClient: Connecting to api.wunderground.com on port 80
HttpClient: Connecting to api.wunderground.com on port 80
HttpClient: Connecting to api.wunderground.com on port 80
HttpClient: GET http://api.wunderground.com:80/api/d6961237291397f0/conditions/q/NY/New_York_City.json HTTP/1.1HttpClient: GET http://api.wunderground.com:80/api/d6961237291397f0/conditions/q/IL/Chicago.json HTTP/1.1

HttpClient: GET http://api.wunderground.com:80/api/d6961237291397f0/conditions/q/CA/San_Francisco.json HTTP/1.1
HttpClient: GET http://api.wunderground.com:80/api/d6961237291397f0/conditions/q/HI/Honolulu.json HTTP/1.1
HttpClient: Connecting to search.twitter.com on port 443
HttpClient: GET https://search.twitter.com:443/search.json?q=weather+%3A%29+geocode%3A37.781157%2C-122.398720%2C15mi HTTP/1.1
HttpClient: Connecting to search.twitter.com on port 443
HttpClient: GET https://search.twitter.com:443/search.json?q=weather+%3A%28+geocode%3A37.781157%2C-122.398720%2C15mi HTTP/1.1
200
200
200
200
200
200

{
"response": {
"version": "0.1"
,"termsofService": "http://www.wunderground.com/weather/api/d/terms.html"
,"features": {
"conditions": 1
}
}
, "current_observation": {
"image": {
"url":"http://icons-ak.wxug.com/graphics/wu2/logo_130x80.png",
"title":"Weather Underground",
"link":"http://www.wunderground.com"
},
"display_location": {
"full":"Chicago, IL",
"city":"Chicago",
"state":"IL",
"state_name":"Illinois",
"country":"US",
"country_iso3166":"US",
"zip":"60290",
"latitude":"41.87459946",
"longitude":"-87.63729858",
"elevation":"189.00000000"
},
"observation_location": {
"full":"Chicago, Illinois",
"city":"Chicago",
"state":"Illinois",
"country":"US",
"country_iso3166":"US",
"latitude":"41.886047",
"longitude":"-87.627602",
"elevation":"0 ft"
},
"estimated": {
},
"station_id":"KILCHICA86",
"observation_time":"Last Updated on December 12, 6:11 PM CST",
"observation_time_rfc822":"Mon, 12 Dec 2011 18:11:41 -0600",
"observation_epoch":"1323735101",
"local_time_rfc822":"Mon, 12 Dec 2011 18:11:54 -0600",
"local_epoch":"1323735114",
"local_tz_short":"CST",
"local_tz_long":"America/Chicago",
"weather":"Mostly Cloudy",
"temperature_string":"42.6 F (5.9 C)",
"temp_f":42.6,
"temp_c":5.9,
"relative_humidity":"51%",
"wind_string":"From the ESE at 5.0 MPH Gusting to 13.0 MPH",
"wind_dir":"ESE",
"wind_degrees":112,
"wind_mph":5.0,
"wind_gust_mph":"13.0",
"pressure_mb":"1006.7",
"pressure_in":"29.73",
"pressure_trend":"0",
"dewpoint_string":"26 F (-3 C)",
"dewpoint_f":26,
"dewpoint_c":-3,
"heat_index_string":"NA",
"heat_index_f":"NA",
"heat_index_c":"NA",
"windchill_string":"40 F (4 C)",
"windchill_f":"40",
"windchill_c":"4",
"visibility_mi":"10.0",
"visibility_km":"16.1",
"solarradiation":"0",
"UV":"0",
"precip_1hr_string":"0.00 in ( 0 mm)",
"precip_1hr_in":"0.00",
"precip_1hr_metric":" 0",
"precip_today_string":"0.00 in (0 mm)",
"precip_today_in":"0.00",
"precip_today_metric":"0",
"icon":"mostlycloudy",
"icon_url":"http://icons-ak.wxug.com/i/c/k/nt_mostlycloudy.gif",
"forecast_url":"http://www.wunderground.com/US/IL/Chicago.html",
"history_url":"http://www.wunderground.com/history/airport/KILCHICA86/2011/12/12/DailyHistory.html",
"ob_url":"http://www.wunderground.com/cgi-bin/findweather/getForecast?query=41.886047,-87.627602"
}
}

CHICAGO, IL
Mon, 12 Dec 2011 18:11:41 -0600
Current conditions: Mostly Cloudy
Temperature: 42.6° F / 5.9° C
http://icons-ak.wxug.com/i/c/k/nt_mostlycloudy.gif
Wind conditions: From the ESE at 5.0 MPH Gusting to 13.0 MPH
Wind speed/direction: 5.0 MPH from the ESE

{
"response": {
"version": "0.1"
,"termsofService": "http://www.wunderground.com/weather/api/d/terms.html"
,"features": {
"conditions": 1
}
}
, "current_observation": {
"image": {
"url":"http://icons-ak.wxug.com/graphics/wu2/logo_130x80.png",
"title":"Weather Underground",
"link":"http://www.wunderground.com"
},
"display_location": {
"full":"New York, NY",
"city":"New York",
"state":"NY",
"state_name":"New York",
"country":"US",
"country_iso3166":"US",
"zip":"10001",
"latitude":"40.75013351",
"longitude":"-73.99700928",
"elevation":"17.00000000"
},
"observation_location": {
"full":"Hunter College, Upper East Side, New York, New York",
"city":"Hunter College, Upper East Side, New York",
"state":"New York",
"country":"US",
"country_iso3166":"US",
"latitude":"40.768192",
"longitude":"-73.964508",
"elevation":"270 ft"
},
"estimated": {
},
"station_id":"KNYNEWYO45",
"observation_time":"Last Updated on December 12, 7:11 PM EST",
"observation_time_rfc822":"Mon, 12 Dec 2011 19:11:49 -0500",
"observation_epoch":"1323735109",
"local_time_rfc822":"Mon, 12 Dec 2011 19:11:54 -0500",
"local_epoch":"1323735114",
"local_tz_short":"EST",
"local_tz_long":"America/New_York",
"weather":"Clear",
"temperature_string":"46.5 F (8.1 C)",
"temp_f":46.5,
"temp_c":8.1,
"relative_humidity":"29%",
"wind_string":"From the North at 1.0 MPH Gusting to 3.0 MPH",
"wind_dir":"North",
"wind_degrees":360,
"wind_mph":1.0,
"wind_gust_mph":"3.0",
"pressure_mb":"1008.4",
"pressure_in":"29.78",
"pressure_trend":"0",
"dewpoint_string":"16 F (-9 C)",
"dewpoint_f":16,
"dewpoint_c":-9,
"heat_index_string":"NA",
"heat_index_f":"NA",
"heat_index_c":"NA",
"windchill_string":"46 F (8 C)",
"windchill_f":"46",
"windchill_c":"8",
"visibility_mi":"10.0",
"visibility_km":"16.1",
"solarradiation":"0",
"UV":"0",
"precip_1hr_string":"0.00 in ( 0 mm)",
"precip_1hr_in":"0.00",
"precip_1hr_metric":" 0",
"precip_today_string":"0.00 in (0 mm)",
"precip_today_in":"0.00",
"precip_today_metric":"0",
"icon":"clear",
"icon_url":"http://icons-ak.wxug.com/i/c/k/nt_clear.gif",
"forecast_url":"http://www.wunderground.com/US/NY/New_York.html",
"history_url":"http://www.wunderground.com/history/airport/KNYNEWYO45/2011/12/12/DailyHistory.html",
"ob_url":"http://www.wunderground.com/cgi-bin/findweather/getForecast?query=40.768192,-73.964508"
}
}

NEW YORK, NY
Mon, 12 Dec 2011 19:11:49 -0500
Current conditions: Clear
Temperature: 46.5° F / 8.1° C
http://icons-ak.wxug.com/i/c/k/nt_clear.gif
Wind conditions: From the North at 1.0 MPH Gusting to 3.0 MPH
Wind speed/direction: 1.0 MPH from the North
200
200

{
"response": {
"version": "0.1"
,"termsofService": "http://www.wunderground.com/weather/api/d/terms.html"
,"features": {
"conditions": 1
}
}
, "current_observation": {
"image": {
"url":"http://icons-ak.wxug.com/graphics/wu2/logo_130x80.png",
"title":"Weather Underground",
"link":"http://www.wunderground.com"
},
"display_location": {
"full":"Honolulu, HI",
"city":"Honolulu",
"state":"HI",
"state_name":"Hawaii",
"country":"US",
"country_iso3166":"US",
"zip":"96801",
"latitude":"21.32780075",
"longitude":"-157.82940674",
"elevation":"229.00000000"
},
"observation_location": {
"full":"APRSWXNET Honolulu HI US, Honolulu, Hawaii",
"city":"APRSWXNET Honolulu HI US, Honolulu",
"state":"Hawaii",
"country":"US",
"country_iso3166":"US",
"latitude":"21.299669",
"longitude":"-157.797836",
"elevation":"659 ft"
},
"estimated": {
},
"station_id":"MC0875",
"observation_time":"Last Updated on December 12, 1:48 PM HST",
"observation_time_rfc822":"Mon, 12 Dec 2011 13:48:00 -1000",
"observation_epoch":"1323733680",
"local_time_rfc822":"Mon, 12 Dec 2011 14:11:55 -1000",
"local_epoch":"1323735115",
"local_tz_short":"HST",
"local_tz_long":"Pacific/Honolulu",
"weather":"Scattered Clouds",
"temperature_string":"79 F (26.1 C)",
"temp_f":79,
"temp_c":26.1,
"relative_humidity":"76%",
"wind_string":"From the NE at 5 MPH Gusting to 18.0 MPH",
"wind_dir":"NE",
"wind_degrees":49,
"wind_mph":5,
"wind_gust_mph":"18.0",
"pressure_mb":"1015.1",
"pressure_in":"29.98",
"pressure_trend":"",
"dewpoint_string":"71 F (22 C)",
"dewpoint_f":71,
"dewpoint_c":22,
"heat_index_string":"82 F (28 C)",
"heat_index_f":82,
"heat_index_c":28,
"windchill_string":"NA",
"windchill_f":"NA",
"windchill_c":"NA",
"visibility_mi":"10.0",
"visibility_km":"16.1",
"solarradiation":"",
"UV":"4",
"precip_1hr_string":"0.00 in ( 0 mm)",
"precip_1hr_in":"0.00",
"precip_1hr_metric":" 0",
"precip_today_string":"0.34 in (9 mm)",
"precip_today_in":"0.34",
"precip_today_metric":"9",
"icon":"partlycloudy",
"icon_url":"http://icons-ak.wxug.com/i/c/k/partlycloudy.gif",
"forecast_url":"http://www.wunderground.com/US/HI/Honolulu.html",
"history_url":"http://www.wunderground.com/history/airport/MC0875/2011/12/12/DailyHistory.html",
"ob_url":"http://www.wunderground.com/cgi-bin/findweather/getForecast?query=21.299669,-157.797836"
}
}

HONOLULU, HI
Mon, 12 Dec 2011 13:48:00 -1000
Current conditions: Scattered Clouds
Temperature: 79.0° F / 26.1° C
http://icons-ak.wxug.com/i/c/k/partlycloudy.gif
Wind conditions: From the NE at 5 MPH Gusting to 18.0 MPH
Wind speed/direction: 5.0 MPH from the NE
java.lang.NullPointerException
at processing.mode.java.runner.Runner.findException(Runner.java:613)
at processing.mode.java.runner.Runner.reportException(Runner.java:561)
at processing.mode.java.runner.Runner.exception(Runner.java:501)
at processing.mode.java.runner.EventThread.exceptionEvent(EventThread.java:367)
at processing.mode.java.runner.EventThread.handleEvent(EventThread.java:255)
at processing.mode.java.runner.EventThread.run(EventThread.java:89)
Exception in thread "Animation Thread" java.lang.NullPointerException
at processing.core.PApplet.loadImage(Unknown Source)
at processing.core.PApplet.loadImage(Unknown Source)
at wunderground_twitter.responseReceived(wunderground_twitter.java:169)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.francisli.processing.http.HttpClient.pre(HttpClient.java:163)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at processing.core.PApplet$RegisteredMethods.handle(Unknown Source)
at processing.core.PApplet$RegisteredMethods.handle(Unknown Source)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:680)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment