Description: This is a re-write of amarokNowPlaying by Daniel Dormann. It generates an image of the currently playing media using ImageMagick's convert and then uploads it to a remote host. The image includes the album cover, artist, album name, and track title. It also shows if the engine is paused, and creates a cusomizable "offline" message when the engine is stopped.
The script uses cURL in order to upload the image to a remote host, and supports both FTP and HTTP POST methods, as well as a local filesystem option.
Requirements: cURL, ImageMagick
Please view the README file in the archive for more information.
To those that rate my script, please leave feedback as to why you like/dislike it. That's the only way I can know where to improve!Last changelog:
0.1 - Initial release
0.1b - Bugfix: Script no longer makes calls to dcop unless amarok signals a state change. This fixes a condition of the script consuming resources.
First of all, I have to say that I like that script very much!
What about adding scp support to the script. i.e.
elif [ ${method} = scp ];then
scp -i ${keyfile} /tmp/amarokNowPlaying_image.png "${user}@${host}:${path}"
the cURL method doesn't work for me, so i had to combine it with amoroknowplaying (orig) to use lftp.
is there a chance to add an extra info to the pic, i.e. bitrate in a 4th row?
I will look into adding additional information. I haven't had a chance to do much else with this project right now, as I upgraded my hardware and have yet had time to re-install Gentoo. I'm hoping to get to that this week, and then I'll start adding a few more features and work towards a 1.0 release.
If you choose to use the http method, you just need a script on the server to handle uploads. There is an example in the README file inside the archive.
There are a few variables to update in the configuration. You'll need to set http_image_var to the variable the script is using for the upload. If you so choose, you can configure your script to require a password, in which case http_secure_var and http_secure_value need to be set. Again, the included example shows the usage of these variables.
Other than that, it should be good to go. I use the HTTP method myself, as I find it faster than FTP and I get a little more control on the server side.
so i've put the script onto my server, but can't access it. i don't understand what i have to set for http_image_var. should that be the name of the image? i.e. nowplaying.png? is the only thing i have to upload the script?
really nice script! i've build my own, but this is much more complex with the info and the cover!
No, http_image_var is the name of the variable the script is looking for.
If your script looks for the image to be posted to NAME_OF_YOUR_VARIABLE, like this:
then http_image_var needs to be set to NAME_OF_YOUR_VARIABLE
Your script will need to be written to move the uploaded file to where you want it and name it properly.
The "You are not authorized" message from the example script is caused by your http_secure_var and your http_secure_value not being set correctly. I beleive the example requires:
http_secure_var=secure_key
http_secure_value=amarok
It's basicly an optional security mechanism to prevent people from just being able to upload random images to your Web server.
The example script will create the file now_playing.png in the directory the script resides, so if you put the example script here:
http://yoursite.com/amarok_upload.php
then your image would then become:
http://yoursite.com/now_playing.png
The example script is not meant to be viewed in a browser.
doesn't work, really.
i use your example script and all that i've changed is the http_url via the config.
although it's all set up, like it should be, it doesn't work.
and shouldn't have the config have effect on the /.kde/share/apps/amarok/scripts/amarokNowPlayingImproved/amarokNowPlayingImproved.sh as well?
what am i missing?
Hmmm, odd. That's the script I have running on my server. I'll take a peek at it in the morning and post back my findings. If you could copy and paste your configuration and email it to me (rchouinard@wavestatic.com) I'll see if I spot anything there too.
I apologize for the trouble, but I thank you for helping me improve on this script!
Ratings & Comments
13 Comments
Are there any new designs for the pictures on the web?
First of all, I have to say that I like that script very much! What about adding scp support to the script. i.e. elif [ ${method} = scp ];then scp -i ${keyfile} /tmp/amarokNowPlaying_image.png "${user}@${host}:${path}"
the cURL method doesn't work for me, so i had to combine it with amoroknowplaying (orig) to use lftp. is there a chance to add an extra info to the pic, i.e. bitrate in a 4th row?
I will look into adding additional information. I haven't had a chance to do much else with this project right now, as I upgraded my hardware and have yet had time to re-install Gentoo. I'm hoping to get to that this week, and then I'll start adding a few more features and work towards a 1.0 release.
what - besides a php script - do i have to upload onto the server via http?
If you choose to use the http method, you just need a script on the server to handle uploads. There is an example in the README file inside the archive. There are a few variables to update in the configuration. You'll need to set http_image_var to the variable the script is using for the upload. If you so choose, you can configure your script to require a password, in which case http_secure_var and http_secure_value need to be set. Again, the included example shows the usage of these variables. Other than that, it should be good to go. I use the HTTP method myself, as I find it faster than FTP and I get a little more control on the server side.
so i've put the script onto my server, but can't access it. i don't understand what i have to set for http_image_var. should that be the name of the image? i.e. nowplaying.png? is the only thing i have to upload the script? really nice script! i've build my own, but this is much more complex with the info and the cover!
i always get 'You are not authorized to use this script'
No, http_image_var is the name of the variable the script is looking for. If your script looks for the image to be posted to NAME_OF_YOUR_VARIABLE, like this: then http_image_var needs to be set to NAME_OF_YOUR_VARIABLE Your script will need to be written to move the uploaded file to where you want it and name it properly. The "You are not authorized" message from the example script is caused by your http_secure_var and your http_secure_value not being set correctly. I beleive the example requires: http_secure_var=secure_key http_secure_value=amarok It's basicly an optional security mechanism to prevent people from just being able to upload random images to your Web server. The example script will create the file now_playing.png in the directory the script resides, so if you put the example script here: http://yoursite.com/amarok_upload.php then your image would then become: http://yoursite.com/now_playing.png The example script is not meant to be viewed in a browser.
doesn't work, really. i use your example script and all that i've changed is the http_url via the config. although it's all set up, like it should be, it doesn't work. and shouldn't have the config have effect on the /.kde/share/apps/amarok/scripts/amarokNowPlayingImproved/amarokNowPlayingImproved.sh as well? what am i missing?
Hmmm, odd. That's the script I have running on my server. I'll take a peek at it in the morning and post back my findings. If you could copy and paste your configuration and email it to me (rchouinard@wavestatic.com) I'll see if I spot anything there too. I apologize for the trouble, but I thank you for helping me improve on this script!
Please add a list of dependencies to the description.
Ah, I thought it was clear in the description, but I guess not. I've added a requirements list now. Thanks for pointing that out!