I am brain storming other ways to share this project. I am so proud of it even though it is mostly a toy. I will be changing the text buttons today and Mitch may be tweaking the sound a little bit.
I’m so happy with it!
I am brain storming other ways to share this project. I am so proud of it even though it is mostly a toy. I will be changing the text buttons today and Mitch may be tweaking the sound a little bit.
I’m so happy with it!
http://www.kathleenpdurkin.com/sound-farts-color/
button {
width:100px;
padding:30px 30px;
margin-bottom:5px;
}
.target {
border:3px solid red;
width:70px;
padding:10px 10px;
margin-bottom:10px;
margin-left:15px;
margin-right:15px;
}
body {
font-size:100%;
font-family: sans-serif;
color: red;
position: sticky;
padding-left:30%;
padding-top:20%;
padding-right:20%;
padding-bottom:20%;
background-image: url(http://www.smithfit.com.au/wp-content/uploads/2014/12/o-GUT-BACTERIA-facebook.jpg);
background-position: center;
}
var config = {
apiKey: “AIzaSyD2g1372iZ3nvUSytcznmx0qEXmsG_5rAk”,
authDomain: “sounds-1baad.firebaseapp.com”,
databaseURL: “https://sounds-1baad.firebaseio.com”,
projectId: “sounds-1baad”,
storageBucket: “sounds-1baad.appspot.com”,
messagingSenderId: “894514338958”
};
firebase.initializeApp(config);
var j = jQuery.noConflict();
//COUNTER STUFF FROM BEN
var db = firebase.database();
var dbCount = db.ref(‘count’);
var userCount = db.ref(“userCount”);
var seenUserCount = 0;
var trueUserCount = false;
userCount.on(‘value’,function() {
seenUserCount++;
if(seenUserCount > 3) trueUserCount = true;
console.log(“suc: “+seenUserCount);
console.log(“tuc: “+trueUserCount);
});
// on startup, grab the current value from ‘count’
// and stick it in the #count div using jQuery
dbCount.once(‘value’).then(function(dataSnapshot) {
var data = dataSnapshot.val();
j(‘#count’).text(data);
});
// whenever ‘count’ gets changed (by someone else)
// this function receives the change and updates #count
dbCount.on(‘value’,function(dataSnapshot) {
var data = dataSnapshot.val();
j(‘#count’).text(data);
});
// once document is loaded, assign click functions to
// +/- buttons that call changeVal()
//j(document).ready(function() {
// j(‘#plus’).click(function() { changeVal(1); });
//j(‘#minus’).click(function() { changeVal(-1); });
//});
//function changeVal(value) {
//dbCount.transaction(function(current) {
// return parseInt(current) + value;
//});
//}
//var canvas = document.getElementById(“container”),
// context = canvas.getContext(“2d”);
//var randomColor = Math.floor(Math.randomColor);
//var primaryColorValues = (‘#3f51b5’, ‘#03a9f4’);
//var primaryColors = primaryColorValues(Math.floor(Math.random()));
//return Math.floor(Math.random());
//};
//j(‘#target1’).click(synth1) });
//j(“container”).click(function() {
//j(“container”).click(function() {
//j(‘button’).each(function() {
//j(‘button’).css(‘background-color’,primaryColorValues);
//});
//});
//FUCK WITH THIS STUFF
var fart1 = db.ref(“fart1”);
var fart2 = db.ref(“fart2”);
var fart3 = db.ref(“fart3”);
var fart4 = db.ref(“fart4”);
var fart5 = db.ref(“fart5”);
var fart6 = db.ref(“fart6”);
var fart7 = db.ref(“fart7”);
var fart8 = db.ref(“fart8”);
var fart9 = db.ref(“fart9”);
var color1 = db.ref(“color1”);
var color2 = db.ref(“color2”);
var color3 = db.ref(“color3”);
var color4 = db.ref(“color4”);
var color5 = db.ref(“color5”);
var color6 = db.ref(“color6”);
var color7 = db.ref(“color7”);
var color8 = db.ref(“color8”);
var color9 = db.ref(“color9”);
fart1.on(‘value’,synth1);
fart2.on(‘value’,synth2);
fart3.on(‘value’,synth3);
fart4.on(‘value’,synth4);
fart5.on(‘value’,synth5);
fart6.on(‘value’,synth6);
fart7.on(‘value’,synth7);
fart8.on(‘value’,synth8);
fart9.on(‘value’,synth9);
color1.on(‘value’,colorchange1);
color2.on(‘value’,colorchange2);
color3.on(‘value’,colorchange3);
color4.on(‘value’,colorchange4);
color5.on(‘value’,colorchange5);
color6.on(‘value’,colorchange6);
color7.on(‘value’,colorchange7);
color8.on(‘value’,colorchange8);
color9.on(‘value’,colorchange9);
function colorchange1(){
j(‘#target1’).css(‘background-color’,getPrimaryColor);
console.log(‘color changed’);
};
function colorchange2(){
j(‘#target2’).css(‘background-color’,getPrimaryColor);
console.log(‘color changed’);
};
function colorchange3(){
j(‘#target3’).css(‘background-color’,getPrimaryColor);
console.log(‘color changed’);
};
function colorchange4(){
j(‘#target4’).css(‘background-color’,getPrimaryColor);
console.log(‘color changed’);
};
function colorchange5(){
j(‘#target5’).css(‘background-color’,getPrimaryColor);
console.log(‘color changed’);
};
function colorchange6(){
j(‘#target6’).css(‘background-color’,getPrimaryColor);
console.log(‘color changed’);
};
function colorchange7(){
j(‘#target7’).css(‘background-color’,getPrimaryColor);
console.log(‘color changed’);
};
function colorchange8(){
j(‘#target8’).css(‘background-color’,getPrimaryColor);
console.log(‘color changed’);
};
function colorchange9(){
j(‘#target9’).css(‘background-color’,getPrimaryColor);
console.log(‘color changed’);
};
// function colorchange(){
// j(‘.target’).click(function(e) {
// j(this).css(‘background-color’,getPrimaryColor);
// });
// console.log(‘color changed’);
// }
var primaryColorValues = [‘#3f51b5’, ‘#03a9f4’, ‘#B0C4DE’, ‘#CD853F’, ‘#BC8F8F’, ‘#87CEEB’, ‘#8B008B’, ‘#F5F5DC’, ‘#B8860B’, ‘#BDB76B’, ‘#FFA500’, ‘#A9A9A9’];
var getPrimaryColor = function() {
return primaryColorValues[Math.round(Math.random() * (primaryColorValues.length – 1))];
}
// runs when the page is fully loaded
j(document).ready(function() {
j(‘#target1’).click(function() {
fart1.set(Math.random());
j(‘#target1’).click(function(e) {
j(this).css(‘background-color’,getPrimaryColor);
});
j(‘#target1’).click(function() {
color1.set(Math.random());
});
});
j(‘#target2’).click(function() {
fart2.set(Math.random());
j(‘#target2’).click(function(e) {
j(this).css(‘background-color’,getPrimaryColor);
});
j(‘#target2’).click(function() {
color2.set(Math.random());
});
});
j(‘#target3’).click(function() {
fart3.set(Math.random());
j(‘#target3’).click(function(e) {
j(this).css(‘background-color’,getPrimaryColor);
});
j(‘#target3’).click(function() {
color3.set(Math.random());
});
});
j(‘#target4’).click(function() {
fart4.set(Math.random());
j(‘#target4’).click(function(e) {
j(this).css(‘background-color’,getPrimaryColor);
});
j(‘#target4’).click(function() {
color4.set(Math.random());
});
});
j(‘#target5’).click(function() {
fart5.set(Math.random());
j(‘#target5’).click(function(e) {
j(this).css(‘background-color’,getPrimaryColor);
});
j(‘#target5’).click(function() {
color5.set(Math.random());
});
});
j(‘#target6’).click(function() {
fart6.set(Math.random());
j(‘#target6’).click(function(e) {
j(this).css(‘background-color’,getPrimaryColor);
});
j(‘#target6’).click(function() {
color6.set(Math.random());
});
});
j(‘#target7’).click(function() {
fart7.set(Math.random());
j(‘#target7’).click(function(e) {
j(this).css(‘background-color’,getPrimaryColor);
});
j(‘#target7’).click(function() {
color7.set(Math.random());
});
});
j(‘#target8’).click(function() {
fart8.set(Math.random());
j(‘#target8’).click(function(e) {
j(this).css(‘background-color’,getPrimaryColor);
});
j(‘#target8’).click(function() {
color8.set(Math.random());
});
});
j(‘#target9’).click(function() {
fart9.set(Math.random());
j(‘#target9’).click(function(e) {
j(this).css(‘background-color’,getPrimaryColor);
});
j(‘#target9’).click(function() {
color9.set(Math.random());
});
});
userCount.transaction(function(current) {
return current+1;
});
if(trueUserCount == true)j(‘.target’).off(‘click’);
console.log(“kicked off”);
;
});
var primaryColorValues = [‘#3f51b5’, ‘#03a9f4’, ‘#B0C4DE’, ‘#CD853F’, ‘#BC8F8F’, ‘#87CEEB’, ‘#8B008B’, ‘#F5F5DC’, ‘#B8860B’, ‘#BDB76B’, ‘#FFA500’, ‘#A9A9A9’];
var getPrimaryColor = function() {
return primaryColorValues[Math.round(Math.random() * (primaryColorValues.length – 1))];
}
//var myPrimaryColor = getPrimaryColor();
//target1.click(‘background-color’ , myPrimaryColor)
//j(‘#target1’).click(function(e) {
//j(this).css(‘background-color’,getPrimaryColor);
//})
//});
//j(‘button’).each(function() {
// j(this).css(‘background-color’, primaryColorValues[Math.floor(Math.random() * colors.length)]);
//});
//j(‘button’).click(function(‘color’, primaryColorValues));
//EXPAND SYNTHS FOR TONE CHANGES
function synth1(){
// console.log(“here”);
// if(seenUserCount == true) return;
// else { console.log(“play sound”); }
var osc = new Tone.FMSynth({
“harmonicity” : 1.17,
“modulationIndex” : 10,
“oscillator” : {
“type” : “square”
},
“envelope” : {
“attack” : 2,
“decay” : .9,
},
“modulation” : {
“type” : “square”
},
“modulationEnvelope” : {
“attack” : 0.1,
“decay” : 0.02,
}
}).toMaster();
osc.triggerAttackRelease(60, “4m”);
}
function synth2(){
var osc = new Tone.FMSynth({
“harmonicity” : 1.17,
“modulationIndex” : 10,
“oscillator” : {
“type” : “square”
},
“envelope” : {
“attack” : 2,
“decay” : .9,
},
“modulation” : {
“type” : “square”
},
“modulationEnvelope” : {
“attack” : 0.1,
“decay” : 0.02,
}
}).toMaster();
osc.triggerAttackRelease(80, “4m”);
}
function synth3(){
var osc = new Tone.FMSynth({
“harmonicity” : 1.17,
“modulationIndex” : 10,
“oscillator” : {
“type” : “square”
},
“envelope” : {
“attack” : 2,
“decay” : .9,
},
“modulation” : {
“type” : “square”
},
“modulationEnvelope” : {
“attack” : 0.1,
“decay” : 0.02,
}
}).toMaster();
osc.triggerAttackRelease(110, “4m”);
}
function synth4(){
var osc = new Tone.FMSynth({
“harmonicity” : 1.17,
“modulationIndex” : 10,
“oscillator” : {
“type” : “square”
},
“envelope” : {
“attack” : 2,
“decay” : .9,
},
“modulation” : {
“type” : “square”
},
“modulationEnvelope” : {
“attack” : 0.1,
“decay” : 0.02,
}
}).toMaster();
osc.triggerAttackRelease(140, “4m”);
}
function synth5(){
var osc = new Tone.FMSynth({
“harmonicity” : 1.17,
“modulationIndex” : 10,
“oscillator” : {
“type” : “square”
},
“envelope” : {
“attack” : 2,
“decay” : .9,
},
“modulation” : {
“type” : “square”
},
“modulationEnvelope” : {
“attack” : 0.1,
“decay” : 0.02,
}
}).toMaster();
osc.triggerAttackRelease(180, “4m”);
}
function synth6(){
var osc = new Tone.FMSynth({
“harmonicity” : 1.17,
“modulationIndex” : 10,
“oscillator” : {
“type” : “square”
},
“envelope” : {
“attack” : 2,
“decay” : .9,
},
“modulation” : {
“type” : “square”
},
“modulationEnvelope” : {
“attack” : 0.1,
“decay” : 0.02,
}
}).toMaster();
osc.triggerAttackRelease(230, “4m”);
}
function synth7(){
var osc = new Tone.FMSynth({
“harmonicity” : 1.17,
“modulationIndex” : 10,
“oscillator” : {
“type” : “square”
},
“envelope” : {
“attack” : 2,
“decay” : .9,
},
“modulation” : {
“type” : “square”
},
“modulationEnvelope” : {
“attack” : 0.1,
“decay” : 0.02,
}
}).toMaster();
osc.triggerAttackRelease(290, “4m”);
}
function synth8(){
var osc = new Tone.FMSynth({
“harmonicity” : 1.17,
“modulationIndex” : 10,
“oscillator” : {
“type” : “square”
},
“envelope” : {
“attack” : 2,
“decay” : .9,
},
“modulation” : {
“type” : “square”
},
“modulationEnvelope” : {
“attack” : 0.1,
“decay” : 0.02,
}
}).toMaster();
osc.triggerAttackRelease(360, “4m”);
}
function synth9(){
var osc = new Tone.FMSynth({
“harmonicity” : 1.17,
“modulationIndex” : 10,
“oscillator” : {
“type” : “square”
},
“envelope” : {
“attack” : 2,
“decay” : .9,
},
“modulation” : {
“type” : “square”
},
“modulationEnvelope” : {
“attack” : 0.1,
“decay” : 0.02,
}
}).toMaster();
osc.triggerAttackRelease(440, “4m”);
}
j(document).ready(function() {
j(‘#target1’).click(synth1);
j(‘#target2’).click(synth2);
j(‘#target3’).click(synth3);
j(‘#target4’).click(synth4);
j(‘#target5’).click(synth5);
j(‘#target6’).click(synth6);
j(‘#target7’).click(synth7);
j(‘#target8’).click(synth8);
j(‘#target9’).click(synth9);
});
Project link: https://katemilleker.github.io/arts445project7/
Project code: https://github.com/katemilleker/arts445project7/blob/master/index.html
Social media post: https://twitter.com/katnicmil/status/983457293827215361
dots where you click that other people can see
limited character one time messenger
Counter when you click something
Every time you share something your counter would go up
website that changes pictures of dogs whenever you click
only emoji communication
Every time you like something, the background color changes
text box that is like a mini game with one other person from friend list
Mitch has expressed interest in click generated or possibly hovering generated tones. For this I know we need to create a tone library. While we are figuring this out, I’m brainstorming ideas as to how this can be blended into something poetic or silly: