Psi может брать информацию о проигрываемой композиции из файла $PSIDATADIR/tune (в данном случае - ~/.psi/tune) Потому можно получать какой трек проигрывается сейчас и записывать в этот файл.
| Код | #!/usr/bin/perl -w use strict;
sub GetPath($) { my $path = shift; open(PROC,"dcop amarok player ${path}|"); my @result = <PROC>; close(PROC); chomp(@result); return $result[0]; }
sub ChTrack() { my $result = ""; $result .= &GetPath("title")."\n"; $result .= &GetPath("artist")."\n"; $result .= &GetPath("album")."\n"; $result .= &GetPath("track")."\n"; $result .= &GetPath("totalTime")."\n"; return $result; }
my $old_data = ""; while(1) { my $data = &ChTrack(); if($old_data ne $data) { $old_data = $data; system("rm ~/.psi/tune"); system("echo '".$data."' > ~/.psi/tune"); } sleep(5); }
|
|