Recent posts

January 16, 2026, 20:59:48
Hi,

Does someone know how I can change the fetch_cover.pm plugin to make the search for artwork on slothradio work. Or for another specialized site like discogs, etc.

Thanks,
Jop
January 16, 2026, 20:56:20
I don't know if it is still actual. I had the same problem. The solution was in the way how to start. I have this starter and this works:
bash -c "LC_ALL=C /pathto/gmusicbrowser/gmusicbrowser.pl"
January 12, 2026, 10:12:09
Et la partie AuTO put them before my %Sites=

);
my @AUTO_SITES = grep { $_ ne 'AUTO' } qw(
    musixmatch
    genius
    lyriki
    parolesnet
    lyricsondemand
);
January 12, 2026, 10:11:34
parolesnet => [
    'Paroles.net',
    # -------- URL builder --------
    sub {
        my $ID = $_[0];
        my $artist = Songs::Get($ID,'artist') // '';
        my $title  = Songs::Get($ID,'title')  // '';
       
        for ($artist, $title)
        {
            $_ = ::superlc($_);
            $_ = lc $_;
            $_ =~ s/\(.*?\)//g;
            $_ =~ s/\bfeat\.?.*//g;
            $_ =~ s/&/ et /g;
            $_ =~ s/[^a-z0-9]+/-/g;
            $_ =~ s/-{2,}/-/g;
            $_ =~ s/^-|-$//g;
        }
       
        return "https://www.paroles.net/$artist/paroles-$title";
    },
    undef,
    # -------- Lyrics extractor --------
    sub {
        my $html = $_[0];
        my $lyrics = '';
       
        # Extraire le bloc song-text complet
        if ($html =~ m|<div\s+class="song-text">(.*?)</div>|s) {
            warn "DEBUG: Match found!\n";
            my $main = $1;
            warn "DEBUG: Captured " . length($main) . " chars\n";
           
            # Virer le h2 titre
            $main =~ s|<h2.*?</h2>||si;
           
            # Virer les blocs de pub
            $main =~ s|<div[^>]*min-height[^>]*>.*?</div>||gsi;
            $main =~ s|<div[^>]*optidigital[^>]*>.*?</div>||gsi;
           
            # Marquer les doubles <br> (paragraphes) différemment des simples
            $main =~ s|<br\s*/?>[\s\n]*<br\s*/?>|###PARA###|gi;
            $main =~ s|<br\s*/?>|###BR###|gi;
            $main =~ s|</div>|###BR###|gi;
           
            # Virer toutes les balises HTML restantes
            $main =~ s|<[^>]+>||g;
           
            # Nettoyer entités HTML
            $main =~ s/&nbsp;/ /gi;
            $main =~ s/&amp;/&/gi;
            $main =~ s/&lt;/</gi;
            $main =~ s/&gt;/>/gi;
            $main =~ s/&quot;/"/gi;
           
            # Nettoyer espaces
            $main =~ s/^\s+|\s+$//gm;
            $main =~ s/###BR###\s*###BR###/###PARA###/g;
           
            # Remplacer les marqueurs par <br> pour gmusicbrowser
            $main =~ s|###PARA###|<br><br>|g;  # Double saut pour paragraphes
            $main =~ s|###BR###|<br>|g;         # Simple saut pour vers
           
            $lyrics = $main;
            warn "DEBUG: Final lyrics length: " . length($lyrics) . "\n";
           
        } else {
            warn "DEBUG: NO MATCH for song-text div!\n";
            $_[0] = $notfound;
            return 0;
        }
       
        return 0 unless length($lyrics) > 20;
        $_[0] = $lyrics;
        return 1;
    }
],
January 11, 2026, 18:35:01
Hello,

Please find a few update for lyrics'plugin find in /usr/share/gmusicbrowser/plugins :

you can put this after "my %Sites="

lyricsondemand => [
    'Lyricsondemand',
    sub {
        my $ID = $_[0];
        my $artist = Songs::Get($ID,'artist') || '';
        my $title  = Songs::Get($ID,'title')  || '';

        # Nettoyer pour l'URL
        $artist =~ s/\s+/_/g;
        $artist =~ s/[^a-zA-Z0-9_]//g;
        $artist = lc $artist;

        $title  =~ s/\s+/_/g;
        $title  =~ s/[^a-zA-Z0-9_]//g;
        $title  =~ s/_+/_/g;
        $title  = lc $title;

        return "https://lyricsondemand.com/$artist/$title";
    },
    undef,
sub {
    my $html = $_[0];
    my $lyrics = '';

    # Extraire tout le bloc mainlyrics
    if ($html =~ m#<div\s+class="mainlyrics">(.*?)</div>\s*</div>\s*</div>#si) {
        my $main = $1;

        # Extraire toutes les lignes de paroles
        my @lines = $main =~ m#<div\s+class="line main-single-line [^"]*"\s+data-line-index="\d+">(.*?)</div>#gis;

        # Nettoyer chaque ligne
        @lines = map {
            my $line = $_;
            $line =~ s/<[^>]+>//g;        # retirer toutes les balises HTML restantes
            $line =~ s/&nbsp;/ /gi;       # espaces HTML
            $line =~ s/&amp;/&/gi;        # ampersand HTML
            $line =~ s/^\s+|\s+$//g;      # trim
            $line;                        # retourner la ligne nettoyée
        } grep { $_ !~ /^\*/ } @lines;    # filtrer les lignes qui commencent par *


        # Joindre toutes les lignes avec saut HTML
        $lyrics = join("<br>", @lines);
    } else {
        $_[0] = "No lyrics found";
        return 0;
    }

    $_[0] = $lyrics;
    return 1;
}],
January 11, 2026, 12:57:07
Quentin's email no longer seems to exist, and I can't find any trace of him in the various developments.
I also share your opinion about this software—nothing else comes close. I'm not very knowledgeable about programming, so I don't know if it's easy to improve, but at least it works on the latest version of Debian.
December 16, 2025, 13:36:22
Private Girls In Your Town - No Selfie - Anonymous Adult Dating
https://privateladyescorts.com
 
Private Lady In Your Town - Anonymous Sex Dating - No Selfie
October 25, 2025, 02:03:04
I've been using GMB for 15+ years now, and I've never found anything that really comes close.

That being said, I think cracks are starting to show with the lack of development. It's getting close to 2 years since we've had a commit to the git repository, and I don't think Quentin has visited these forums in over a year. GMB isn't currently working on my system due to the GDK-pixbuf update bug and I don't see this getting fixed any time soon. I'm exploring other applications, hopefully I can find something that can at least partially fill the void.

I hope activity on GMB picks up again, but even if it doesn't, Quentin I hope you're doing well and wanted to let you know how much I appreciate the time and work you've put into it.
October 17, 2025, 11:51:26
The latest issue for me now seems to be scrolling does not work on the album artwork panel, but does everywhere else.
Right clicking freezes the application, while the music will still finish the remainder of the track.
But the random crashes have reduced dramatically.
September 19, 2025, 10:49:01
Extremely weirdly, it is not running fine most of the time. When I close the sound window, it crashes. I have yet to find out which other programs crash it, but its happening with some others too.