From e6821e9d7c716d4808c11789ff7065430213f2d0 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 31 Jul 2011 00:50:04 +0200 Subject: Show play and add-to-playlist buttons in instant search results for now this only works from inside the media app --- apps/media/css/music.css | 3 ++- apps/media/js/collection.js | 50 ++++++++++++++++++++++++++++++++++----------- apps/media/js/music.js | 25 +++++++++++++++++++++++ apps/media/lib_media.php | 10 ++++----- 4 files changed, 70 insertions(+), 18 deletions(-) (limited to 'apps/media') diff --git a/apps/media/css/music.css b/apps/media/css/music.css index 067da79446d..3637234ab13 100644 --- a/apps/media/css/music.css +++ b/apps/media/css/music.css @@ -14,4 +14,5 @@ li button.right.prettybutton{font-size:1em;} #collection{display:none}/*hide the collection initially*/ #collection li{padding-right:10px;} -img.remove{float:right;}; +img.remove{float:right;} +#searchresults input.play, #searchresults input.add{float:right; height:16px; width:16px;} diff --git a/apps/media/js/collection.js b/apps/media/js/collection.js index b8fd515ba60..95e5293ea48 100644 --- a/apps/media/js/collection.js +++ b/apps/media/js/collection.js @@ -109,18 +109,8 @@ Collection={ }, registerPlay:function(){ var item=PlayList.items[PlayList.current]; - for(var i=0;i'); + button.css('background-image','url('+OC.imagePath('core','actions/play')+')') + button.click(function(){ + var oldSize=PlayList.items.length; + PlayList.add(media); + PlayList.play(oldSize); + PlayList.render(); + }); + row.find('div.name').append(button); + var button=$(''); + button.css('background-image','url('+OC.imagePath('core','actions/play-add')+')') + button.click(function(){ + PlayList.add(media); + PlayList.render(); + }); + row.find('div.name').append(button); + } }); diff --git a/apps/media/lib_media.php b/apps/media/lib_media.php index 67d111936f1..062672b91e8 100644 --- a/apps/media/lib_media.php +++ b/apps/media/lib_media.php @@ -93,15 +93,15 @@ class OC_MediaSearchProvider extends OC_Search_Provider{ $results[]=new OC_Search_Result($artist['artist_name'],'',OC_Helper::linkTo( 'apps/media', 'index.php#artist='.urlencode($artist['artist_name']) ),'Music'); } foreach($albums as $album){ - $artist=urlencode(OC_MEDIA_COLLECTION::getArtistName($album['album_artist'])); - $results[]=new OC_Search_Result($album['album_name'],'',OC_Helper::linkTo( 'apps/media', 'index.php#artist='.$artist.'&album='.urlencode($album['album_name']) ),'Music'); + $artist=OC_MEDIA_COLLECTION::getArtistName($album['album_artist']); + $results[]=new OC_Search_Result($album['album_name'],'by '.$artist,OC_Helper::linkTo( 'apps/media', 'index.php#artist='.urlencode($artist).'&album='.urlencode($album['album_name']) ),'Music'); } foreach($songs as $song){ $minutes=floor($song['song_length']/60); $secconds=$song['song_length']%60; - $artist=urlencode(OC_MEDIA_COLLECTION::getArtistName($song['song_artist'])); - $album=urlencode(OC_MEDIA_COLLECTION::getalbumName($song['song_album'])); - $results[]=new OC_Search_Result($song['song_name'],"$minutes:$secconds",OC_Helper::linkTo( 'apps/media', 'index.php#artist='.$artist.'&album='.$album.'&song='.urlencode($song['song_name']) ),'Music'); + $artist=OC_MEDIA_COLLECTION::getArtistName($song['song_artist']); + $album=OC_MEDIA_COLLECTION::getalbumName($song['song_album']); + $results[]=new OC_Search_Result($song['song_name'],"by $artist, in $album $minutes:$secconds",OC_Helper::linkTo( 'apps/media', 'index.php#artist='.urlencode($artist).'&album='.urlencode($album).'&song='.urlencode($song['song_name']) ),'Music'); } return $results; } -- cgit v1.2.3 From 0b44db954f4920b3816b489f3c7273fe6506c758 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 31 Jul 2011 01:25:33 +0200 Subject: dont show play and add-to-playlist at the same time --- apps/media/js/music.js | 35 +++++++++++++++++++---------------- apps/media/js/player.js | 9 ++++++++- 2 files changed, 27 insertions(+), 17 deletions(-) (limited to 'apps/media') diff --git a/apps/media/js/music.js b/apps/media/js/music.js index a9e10b3d40f..6c8c5644310 100644 --- a/apps/media/js/music.js +++ b/apps/media/js/music.js @@ -24,22 +24,25 @@ $(document).ready(function(){ data[itemParts[0]]=decodeURIComponent(itemParts[1]).replace(/\+/g,' '); } var media=Collection.find(data.artist,data.album,data.song); - var button=$(''); - button.css('background-image','url('+OC.imagePath('core','actions/play')+')') - button.click(function(){ - var oldSize=PlayList.items.length; - PlayList.add(media); - PlayList.play(oldSize); - PlayList.render(); - }); - row.find('div.name').append(button); - var button=$(''); - button.css('background-image','url('+OC.imagePath('core','actions/play-add')+')') - button.click(function(){ - PlayList.add(media); - PlayList.render(); - }); - row.find('div.name').append(button); + if(!PlayList.playing()){ + var button=$(''); + button.css('background-image','url('+OC.imagePath('core','actions/play')+')') + button.click(function(){ + var oldSize=PlayList.items.length; + PlayList.add(media); + PlayList.play(oldSize); + PlayList.render(); + }); + row.find('div.name').append(button); + }else{ + var button=$(''); + button.css('background-image','url('+OC.imagePath('core','actions/play-add')+')') + button.click(function(){ + PlayList.add(media); + PlayList.render(); + }); + row.find('div.name').append(button); + } } }); diff --git a/apps/media/js/player.js b/apps/media/js/player.js index 2e910bc0d59..ebb8044598c 100644 --- a/apps/media/js/player.js +++ b/apps/media/js/player.js @@ -104,5 +104,12 @@ var PlayList={ PlayList.items.splice(index,1); PlayList.render(); }, - render:function(){} + render:function(){}, + playing:function(){ + if(!PlayList.player){ + return false; + }else{ + return !PlayList.player.data("jPlayer").status.paused; + } + } } -- cgit v1.2.3 From 3a08f747fb714731ec1323fc59d3cb7c4784db5e Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 31 Jul 2011 01:39:25 +0200 Subject: more tweaks for media search results --- apps/media/js/music.js | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) (limited to 'apps/media') diff --git a/apps/media/js/music.js b/apps/media/js/music.js index 6c8c5644310..5b77194ebc4 100644 --- a/apps/media/js/music.js +++ b/apps/media/js/music.js @@ -24,25 +24,22 @@ $(document).ready(function(){ data[itemParts[0]]=decodeURIComponent(itemParts[1]).replace(/\+/g,' '); } var media=Collection.find(data.artist,data.album,data.song); - if(!PlayList.playing()){ - var button=$(''); - button.css('background-image','url('+OC.imagePath('core','actions/play')+')') - button.click(function(){ - var oldSize=PlayList.items.length; - PlayList.add(media); - PlayList.play(oldSize); - PlayList.render(); - }); - row.find('div.name').append(button); - }else{ - var button=$(''); - button.css('background-image','url('+OC.imagePath('core','actions/play-add')+')') - button.click(function(){ - PlayList.add(media); - PlayList.render(); - }); - row.find('div.name').append(button); - } + var a=row.find('a'); + a.attr('href','#'); + a.click(function(){ + var oldSize=PlayList.items.length; + PlayList.add(media); + PlayList.play(oldSize); + PlayList.render(); + }); + var button=$(''); + button.css('background-image','url('+OC.imagePath('core','actions/play-add')+')') + button.click(function(event){ + event.stopPropagation(); + PlayList.add(media); + PlayList.render(); + }); + row.find('div.name').append(button); } }); -- cgit v1.2.3