debian/0000755000000000000000000000000012306720563007172 5ustar debian/gmusicbrowser.menu0000644000000000000000000000035412306706763012763 0ustar ?package(gmusicbrowser):needs="X11" \ section="Applications/Sound" \ title="gmusicbrowser" \ longtitle="Jukebox for mp3/ogg/flac/mpc files" \ command="/usr/bin/gmusicbrowser" \ icon="/usr/share/gmusicbrowser/pix/gmusicbrowser.xpm" debian/docs0000644000000000000000000000002712306706763010052 0ustar README layout_doc.html debian/watch0000644000000000000000000000022212306706763010225 0ustar version=3 opts="dversionmangle=s/~(ds|dfsg).*//" \ http://gmusicbrowser.org/download gmusicbrowser-(.*)\.tar\.gz \ debian sh debian/repack.stub debian/copyright0000644000000000000000000000234312306706763011135 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: gmusicbrowser Upstream-Contact: Quentin Sculo Source: http://gmusicbrowser.org/download/ Files: * Copyright: 2005-2011 Quentin Sculo 2010-2011 Simon Steinbeiß License: GPL-3+ Files: debian/* Copyright: 2010-2014 Alessio Treglia 2009 Antonio Radici License: GPL-3+ License: GPL-3+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-3'. . You should have received a copy of the GNU General Public License along with this program. If not, see . debian/repack.sh0000755000000000000000000000703412306706763011010 0ustar #!/bin/sh # see the repack.stub for how to use # TODO: provide example watch files and repack.locals # TODO: test suite. problems fixed that need to be tested: # * globbing # * whitespace and then comments in the MANIFEST # TODO: does / in weird places work? test suite too. # TODO: I actually broke stuff with the MANIFEST change not thinking.. # TODO: allow for a sepearate (and multiple) MANIFEST files, then # de-uglify libsyntax-highlight-engine-kate-perl. # TODO: have each mv and rm check that something actually changed, and # if not, die set -e set -u usage() { echo "Usage: repack.sh --upstream-version " exit 1 } if [ "$#" != "3" ]; then usage fi if [ "$1" != "--upstream-version" ]; then usage fi if [ ! -f "$3" ]; then if [ -n "$3" ]; then echo "$3 doesn't exist" fi usage fi VER="$2" FILE="$3" PKG=`dpkg-parsechangelog|grep ^Source:|sed 's/^Source: //'` SUFFIX="+dfsg" echo echo "Repackaging $FILE" echo DIR=`mktemp -d ./tmpRepackXXXXXX` DIR=$(readlink -f "$DIR") trap "/bin/rm -rf \"$DIR\"" QUIT INT EXIT # Create an extra directory to cope with rootless tarballs UP_BASE="$DIR/unpack" mkdir "$UP_BASE" tar xf "$FILE" -C "$UP_BASE" || unzip "$FILE" -d "$UP_BASE" if [ `ls -1 "$UP_BASE" | wc -l` -eq 1 ]; then # Tarball does contain a root directory UP_BASE="$UP_BASE/`ls -1 "$UP_BASE"`" fi RM_OPTS="-vrf" real_rm(){ /bin/rm "$@" } real_mv(){ /bin/mv "$@" } rm(){ set +f MYOLDPWD=$(pwd) cd "$UP_BASE" if [ "$MANIFEST" = "1" ]; then PERM=$(stat --format=%a "MANIFEST") chmod u+w "MANIFEST" fi for i in $@; do if [ "$MANIFEST" = "1" ]; then PATTERN="^$i" if [ -d "$i" ]; then if ! { echo "$PATTERN" | grep -q "/$" ; }; then PATTERN="${PATTERN}/" fi else PATTERN="${PATTERN}\s?" fi grep -Ev "$PATTERN" "MANIFEST" > "$DIR/MANIFEST" real_mv "$DIR/MANIFEST" "MANIFEST" fi real_rm "$RM_OPTS" "$i" done if [ "$MANIFEST" = "1" ]; then chmod $PERM "MANIFEST" fi cd $MYOLDPWD set -f } mv(){ set +f OLD=$(pwd) cd $UP_BASE real_mv "$@" cd $OLD if [ "$MANIFEST" = "1" ]; then echo "MANIFEST cannot be manipulated with mv yet, patches welcome" exit 1 fi set -f } # bump with incompatible changes REPACK_VERSION=3 requires_version(){ if [ $REPACK_VERSION -lt $1 ]; then echo "repack.sh is not up to date enough for this package. you need at least version $1, while this script is only version $REPACK_VERSION" exit 1 fi } MANIFEST=0 ## Remove stuff set -f MYORIGPWD=$(pwd) cd "$UP_BASE" . "$MYORIGPWD/debian/repack.local" cd $MYORIGPWD set +f ## End REPACK_DIR="$PKG-${VER}${SUFFIX}.orig" # DevRef § 6.7.8.2 DFSG_TAR="$(dirname $FILE)/${PKG}_${VER}${SUFFIX}.orig.tar" real_mv "$UP_BASE" "$DIR/$REPACK_DIR" # .gz or .bz2? FILETYPE=$(file --brief --mime-type --dereference "$FILE") case "$FILETYPE" in application/x-gzip|application/zip) C_PROGRAM="gzip" C_SUFFIX="gz" ;; application/x-bzip2) C_PROGRAM="bzip2" C_SUFFIX="bz2" ;; *) echo "E: Unknown filetye $FILETYPE" exit 1 ;; esac # Using a pipe hides tar errors! tar cfC "$DIR/repacked.tar" "$DIR" "$REPACK_DIR" $C_PROGRAM -9 < "$DIR/repacked.tar" > "$DIR/repacked.tar.$C_SUFFIX" real_mv "$DIR/repacked.tar.$C_SUFFIX" "$DFSG_TAR.$C_SUFFIX" echo "*** $DFSG_TAR.$C_SUFFIX ready" debian/changelog0000644000000000000000000001117112306720375011046 0ustar gmusicbrowser (1.1.12+ds0-1) unstable; urgency=low * Improve package's description. Thanks to Justin B Rye for the patch. (Closes: #727672) * debian/copyright: Various small improvements and updates. * Repack upstream tarball to strip out locale/ and layout_doc.html. -- Alessio Treglia Sat, 08 Mar 2014 21:40:35 +0000 gmusicbrowser (1.1.12-1) unstable; urgency=medium * New upstream release * debian/rules: Use make distclean rather than make clean * debian/control: - Add myself to uploaders - Add build-depends on markdown -- Jackson Doak Sat, 08 Mar 2014 06:19:26 +1100 gmusicbrowser (1.1.11-1) unstable; urgency=medium * New upstream release -- Jackson Doak Sat, 25 Jan 2014 14:17:08 +0000 gmusicbrowser (1.1.10-2) unstable; urgency=low * Fix encoding error in shimmer-layouts patch. (LP: #1234448) -- Alessio Treglia Fri, 11 Oct 2013 19:12:33 +0100 gmusicbrowser (1.1.10-1) unstable; urgency=low * New upstream release. (Closes: #724958) * Refresh patches. * Fix Vcs fields. * Bump Standards. * Fix typo in description. (Closes: #720760) -- Alessio Treglia Sat, 05 Oct 2013 19:11:53 +0100 gmusicbrowser (1.1.9-2) unstable; urgency=low * Demote mpg321 | flac123 | ogg123 to Suggests. * Promote libgstreamer-perl to Depends. * Recommends on libintl-perl. * Update debian/copyright. * Bump Standards. -- Alessio Treglia Tue, 29 May 2012 10:43:45 +0200 gmusicbrowser (1.1.9-1) unstable; urgency=low * New upstream release. * Remove spelling-errors patch, applied upstream. * Refresh shimmer-layouts, partially applied upstream. * Remove NEWS from debian/docs, it is already installed as upstream changelog. -- Alessio Treglia Wed, 08 Feb 2012 00:33:53 +0100 gmusicbrowser (1.1.8-1) unstable; urgency=low * New upstream release. * Bump Standards. * Revert gmusicbrowser.man, take the correct file from upstream's tarball. * The patch spelling-errors has been forwarded upstream. * Refresh shimmer-layouts patch. -- Alessio Treglia Sat, 03 Dec 2011 20:10:44 +0100 gmusicbrowser (1.1.7-2) unstable; urgency=low * Take patch from Ubuntu to adopt new layouts made by the Shimmer project. -- Alessio Treglia Fri, 25 Mar 2011 09:19:34 +0100 gmusicbrowser (1.1.7-1) unstable; urgency=low * New upstream release. * Refresh patches. * debian/control: - Replace shlibs:Depends substvar with perl:Depends. * debian/gmusicbrowser.menu: - Fix path of the XPM icon. * Update debian/watch file. -- Alessio Treglia Mon, 21 Mar 2011 08:15:25 +0100 gmusicbrowser (1.1.6-1) unstable; urgency=low [ Alessio Treglia ] * Update my email address. * Bump Standards. * Create .gitignore file. * Add debian/gbp.conf file. * Swtich to format 3.0 (quilt). * Update debian/copyright as per DEP-5 rev.166. * Point Homepage to new upstream's URL. * Suggest libgstreamer-interfaces-perl. * Remove DM-Upload-Allowed: yes, no longer needed. * Prevent deletion of the locale/ directory from the sources root. [ Micah Gersten ] * New upstream release. * Add myself to uploaders. * Refresh spelling-errors patch. -- Alessio Treglia Thu, 24 Feb 2011 09:40:56 +0100 gmusicbrowser (1.0.2-2) unstable; urgency=low * Suggest mpg321. * Correct Team's name. * Recommend libgtk2-notify-perl. * Bump Standards. -- Alessio Treglia Thu, 15 Apr 2010 20:45:35 +0200 gmusicbrowser (1.0.2-1) unstable; urgency=low * New upstream release. * debian/{control,rules}: - Switch to debhelper 7. - Drop cdbs. * debian/control: - Allow uploads by Debian Maintainers. - Add myself to the Uploaders field. - Bump Standards-Versions. * debian/rules: - Install NEWS file as upstream's changelog. * Refresh patches, add tags as per DEP-3 policy. * debian/patches/no-extra-copying: - Don't install NEWS file as doc file. - Don't install docs file in a versioned path. * Add debian/patches/spelling-errors patch to correct some little spelling errors in the manpage. * Add README.source to document how to patch the sources. * Improve debian/post{inst,rm} scripts. * Add doc-base registration file. * Update debian/copyright. * Fix debian/watch. -- Alessio Treglia Mon, 18 Jan 2010 21:19:06 +0100 gmusicbrowser (1.0.1-1) unstable; urgency=low * Initial release (Closes: #490084) -- Antonio Radici Sun, 01 Feb 2009 21:24:05 +0000 debian/dirs0000644000000000000000000000001012306706763010053 0ustar usr/bin debian/control0000644000000000000000000000334012306706763010603 0ustar Source: gmusicbrowser Section: sound Priority: extra Maintainer: Debian Multimedia Maintainers Uploaders: Antonio Radici , Alessio Treglia , Micah Gersten , Jackson Doak Build-Depends: debhelper (>= 9), markdown Build-Depends-Indep: imagemagick Standards-Version: 3.9.5 Homepage: http://www.gmusicbrowser.org/ Vcs-Git: git://anonscm.debian.org/pkg-multimedia/gmusicbrowser.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-multimedia/gmusicbrowser.git Package: gmusicbrowser Architecture: all Depends: libgstreamer-perl, libgtk2-perl, libgtk2.0-0 (>= 2.6), ${misc:Depends}, ${perl:Depends} Recommends: libcairo-perl, libdigest-crc-perl, libgtk2-notify-perl, libgtk2-trayicon-perl, libhtml-parser-perl, libintl-perl, libio-compress-perl, liblocale-gettext-perl (>= 1.04), libnet-dbus-perl Suggests: alsa-utils, libgnome2-wnck-perl, libgstreamer-interfaces-perl, libgtk2-mozembed-perl, mpg321 | flac123 | ogg123, mplayer, vorbis-tools Description: graphical jukebox for large music collections gmusicbrowser is a powerful graphical browser which supports libraries with a very large number of songs (over 10,000). . It can use multiple inputs and has native support for MP3, Ogg, and FLAC files. It also supports mass-renaming and mass-retagging of a song library, multiple genres per song, ratings, and customizable labels. . gmusicbrowser has a customizable window layout, and comes with plugins to use Last.fm, retrieve lyrics, or find album pictures and WebContext (using the Mozilla or WebKit engines to display the artist's page on Wikipedia and search for lyrics with Google). debian/repack.stub0000644000000000000000000000325112306706763011345 0ustar #!/bin/sh : <<=cut =pod =head1 NAME repack.stub - script to repack upstream tarballs from uscan =head1 INSTRUCTIONS put this in debian/repack.stub and add "debian sh debian/repack.stub" to the end of the line in debian/watch. you will also need to add a version mangle to debian/watch. then create a debian/repack.local. this is a shell script that is sources under "set -e", so be careful to check returns codes. =head1 FUNCTIONS =over 4 =item rm rm is replaced by a function that does some magic ("rm -rv" by default), but also changes MANIFEST if $MANIFEST is 1 =item mv mv is replaced by a function that just does mv (by default), but also changes MANIFEST if $MANIFEST is 1 =item requires_version requires_version is there for future usage for requiring certain versions of the script =back =head1 VARIABLES =over 4 =item SUFFIX defaults to +dfsg what to append to the upstream version =item RM_OPTS defaults to -vrf options to pass to rm =item MANIFEST defaults to 0, set to 1 to turn on. this will manipulate MANIFEST files in CPAN tarballs. =item UP_BASE this is the directory where the upstream source is. =back =cut if [ -z "$REPACK_SH" ]; then if [ -f ../../scripts/repack.sh ]; then REPACK_SH=../../scripts/repack.sh fi if [ -z "$REPACK_SH" ] && which repack.sh > /dev/null; then REPACK_SH=$(which repack.sh) fi fi if [ ! -f "$REPACK_SH" ]; then echo "Couldn't find a repack.sh. please put it in your PATH, put it at ../../scripts/repack.sh, or put it somewhere else and set the REPACK_SH variable" echo "You can get it from http://svn.debian.org/viewsvn/pkg-perl/scripts/repack.sh" exit 1 fi exec "$REPACK_SH" "$@" debian/compat0000644000000000000000000000000212306706763010376 0ustar 9 debian/rules0000755000000000000000000000056012306706763010261 0ustar #!/usr/bin/make -f export REPACK_SH=$(CURDIR)/debian/repack.sh %: dh $@ override_dh_auto_build: dh_auto_build mogrify -format xpm -geometry 32x32 $(CURDIR)/pix/gmusicbrowser.png override_dh_auto_clean: $(MAKE) distclean rm -f $(CURDIR)/pix/gmusicbrowser.xpm override_dh_installchangelogs: dh_installchangelogs NEWS get-orig-source: uscan --force-download debian/repack.local0000644000000000000000000000007012306707005011444 0ustar SUFFIX=~ds0 rm dist/ locale/ debian/ \ layout_doc.html debian/source/0000755000000000000000000000000012306706763010500 5ustar debian/source/format0000644000000000000000000000001412306706763011706 0ustar 3.0 (quilt) debian/gmusicbrowser.doc-base0000644000000000000000000000037412306706763013476 0ustar Document: gmusicbrowser Title: gmusicbrowser layout documentation Abstract: Layout documentation for gmusicbrowser's interface. Section: Sound Format: HTML Index: /usr/share/doc/gmusicbrowser/layout_doc.html Files: /usr/share/doc/gmusicbrowser/*.html debian/gbp.conf0000644000000000000000000000005712306706763010621 0ustar [DEFAULT] pristine-tar = True sign-tags = True debian/gmusicbrowser.install0000644000000000000000000000006312306706763013462 0ustar pix/gmusicbrowser.xpm usr/share/gmusicbrowser/pix/ debian/postrm0000644000000000000000000000014312306706763010445 0ustar #!/bin/sh -e set -e if test -x /usr/bin/update-menus; then update-menus; fi #DEBHELPER# exit 0 debian/patches/0000755000000000000000000000000012306706763010627 5ustar debian/patches/no-extra-copying0000644000000000000000000000173112306706763013757 0ustar Description: Stop the distribution of COPYING from makefile, the license is already provided by us. Author: Antonio Radici --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- a/Makefile +++ b/Makefile @@ -7,14 +7,14 @@ bindir = ${DESTDIR}/${prefix}/bin appdir = ${DESTDIR}/${prefix}/share/applications datadir = ${DESTDIR}/${prefix}/share mandir = ${DESTDIR}/${prefix}/share/man -docdir = ${DESTDIR}/${prefix}/share/doc/$(PACKAGE)-${VERSION} +docdir = ${DESTDIR}/${prefix}/share/doc/$(PACKAGE) localedir = ${DESTDIR}/${prefix}/share/locale -menudir = ${DESTDIR}/${prefix}/lib/menu +menudir = ${DESTDIR}/${prefix}/share/menu iconsdir = ${DESTDIR}/${prefix}/share/icons liconsdir = $(iconsdir)/large miconsdir = $(iconsdir)/mini -DOCS=AUTHORS COPYING README NEWS INSTALL layout_doc.html +DOCS=AUTHORS README layout_doc.html # this triggers correct gettext behavior # unset LINGUAS => installs all supported linguas debian/patches/series0000644000000000000000000000005212306706763012041 0ustar no-extra-copying fix-menu shimmer-layouts debian/patches/fix-menu0000644000000000000000000000110012306706763012272 0ustar Description: fix the menu as per Debian Menu System Author: Antonio Radici --- gmusicbrowser.menu | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) --- a/gmusicbrowser.menu +++ b/gmusicbrowser.menu @@ -1,8 +1,6 @@ ?package(gmusicbrowser):needs="X11" \ - section="Multimedia/Sound" \ + section="Applications/Sound" \ title="gmusicbrowser" \ longtitle="Jukebox for mp3/ogg/flac/mpc files" \ command="/usr/bin/gmusicbrowser" \ - icon="gmusicbrowser.png" \ - startup_notify="true" - + icon="/usr/share/gmusicbrowser/pix/gmusicbrowser.xpm" debian/patches/shimmer-layouts0000644000000000000000000003004612306706763013717 0ustar From acc72078ea6db95174726ebc6f720abf96baca7c Mon Sep 17 00:00:00 2001 From: Sean Davis Date: Wed, 28 Aug 2013 19:14:00 -0400 Subject: [PATCH] shimmer-layouts update --- gmbrc.default | 10 ++++++++ gmusicbrowser.pl | 6 ++-- gmusicbrowser_layout.pm | 15 +++++++++++- gmusicbrowser_list.pm | 34 ++++++++++++++++++++++----- layouts/songtree.layout | 59 +++++++++++++++++++++++++++++++++++++++++++++--- plugins/fetch_cover.pm | 4 ++- 6 files changed, 114 insertions(+), 14 deletions(-) --- a/gmbrc.default +++ b/gmbrc.default @@ -10,6 +10,16 @@ PLUGIN_LYRICS: 1 PLUGIN_FETCHCOVER: 1 PLUGIN_AUTOSAVE: 1 +PLUGIN_ARTISTINFO: 1 +PLUGIN_MPRIS2: 1 + +UseTray: 0 + +Layout: Shimmer Desktop +IconTheme: elementary +LayoutT: Shimmer Traytip +LayoutF: Shimmer Party + # default player layout #Layout: Small player --- a/gmusicbrowser.pl +++ b/gmusicbrowser.pl @@ -500,9 +500,9 @@ our @cMenuAA= ( { label => _"Lock", code => sub { ToggleLock($_[0]{lockfield}); }, check => sub { $::TogLock && $::TogLock eq $_[0]{lockfield}}, mode => 'P', test => sub { $_[0]{field} eq $_[0]{lockfield} || $_[0]{gid} == Songs::Get_gid($::SongID,$_[0]{lockfield}); }, }, - { label => _"Lookup in AMG", code => sub { AMGLookup( $_[0]{mainfield}, $_[0]{aaname} ); }, - test => sub { $_[0]{mainfield} =~m/^album$|^artist$|^title$/; }, - }, + #{ label => _"Lookup in AMG", code => sub { AMGLookup( $_[0]{mainfield}, $_[0]{aaname} ); }, + # test => sub { $_[0]{mainfield} =~m/^album$|^artist$|^title$/; }, + #}, { label => _"Filter", code => sub { Select(filter => Songs::MakeFilterFromGID($_[0]{field},$_[0]{gid})); }, stockicon => 'gmb-filter', mode => 'P' }, { label => \&SongsSubMenuTitle, submenu => \&SongsSubMenu, }, { label => sub {$_[0]{mode} eq 'P' ? _"Display Songs" : _"Filter"}, code => \&FilterOnAA, --- a/gmusicbrowser_layout.pm +++ b/gmusicbrowser_layout.pm @@ -7,6 +7,7 @@ use strict; use warnings; +use utf8; package Layout; use Gtk2; @@ -245,6 +246,7 @@ our %Widgets= { class => 'Layout::Label', group => 'Play', minsize => 20, + options => 'showcover', markup => '%S%V', markup_empty => '<'._("Playlist Empty").'>', click1 => \&PopupSongsFromAlbum, @@ -268,6 +270,10 @@ our %Widgets= dragsrc => [::DRAG_ARTIST,\&DragCurrentArtist], cursor => 'hand2', }, + ArtistBreadcrumb => + { parent => 'Artist', + click1 => sub { my $ID=::GetSelID($_[0]); ::PopupAA( 'album', format=> ::__x( _"{album}\n{year} / {songs}", album => "%a", year => "%y", songs => "%s"), from=> Songs::Get_gid($ID,'artists')) if defined $ID; }, + }, Album => { class => 'Layout::Label', group => 'Play', @@ -278,6 +284,10 @@ our %Widgets= dragsrc => [::DRAG_ALBUM,\&DragCurrentAlbum], cursor => 'hand2', }, + AlbumBreadcrumb => + { parent => 'Album', + click1 => \&PopupSongsFromAlbum, + }, Year => { class => 'Layout::Label', group => 'Play', @@ -372,8 +382,10 @@ our %Widgets= group => 'Play', aa => 'album', oldopt1 => 'maxsize', + options => 'showcover', schange => sub { my $key=(defined $_[1])? Songs::Get_gid($_[1],'album') : undef ; $_[0]->set($key); }, click1 => \&PopupSongsFromAlbum, + click3 => sub { my $ID=::GetSelID($_[0]); ::PopupAAContextMenu({self =>$_[0], field=>'album', ID=>$ID, gid=>Songs::Get_gid($ID,'album'), mode => 'P'}) if defined $ID; }, event => 'Picture_album', update => \&Layout::AAPicture::Changed, noinit => 1, @@ -387,6 +399,7 @@ our %Widgets= oldopt1 => 'maxsize', schange => sub { my $key=(defined $_[1])? Songs::Get_gid($_[1],'artists') : undef ;$_[0]->set($key); }, click1 => sub { ::PopupAA('artist'); }, + click3 => sub { my $ID=::GetSelID($_[0]); ::PopupAAContextMenu({self =>$_[0], field=>'artist', ID=>$ID, gid=>Songs::Get_gid($ID,'artist'), mode => 'P'}) if defined $ID; }, event => 'Picture_artist', update => \&Layout::AAPicture::Changed, noinit => 1, @@ -1594,7 +1607,7 @@ use base 'Gtk2::Window'; sub new { my ($class,$layout,%options)=@_; my @original_args=@_; - my $fallback=delete $options{fallback} || 'Lists, Library & Context'; + my $fallback=delete $options{fallback} || 'Shimmer Desktop'; my $opt0={}; if (my $opt= $layout=~m/^[^(]+\(.*=/) { ($layout,$opt0)= $layout=~m/^([^(]+)\((.*)\)$/; #separate layout id and options --- a/gmusicbrowser_list.pm +++ b/gmusicbrowser_list.pm @@ -198,8 +198,8 @@ sub Update if (!$array) { $tip=$text=_"error"; } else { $text.= ::CalcListLength($array,$self->{format}); } my $format= $self->{size} ? '%s' : '%s'; - $self->child->set_markup_with_format($format,$text); - $self->set_tooltip_text($tip); + if ($self->{mode} eq "filter") { $self->child->set_markup_with_format($format,$text); $self->set_tooltip_text($tip); } + else { $self->child->set_markup_with_format($format,$tip); $self->set_tooltip_text($text); } $self->{needupdate}=0; } @@ -226,7 +226,7 @@ sub filter_Update { my $self=shift; my $filter=::GetFilter($self); my $array=$filter->filter; - return _("Filter : "), $array, $filter->explain; + return _("Filter : "), $array, ("Filter: ".$filter->explain); } ### list functions @@ -245,7 +245,7 @@ sub list_SongArray_changed sub list_Update { my $self=shift; my $array=::GetSongArray($self) || return; - return _("Listed : "), $array, ::__('%d song','%d songs',scalar@$array); + return _("Listed : "), $array, ::__('%d song listed','%d songs listed',scalar@$array); } ### selected functions @@ -1593,6 +1593,7 @@ our %Pages= our @MenuMarkupOptions= ( "%a", "%a%Y\n%s %l", + "%a%Y\n%x / %s / %l", "%a%Y\n%b", "%a%Y\n%b\n%s %l", "%y %a", @@ -1609,6 +1610,7 @@ my @mpicsize_menu= _("medium size") => 64, _("big size") => 96, _("huge size") => 128, + _("giant size") => 256, ); my @cloudstats_menu= ( _("number of songs") => 'count', @@ -3312,7 +3314,7 @@ sub new my $BAlblist=::NewIconButton('gmb-playlist',undef,undef,'none'); $BAlblist->signal_connect(button_press_event => \&AlbumListButton_press_cb); $BAlblist->set_tooltip_text(_"Choose Album From this Artist"); - $buttonbox->pack_start($BAlblist, ::FALSE, ::FALSE, 0); + $buttonbox->pack_start($_, ::FALSE, ::FALSE, 0) for $BAlblist; } my $drgsrc=$aa eq 'album' ? ::DRAG_ALBUM : ::DRAG_ARTIST; @@ -4598,6 +4600,16 @@ sub button_press_cb else { $self->{pressed}=1; } return 0; } + if ($but==2) + { my ($i,$j,$key)=$self->coord_to_index($event->get_coords); + if (defined $key && !exists $self->{selected}{$key}) + { $self->key_selected($event,$i,$j); + } + my $menu = ::ChooseSongsFromA($key); + my $event = Gtk2->get_current_event; + $menu->show_all; + $menu->popup(undef,undef,undef,undef,$event->button,$event->time); + } if ($but==3) { my ($i,$j,$key)=$self->coord_to_index($event->get_coords); if (defined $key && !exists $self->{selected}{$key}) @@ -5522,7 +5534,7 @@ sub new my $default= $::Options{"DefaultOptions_$name"} || {}; %$opt=( @DefaultOptions, %$default, %$opt ); - $self->{$_}=$opt->{$_} for qw/headclick songxpad songypad no_typeahead grouping/; + $self->{$_}=$opt->{$_} for qw/headclick songxpad songypad no_typeahead grouping showbb/; #create widgets used to draw the songtree as a treeview, would be nice to do without but it's not possible currently $self->{stylewidget}=Gtk2::TreeView->new; @@ -5588,6 +5600,16 @@ sub new $self->AddColumn($_) for split / +/,$opt->{cols}; unless ($self->{cells}) { $self->AddColumn('title'); } #to ensure there is at least 1 column + if ($self->{showbb}) { # show queue actions in QueueList if option showbb is set + my $qactions = Layout::NewWidget("QueueActions"); + my $clearb = ::NewIconButton('gtk-clear',"",\&::ClearQueue,"none","Clear Queue"); + my $shuffleb = ::NewIconButton('gmb-shuffle',"",\&::ShuffleQueue,"none","Shuffle Queue"); + my $bbox = Gtk2::HBox->new(0,0); + $bbox->pack_start($qactions,0,0,0); + $bbox->pack_end($clearb,0,0,0); + $bbox->pack_end($shuffleb,0,0,0); + $vbox->pack_end($bbox,0,0,0); + } $self->{selected}=''; $self->{lastclick}=$self->{startgrow}=-1; $self->set_head_columns; --- a/layouts/songtree.layout +++ b/layouts/songtree.layout @@ -1,6 +1,37 @@ #SongTree Group & Columns definitions ##################################### +{Group Compact} +title=Compact +head=pic:h +tail=25 +vcollapse=head +vmin=pic:y+pic:h+25 +title: text(markup=''.pesc($album).''. if($year,'\n'.pesc($year)) . '\n'.pesc($artist),pad=2,x=pic:w) +pic: aapic(y=title:y,picsize=picsize,ypad=2,xpad=1,aa='album') +picsize : OptionNumber(default=50,min=20,max=1000,step=10) + +{Group discleft} +title=disc on the left side +head=3 +left=width +vcollapse=head+title:h+line:h+2 +title: text(markup=''.pesc($title).''.if(!$_expanded,'»'),pad=2,w=left)) +width: OptionNumber(default=15,min=10,max=100,step=1) +line: line(x1=1,y1=1,x2=$_w,y2=1,color='#ccc',width=1) + +{Group artistalbum_breadcrumbs} +title=album and artist breadcrumbs +head=title:h +tail=25 +vcollapse=head +vmin=pic:y+pic:h+25 +left=pic:w+2 +title: text(markup=''.pesc($album).''. if($year,' « '.pesc($year)) . ' « '.pesc($artist),pad=2) +pic: +aapic(y=title:h+title:y,picsize=picsize,ypad=2,xpad=1,aa='album') +picsize : OptionNumber(default=100,min=20,max=1000,step=10) +picstars : picture(file=ratingpic($rating_avrg),x=(picsize/2)-(picstars:w/2),y=pic:y+pic:h,hide=$rating_avrg==50 || picsize < 80) + {Group pic} title= _"with picture" head=title:h @@ -33,6 +64,14 @@ pic: aapic(y=title:y + title:h +2, picsi width: OptionNumber(default=200,min=20,max=1000,step=10) picsize : OptionNumber(default=100,min=20,max=1000,step=10) +{Column RhythmboxQueue} +menutitle = _"Rhythmbox 2nd queue column" +title = _"Queue" +hreq=text:h +width=200 +sort= title:i +text : text(markup=pesc($title).'\nby '.pesc($artist).'\non '.pesc($album).'',pad=2) + {Column testtitleandprogress} title= _"Title & progress" sort=album:i title:i @@ -42,6 +81,20 @@ hreq=text:h progress: pbar( fill=$progress, hide=!$playing,y=1,h=-2) text: text(markup=playmarkup(pesc($title))) +{Column queuenumber} +menutitle = Queue-Item Number +title = # +width = 20 +text: text(markup=$queued, x=-text:w) + +{Column playandqueueandtrack} +menutitle = Playing/Queue Icon or Track +title = # +width = 20 +sort = track +ico: icon(pad=2,icon=$playicon, hide= !$playing && !$queued) +text: text(markup=pesc($track.' '.$queued), hide= $playing || $queued) + {Column playandqueue} menutitle = _"Playing and queue icons" width = 20 @@ -82,9 +135,9 @@ title = _"Rating" menutitle = _"Rating (picture)" sort = rating width=100 -#hreq = pic:h -#pic : picture(file=ratingpic($rating),init_file=ratingpic(0)) -pic : picture(file=ratingpic($rating),h=$_h,w=$_w,resize='ratio',init_file=ratingpic(0)) +hreq = pic:h +pic : picture(file=ratingpic($rating),init_file=ratingpic(0),x=pic:w) +#pic : picture(file=ratingpic($rating),h=$_h,w=$_w,resize='ratio',init_file=ratingpic(0)) {Column right_aligned_folder} menutitle = _"Folder (right-aligned)" --- a/plugins/fetch_cover.pm +++ b/plugins/fetch_cover.pm @@ -46,15 +46,17 @@ my %Sites= ); my %menuitem= -( label => _"Search for a picture on internet", #label of the menu item +( label => _"Search Picture", #label of the menu item code => sub { Fetch($_[0]{mainfield},$_[0]{gid},$_[0]{ID}); }, #when menu item selected test => sub {$_[0]{mainfield} eq 'album' || $_[0]{mainfield} eq 'artist'}, #the menu item is displayed if returns true + stockicon => 'gtk-find', ); my %fpane_menuitem= ( label=> _"Search for a picture on internet", code => sub { Fetch($_[0]{field},$_[0]{gidlist}[0]); }, onlyone=> 'gidlist', #menu item is hidden if more than one album/artist is selected istrue => 'aa', #menu item is hidden for non artist/album (aa) FPanes + stockicon => 'gtk-find', ); ::SetDefaultOptions(OPT, USEFILE => 1, COVERFILE => 'cover', PictureSite_artist => 'googlei', PictureSite_album => 'googlei'); debian/postinst0000644000000000000000000000014312306706763011004 0ustar #!/bin/sh -e set -e if test -x /usr/bin/update-menus; then update-menus; fi #DEBHELPER# exit 0