Giter VIP home page Giter VIP logo

libspotify's Introduction

libspotify

This is a mere ruby gem that bundles the libspotify binaries for ease of installation. If your platform is not supported, please create an issue in the issue tracker.

Please see the official libspotify documentation at https://developer.spotify.com/technologies/libspotify/ for more information.

Version policy

Given 12.1.51.0, the 12.1.51 is the libspotify version, and the last 0 means it’s the first version released of the libspotify gem for this libspotify version.

License

Copyright (c) 2012 Kim Burgestrand

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

License (libspotify)

libspotify is released under it’s own license and terms of use: http://developer.spotify.com/technologies/libspotify/#terms-of-use

libspotify's People

Contributors

burgestrand avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

iamjoshbinder

libspotify's Issues

No Windows support

I am trying to use the Spotify gem on Windows, but the gem doesn't provide libspotify's windows binaries.

problem with libspotify gem on armv6?

Hi,
I'm running into a bit of a problem trying to get libspotify and hallon working on a Raspberry Pi (a small ARM-based computer board). The gem installs just fine, but running a simple program (like the examples provided in the Hallon readme) segfault.

Running this example:

#!/usr/bin/ruby -w

require 'rubygems'
require 'bundler'

require 'hallon'
require 'hallon-openal'

session = Hallon::Session.initialize IO.read('./spotify_appkey.key')
session.login!('secret', 'secret') #obviously I had real credentials here

track = Hallon::Track.new("spotify:track:1ZPsdTkzhDeHjA5c2Rnt2I")
track.load

player = Hallon::Player.new(Hallon::OpenAL)
player.play!(track)

Yields this error:

pi@raspberrypi ~/spot $ ./spot.rb 
/usr/lib/ruby/1.9.1/rubygems/psych_tree.rb:31: warning: method redefined; discarding old visit_String
/usr/lib/ruby/1.9.1/rubygems/psych_tree.rb:4: warning: previous definition of visit_String was here
/usr/lib/ruby/1.9.1/rubygems/psych_tree.rb:39: warning: method redefined; discarding old register
/usr/lib/ruby/1.9.1/rubygems/psych_tree.rb:12: warning: previous definition of register was here
/usr/lib/ruby/1.9.1/rubygems/psych_tree.rb:43: warning: method redefined; discarding old format_time
/usr/lib/ruby/1.9.1/rubygems/psych_tree.rb:16: warning: previous definition of format_time was here
/usr/lib/ruby/1.9.1/rubygems/syck_hack.rb:115: warning: method redefined; discarding old to_s
/usr/lib/ruby/1.9.1/rubygems/syck_hack.rb:44: warning: previous definition of to_s was here
/var/lib/gems/1.9.1/gems/hallon-0.18.1/lib/hallon/session.rb:49: warning: instance variable @__instance__ not initialized
/var/lib/gems/1.9.1/gems/spotify-12.3.0/lib/spotify.rb:99: [BUG] Segmentation fault
ruby 1.9.3p194 (2012-04-20 revision 35410) [arm-linux-eabi]

-- Control frame information -----------------------------------------------
c:0022 p:---- s:0074 b:0074 l:000073 d:000073 CFUNC  :session_process_events
c:0021 p:0020 s:0069 b:0069 l:000063 d:000068 BLOCK  /var/lib/gems/1.9.1/gems/spotify-12.3.0/lib/spotify.rb:99
c:0020 p:0019 s:0067 b:0067 l:000066 d:000066 METHOD /usr/lib/ruby/1.9.1/monitor.rb:211
c:0019 p:0013 s:0064 b:0064 l:000063 d:000063 METHOD /var/lib/gems/1.9.1/gems/spotify-12.3.0/lib/spotify.rb:98
c:0018 p:---- s:0058 b:0058 l:000057 d:000057 FINISH
c:0017 p:0025 s:0056 b:0056 l:000044 d:000055 BLOCK  /var/lib/gems/1.9.1/gems/hallon-0.18.1/lib/hallon/session.rb:168
c:0016 p:---- s:0053 b:0053 SEGV received in SEGV handler
Aborted

If it helps, this is on a Raspberry Pi board running "Soft-Float Raspbian Wheezy". I'm running Ruby ruby 1.9.3p194. I installed the libspotify gem, but after I encountered this issue I also compiled C libspotify by hand following your guide. There was no difference (although your Ruby libspotify might favor it's own binary libspotify over the one I compiled – I did not dive into the source to check this).

Do you have any idea what's going on or hints as to where I might look to get this working?

JRuby on Mac OS does not have a gem release

Gem.platforms.map(&:to_s) # => ["ruby", "universal-java-1.6"]`

arch becomes universal, OS becomes java. universal-darwin won’t match this platform, so ruby-specific version is installed instead.

Support for ARM (e.g. raspberry pi)

Unfortunately, rubygems does not support ARM in any way.

  • arm-linux platform won’t install on raspberry pi, since it does not match the platform (armv6t) exactly.

    pi@raspberrypi:pi$ gem install platform-tests -v 1.0.0
    ERROR:  Could not find a valid gem 'platform-tests' (= 1.0.0), here is why:
        Found platform-tests (1.0.0), but was for platforms i686-linux ,arm-linux ,x86_64-linux
    
  • armv6t-linux platform is too specific; letters may change, version may change, or neither of them might be present. There are too many variations.

  • universal-linux will install on raspberry pi, but also on all 32-bit and 64-bit linuxes, forcing us to include the distribution for 32bit, 64bit, and arm in the same gem (whereas currently we have 32bit and 64bit separate).

The pure-ruby gem works for now, so ARM users can install libspotify manually, meaning there is no immediate need. Just convenient.

Installing libspotify on Windows Server 2008 R2

Hi there,

The install of libspotify is failing on Windows Server 2008 R2 (64-bit/SP1).

Here's the powershell output:

$> gem install libspotify
Binary libspotify gem could not be installed. You will need to install libspotify separately.
If you are on ARM (e.g. Raspberry PI), you might want to install the gem with explicit --platform:
$> gem install libspotify --platform arm-linux
Successfully installed libspotify-12.1.51.4
Parsing documentation for libspotify-12.1.51.4
Installing ri documentation for libspotify-12.1.51.4
Done installing documentation for libspotify after 0 seconds
1 gem installed

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.