changeset 441:4866152611e6 Dev_main

APE: Touch event support
author Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk>
date Mon, 21 Dec 2015 17:03:51 +0000
parents 8b46dbef7c47
children e2bcbf7fe030 9c9fd68693b1
files ape.js
diffstat 1 files changed, 30 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ape.js	Mon Dec 21 15:02:43 2015 +0100
+++ b/ape.js	Mon Dec 21 17:03:51 2015 +0000
@@ -357,10 +357,12 @@
 		}
         
 	});
-	
 	$('.track-slider').mousedown(function(event) {
 		interfaceContext.selectObject($(this)[0]);
 	});
+	$('.track-slider').on('touchstart',null,function(event) {
+		interfaceContext.selectObject($(this)[0]);
+	});
 	
 	$('.track-slider').mousemove(function(event) {
 		event.preventDefault();
@@ -373,6 +375,15 @@
 		$(obj).css("left",event.clientX + "px");
 		interfaceContext.moveObject();
 	});
+	
+	$('.slider').on('touchmove',null,function(event) {
+		event.preventDefault();
+		var obj = interfaceContext.getSelectedObject();
+		if (obj == null) {return;}
+		var move = event.originalEvent.targetTouches[0].clientX - 6;
+		$(obj).css("left",move + "px");
+		interfaceContext.moveObject();
+	});
 
 	$(document).mouseup(function(event){
 		event.preventDefault();
@@ -407,6 +418,24 @@
 		interfaceContext.releaseObject();
 	});
 	
+	$('.slider').on('touchend',null,function(event){
+		var obj = interfaceContext.getSelectedObject();
+		if (obj == null) {return;}
+		var interfaceID = obj.parentElement.getAttribute("interfaceid");
+		var trackID = obj.getAttribute("trackindex");
+		if (interfaceContext.hasSelectedObjectMoved() == true)
+		{
+			var l = $(obj).css("left");
+			var id = obj.getAttribute('trackIndex');
+			var time = audioEngineContext.timer.getTestTime();
+			var rate = convSliderPosToRate(obj);
+			audioEngineContext.audioObjects[id].metric.moved(time,rate);
+			interfaceContext.interfaceSliders[interfaceID].metrics[trackID].moved(time,rate);
+			console.log("slider "+id+" moved to "+rate+' ('+time+')');
+		}
+		interfaceContext.releaseObject();
+	});
+	
 	
 	if (commentShow) {
 		interfaceContext.showCommentBoxes(feedbackHolder,true);