aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2014-05-11 10:36:07 +0200
committerJakob Odersky <jodersky@gmail.com>2014-05-11 10:36:07 +0200
commit9e579f32a7818f78f568089638fdcf8a06f579e6 (patch)
tree23fa993da31b1547fb60a95177a53be27f92c458
parentb687f35b9b760b70cb3c9fe16b092bd33888a3b9 (diff)
downloadplayGraph-9e579f32a7818f78f568089638fdcf8a06f579e6.tar.gz
playGraph-9e579f32a7818f78f568089638fdcf8a06f579e6.tar.bz2
playGraph-9e579f32a7818f78f568089638fdcf8a06f579e6.zip
working canvas
-rw-r--r--app/css/app.css4
-rw-r--r--app/index.html4
-rw-r--r--app/js/controllers.js2
-rw-r--r--app/js/services.js14
4 files changed, 19 insertions, 5 deletions
diff --git a/app/css/app.css b/app/css/app.css
index 960eac4..5f3e698 100644
--- a/app/css/app.css
+++ b/app/css/app.css
@@ -27,4 +27,8 @@
margin-top: -15px;
width: 30px;
height: 30px;
+}
+
+.selected > div {
+ background-color: red;
} \ No newline at end of file
diff --git a/app/index.html b/app/index.html
index 537996f..843df21 100644
--- a/app/index.html
+++ b/app/index.html
@@ -17,11 +17,11 @@
<div class="world" style="width: 100%; height: 500px;">
<div data-pg-line="line" class="line" resize></div>
- <div data-ng-repeat="point in points" data-pg-draggable="point" class="point" style="top: {{point.x}}px; left: {{point.y}}px;"><div></div></div>
+ <div data-ng-repeat="point in points" data-pg-draggable="point" class="point" style="top: {{point.x}}px; left: {{point.y}}px;" data-ng-class="{selected: point.selected==true}"><div></div></div>
</div>
<ul>
- <li data-ng-repeat="point in points">{{point.x}}, {{point.y}}</li>
+ <li data-ng-repeat="point in points | filter:{selected:true}">{{point.x}}, {{point.y}}</li>
</ul>
diff --git a/app/js/controllers.js b/app/js/controllers.js
index 29e7c0d..97e6366 100644
--- a/app/js/controllers.js
+++ b/app/js/controllers.js
@@ -16,7 +16,7 @@ app.controller('pointCtrl', function($scope, $http, pathService){
}
}
- $scope.$watch('points', function(newVal) {
+ $scope.$watch('points', function(newVal, oldVal) {
console.log("r")
update(newVal, $scope.line);
}, true);
diff --git a/app/js/services.js b/app/js/services.js
index 622717a..37cb523 100644
--- a/app/js/services.js
+++ b/app/js/services.js
@@ -11,9 +11,11 @@ app.service('pathService', function() {
},
computePlaylist: function(songList, constrainList, duration) {
//compute distances from the constrain path
+
var songListCopy = songList.slice(0);
var maxDistOverall = Number.MIN_VALUE;
angular.forEach(songListCopy, function(song){
+ song.selected = false;
song.minDist = Number.MAX_VALUE;
for(var i=0; i<constrainList.length;i++){
var point = constrainList[i];
@@ -32,17 +34,25 @@ app.service('pathService', function() {
var selection = [];
var tuning = .5;
angular.forEach(songListCopy, function(song){
- song.rand = (tuning + tuning*Math.random())*song.minDist;
+ song.rand = /*(tuning + tuning*Math.random())*/song.minDist;
});
songListCopy.sort(function(a,b){return a.rand-b.rand;});
//take from the sorted list util we reach the desired duration
while(duration > 0 && songListCopy.length > 0){
var removed = songListCopy.splice(0, 1);
- console.log(removed[0].minDist);
selection.push(removed[0]);
duration -= 10;
+ removed[0].selected = true;
}
selection.sort(function(item){ return item.closestIndex;});
+
+ //clean points
+ angular.forEach(songList, function(song) {
+ delete song.minDist;
+ delete song.closest;
+ delete song.closestIndex;
+ delete song.rand;
+ });
return selection;
}
};