User Tools

Site Tools


script_music_metadata

====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
script_music_metadata [2016/05/23 22:56]
lm13
script_music_metadata [2016/06/28 12:12] (current)
f43nd1r
Line 1: Line 1:
 ====== About the script ====== ====== About the script ======
   * Purpose : This script collects metadata from music apps   * Purpose : This script collects metadata from music apps
-  * Author : [[https://​plus.google.com/​+LukasMorawietz|LM13]] +  * Author : F43nd1r 
-  * Current Version : 2.0+  * Current Version : 2.1
   * Link : https://​plus.google.com/​115366157037831519359/​posts/​4iVMvZKcUoc   * Link : https://​plus.google.com/​115366157037831519359/​posts/​4iVMvZKcUoc
  
Line 8: Line 8:
   * Version 1.0 (25/​7/​2015):​ initial release in wiki   * Version 1.0 (25/​7/​2015):​ initial release in wiki
   * Version 2.0 (24/​5/​2016):​ Rewrite using JavaAdapter   * Version 2.0 (24/​5/​2016):​ Rewrite using JavaAdapter
 +  * Version 2.1 (26/​5/​1026):​ More players, albumcover support
  
  
Line 13: Line 14:
 ====== How to use the script ====== ====== How to use the script ======
   * Set this script in the load event of your desktop   * Set this script in the load event of your desktop
-  ​* Add the intent actions of your music player in the first line of the script +  * You can now use the following bindings at your will: $track, $album, $artist(, $albumcover,​ $aachanged)
-  ​* You can now use the following bindings at your will: $track, $album, $artist+
  
-====== ​Tested ​with ====== +====== ​Runs with ====== 
-  * Poweramp +  * Poweramp ​(with albumcover) 
-  * Spotify ​+  * Spotify 
 +  * AIMP 
 +  * Rocket Player 
 +  * Neutron 
 +  * BlackPlayer 
 +  * PlayerPro 
 +  * Samsung (can't test without Samsung device, but should work) 
 + 
 +Other players may or may not work.
  
 ====== Issues and Hints ====== ====== Issues and Hints ======
Line 25: Line 33:
  
 ====== Script ====== ====== Script ======
-<sxh javascript;>​var intents=["​com.maxmpz.audioplayer.TRACK_CHANGED","​com.maxmpz.audioplayer.STATUS_CHANGED","​com.spotify.music.metadatachanged"​]+<sxh javascript;>​var intents=["​com.maxmpz.audioplayer.TRACK_CHANGED","​com.maxmpz.audioplayer.STATUS_CHANGED","​com.spotify.music.metadatachanged","​com.maxmpz.audioplayer.AA_CHANGED","​com.android.music.metachanged","​com.jrtstudio.AnotherMusicPlayer.metachanged","​com.tbig.playerpro.metachanged","​com.tbig.playerprotrial.metachanged","​com.sec.android.app.music.metachanged"]
 +var defaultAlbumArt="/​storage/​sdcard0/​download/​default-albumart.png";​
  
  
Line 31: Line 40:
 LL.bindClass("​android.os.Bundle"​);​ LL.bindClass("​android.os.Bundle"​);​
 LL.bindClass("​android.content.BroadcastReceiver"​);​ LL.bindClass("​android.content.BroadcastReceiver"​);​
 +LL.bindClass("​android.graphics.Bitmap"​);​
 +LL.bindClass("​java.io.FileOutputStream"​);​
  
 var receiver=new JavaAdapter(BroadcastReceiver,​{ var receiver=new JavaAdapter(BroadcastReceiver,​{
Line 50: Line 61:
 v.setString("​artist",​e.getString("​artist"​));​ v.setString("​artist",​e.getString("​artist"​));​
 } }
 +}
 +if(e.containsKey("​aaPath"​)){
 +v. setString("​albumart",​e.getString("​aaPath"​));​
 +v.setFloat("​aachange",​Math.random());​
 +}
 +else if(e.containsKey("​aaBitmap"​)){
 +var bmp=e.getParcelable("​aaBitmap"​);​
 +var path=LL.getContext().getFilesDir()+"/​albumart.png";​
 +var out=new FileOutputStream(path);​
 +bmp.compress(Bitmap.CompressFormat.PNG,​100,​out);​
 +out.close();​
 +v.setString("​albumart",​path);​
 +v.setFloat("​aachange",​Math.random());​
 +}
 +else if(i.getAction().indexOf("​AA_CHANGE"​)!=-1){
 +v. setString("​albumart",​defaultAlbumArt);​
 +v.setFloat("​aachange",​Math.random());​
 } }
 v.commit(); v.commit();
script_music_metadata.1464044164.txt.gz · Last modified: 2016/05/23 22:56 by lm13