]> git.draconx.ca Git - mpdhacks.git/blobdiff - mpdmenu.pl
Factor out mpd_exec from some of the perl scripts.
[mpdhacks.git] / mpdmenu.pl
index 4916d2a4ac09f0d25c8184226a5e7e30a50cd0b1..526772a92e6c13fe41c2b4c3e2739d07d16f5634 100755 (executable)
@@ -42,14 +42,6 @@ my ($topmenu, $menu);
 my $mode = "top";
 my %artistids;
 
-# Submit a command to the MPD server; each argument to this function
-# is quoted and sent as a single argument to MPD.
-sub mpd_exec {
-       my $cmd = join(' ', map { MPD::escape } @_);
-
-       print $sock "$cmd\n";
-}
-
 sub fvwm_cmd_unquoted {
        print join(' ', @_), "\n";
 }
@@ -281,7 +273,7 @@ sub get_tracks_by_work_mbid {
        my $entry;
 
        foreach my $mbid (@_) {
-               mpd_exec("search", "(MUSICBRAINZ_WORKID == \"$mbid\")");
+               MPD::exec("search", "(MUSICBRAINZ_WORKID == \"$mbid\")");
                while (<$sock>) {
                        last if (/^OK/);
                        die($_) if (/^ACK/);
@@ -310,13 +302,13 @@ sub get_tracks_by_work_mbid {
 # Currently tracks are considered "related" if their associated recordings
 # have at least one work in common.
 sub get_tracks_by_track_mbid {
-       my ($mbid) = @_;
+       my ($mbid, $tagname) = (@_, "MUSICBRAINZ_RELEASETRACKID");
        my %source;
        my %matches;
        my $entry;
 
        return \%matches unless ($mbid);
-       mpd_exec("search", "(MUSICBRAINZ_RELEASETRACKID == \"$mbid\")");
+       MPD::exec("search", "(MUSICBRAINZ_RELEASETRACKID == \"$mbid\")");
        while (<$sock>) {
                last if (/^OK/);
                die($_) if (/^ACK/);
@@ -348,7 +340,7 @@ sub get_tracks_by_release_mbid {
        my $entry;
 
        return \%matches unless ($mbid);
-       mpd_exec("search", "(MUSICBRAINZ_ALBUMID == \"$mbid\")");
+       MPD::exec("search", "(MUSICBRAINZ_ALBUMID == \"$mbid\")");
        while (<$sock>) {
                last if (/^OK/);
                die($_) if (/^ACK/);
@@ -380,7 +372,7 @@ sub get_releases_by_artist_mbid {
        my $entry;
 
        foreach my $mbid (@_) {
-               mpd_exec("search", "(MUSICBRAINZ_ARTISTID == \"$mbid\")");
+               MPD::exec("search", "(MUSICBRAINZ_ARTISTID == \"$mbid\")");
                while (<$sock>) {
                        last if (/^OK/);
                        die($_) if (/^ACK/);
@@ -406,7 +398,7 @@ sub get_ids_by_filename {
        my ($file) = @_;
        my @results = ();
 
-       mpd_exec("playlistfind", "file", $file);
+       MPD::exec("playlistfind", "file", $file);
        while (<$sock>) {
                last if (/^OK/);
                die($_) if (/^ACK/);
@@ -516,7 +508,7 @@ if ($mode eq "top") {
 
        $menu //= "MenuMPD";
 
-       mpd_exec("status");
+       MPD::exec("status");
        while (<$sock>) {
                last if (/^OK/);
                die($_) if (/^ACK/);
@@ -526,7 +518,7 @@ if ($mode eq "top") {
                }
        }
 
-       mpd_exec("currentsong");
+       MPD::exec("currentsong");
        while (<$sock>) {
                last if (/^OK/);
                die($_) if (/^ACK/);