From 0bcbb47394f2bc685e89fd803b837968b350d232 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Wed, 17 Aug 2016 16:08:04 -0400 Subject: multimedia/glyr: Updated for version 1.0.9, new maintainer. --- multimedia/glyr/README.html | 184 ++++++++++++++++++++++++++++++++++++++++ multimedia/glyr/glyr.SlackBuild | 37 +++++--- multimedia/glyr/glyr.info | 10 +-- 3 files changed, 216 insertions(+), 15 deletions(-) create mode 100644 multimedia/glyr/README.html diff --git a/multimedia/glyr/README.html b/multimedia/glyr/README.html new file mode 100644 index 0000000000..5c77d8830e --- /dev/null +++ b/multimedia/glyr/README.html @@ -0,0 +1,184 @@ + +Glyr is a search engine for music related metadata

Glyr is a search engine for music related metadata

+ +

The finest search you can buy for no money TM

+ +

[screenshot]

+ +It comes both in a command-line interface tool and as a C library, both with an easy to use interface.
+The sort of metadata glyr is searching (and downloading) is usually the data you see in your musicplayer.
+And indeed, originally it was written to serve as internally library for a musicplayer, but has been extended to
+work as a standalone program which is able to download:
+

+ + + + + + + + + + + + + + + + + +
GetterDescription
coverCoverart (front images supported only)
lyricsSongtext
artistphotosPhotos of a certain band (press or live)
artistbioArtist biography from various sites
reviewalbum reviews from various sites
albumlistA list of albums from a specific artist.
tagsTags, either related to artist, album or title
relationslinks to wikipedia, myspace, musicbrainz ...
similarartistssimilar artists
similarsongssimilar songs
tracklisttracklists of an album
guitartabsguitartabs in textual form
backdrops Large artist photos, suitable for backgrounds
+

+ +

Terminology:
+To prevent disambiguation the following terms are used below:
+* glyrc is the command-line interface to libglyr.
+* libglyr is the library behind, which may be used by your program.
+* a getter is a type of metadata to download, e.g. cover, sometimes also called fetcher
+* a provider is a source libglyr queries in order to find the data.
+* glyros is the ruby wrapper for this lib. Currently it is not maintained.

+ +

FEATURES

+ + + +

GETTING STARTED

+ +

Compiling

+ +

See the compile page.

+ +

libglyr:

+ +

See the examples in src/examples for a quickstart.
+There's also a more gentle (and brief) introduction.
+Also see the API Reference
+Please note: Since version 1.0.0 the API will be stable, and will only be open for extensions.

+ +

glyrc:

+ +

Please refer to glyrc -h which gives you a brief introduction to the arguments you can pass,
+See the wiki for more detailed information about the options.

+ +

FAQ

+ +

Anyone using it already?

+ + + +

Glyr.. such a silly name! Why?

+ +

Indeed. Should have named it 'Glyros' (too late, damnit).

+ +

Is it hard to write something with it?

+ +

Some knowledge of C might be required, but the code is straight forward most of the time.

+ +

Bash scripts are pretty straight-forward:
+glyrc cover --artist Equilibrium --album Sagas --write '/tmp/:artist:_:album:.:format:' --callback 'sxiv ":path:"'

+ +

Additionally there are bindings to Python and Ruby:

+ + + + +

How..how am I supposed to use it?

+ +

Well, as normal user you could use glyrc to retrieve some metadata in a batchlike fashion.
+As developers you have lots of option, you could write glyr-plugins for musicplayers (gmpc!), set up a webserver with this,
+hack up little scripts showing covers on the desktop.. everything related to musicmetadat is possible here.
+You could also extend libglyr itself but that's a little harder.

+ +

Isn't there musicbrainz already?

+ +
    +
  1. The kind of metadata downloaded by glyr differs heavily from musicbrainz.
    +i.e. glyr finds metadata for musicplayers while musicbrainz finds data for CD Rippers and taggers.
  2. +
  3. Musicbrainz runs remotely on some server and uses a large database which is searched through lucene.
    +Glyr is a client program which hops over several sites and does not cache anything, unless you do it yourself.
    +You could of course let glyr run on a (remote) server, and cache all results to do something similiar.
  4. +
  5. There is coverarchive.org , but it does not seem to fully work yet. But it will be accessible once it does.
  6. +
+ +

AUTHOR

+ +

See the AUTHORS file that comes in glyr's distribution.
+See also COPYING to know about your rights.

+ +

I CAN HAZ HELP?

+ +

BUGS

+ +

If you found one: Meh. Sorry for that.
+If you file a bugreport: Hey, thank you!

+ +

Use the Issue Tracker to share your find.
+Alternatively you may drop me a mail at

+ +

PATCHES

+ +

If you hacked one: Excellent! Send it to me via mail or see below.
+If you want to add new providers you should look at the existing provider plugins to get an idea how to write one.
+Starting with lib/cover/lastfm.c isn't a bad idea either, because it is one of the very simple ones.

+ +

Take the usual Git(Hub) approach:
+# Fork this project
+# Make your changes
+# Make a Pull request

+ +

If you're not familiar with git, or just don't like it,
+you can also send me the patch via mail:

+ +

Thanks for any help in advance!

+ +

WRITE SOFTWARE THAT USES GLYR

+ +

May sound strange, but you're giving me a reason to maintain it, write new providers etc.
+Also bugreports (well, there are no bugs, just in case) are appreciated, or just questions.
+Those help to make the documentation more clear.

+ +

DONATE

+ +

You also might consider a small (CS-Students are already motivated by 1 Cent ) donation if you use feel like it:
+ +(For now only possible via Flattr or Paypal , you gonna need an account there - Sorry)

+ +

DISCLAIMER

+ +

As usual, no warranty is granted that this software works like expected.
+Refer to the GPLv3 copy you got with libglyr. It is here.
+Glyr is just a way to find the data, it does not own any rights on the data it found.

+ +

All retrieved items are copyrighted by their respective copyright owners.

+ +

Refer to the provider's terms of use. Every item you get from libglyr contains the name and a url to the provider, so lookup there terms of use there.

+ +



+

+ + + +

[1] Glyr has not been tested on Mac OSX yet. If you own a Mac, any help with 'porting' glyr is highly appreciated. My guess would be that no to almost no changes need to be done though.

\ No newline at end of file diff --git a/multimedia/glyr/glyr.SlackBuild b/multimedia/glyr/glyr.SlackBuild index 264711b968..a9e51c8065 100644 --- a/multimedia/glyr/glyr.SlackBuild +++ b/multimedia/glyr/glyr.SlackBuild @@ -22,14 +22,24 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Now maintained by B. Watson + +# 20160817 bkw: +# - take over maintenance +# - update for 1.0.9 +# - i486 => i586 +# - fix SLKCFLAGS use +# - add missing docs +# - make install/strip + PRGNAM=glyr -VERSION=${VERSION:-1.0.8} +VERSION=${VERSION:-1.0.9} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -40,8 +50,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -76,6 +86,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# upstream places -Os after the flags we provide, which undoes our -O2. +sed -i "s,-Os,," CMakeLists.txt + mkdir -p build cd build cmake \ @@ -84,15 +97,19 @@ cd build -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_BUILD_TYPE=Release .. - make - make install DESTDIR=$PKG + make #VERBOSE=1 # in case you need to see the compile commands + make install/strip DESTDIR=$PKG cd .. -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - +# README.html was generated from upstream's README.textile. include +# pre-generated html file in build to avoid a dependency on +# Formatter::HTML::Textile perl module. I could have generated plain +# text, but the URLs don't show up in it. I didn't build the API +# docs, but README.html has a link to them on the author's site. mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a AUTHORS CHANGELOG COPYING $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS CHANGELOG COPYING state_of_providers.txt \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/README.html > $PKG/usr/doc/$PRGNAM-$VERSION/README.html cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/multimedia/glyr/glyr.info b/multimedia/glyr/glyr.info index 57c7b7f157..e4d7767192 100644 --- a/multimedia/glyr/glyr.info +++ b/multimedia/glyr/glyr.info @@ -1,10 +1,10 @@ PRGNAM="glyr" -VERSION="1.0.8" +VERSION="1.0.9" HOMEPAGE="https://github.com/sahib/glyr" -DOWNLOAD="https://github.com/sahib/glyr/archive/1.0.8.tar.gz" -MD5SUM="05df602572495bf3cb2566d4ff933b9a" +DOWNLOAD="https://github.com/sahib/glyr/archive/1.0.9.tar.gz" +MD5SUM="8cc1dd613856b34cb82c49959ebc45c5" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" -MAINTAINER="Andrew Strong" -EMAIL="andrew.david.strong@gmail.com" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" -- cgit v1.2.3