floere / playa Goto Github PK
View Code? Open in Web Editor NEWWork in progress! Small, does what I needed. Fully searchable. Cool shortcuts. Cmd-tab, tell it something, cmd-tab again.
Work in progress! Small, does what I needed. Fully searchable. Cool shortcuts. Cmd-tab, tell it something, cmd-tab again.
I get told play WARN alsa: can't encode 0-bit Unknown or not applicable
every time I type a character.
> * (all)
play WARN alsa: can't encode 0-bit Unknown or not applicable
> *a (5)
play WARN alsa: can't encode 0-bit Unknown or not applicable
> *al (1)
play WARN alsa: can't encode 0-bit Unknown or not applicable
> *all (1)
play WARN alsa: can't encode 0-bit Unknown or not applicable
Doesn't seem to actually cause anything bad to happen, but just for what it's worth...
It would be nice if you could just run $playa music/
and then playa recursively searches the subdirectories of music and plays them.
Basically, multiple songs start playing simultaneously. I'm not sure exactly what causes it, but it seems to happen a lot.
I'll try and figure out how to reproduce it. For now, here is notification!
Florian you mentioned it to me and now I've encountered it. Playa fails to load all my music files at once, and I get the error I believe you referred to:
$ ./playa '/media/backup2/music/**/**/*.mp3'
/home/oadams/playa/lib/playa/music.rb:63:in `strip': invalid byte sequence in UTF-8 (ArgumentError)
from /home/oadams/playa/lib/playa/music.rb:63:in `block in extract_from'
from /home/oadams/playa/lib/playa/music.rb:56:in `scan'
from /home/oadams/playa/lib/playa/music.rb:56:in `extract_from'
from /home/oadams/playa/lib/playa/music.rb:21:in `load'
from /home/oadams/playa/lib/playa/terminal.rb:20:in `run'
from ./playa:9:in `<main>'
Perhaps I'll learn a bit of ruby at some point and poke about the code.
I've installed all prerequisites and have an itunes compatible ~/Music directory.
$ ./playa
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- picky (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/oadams/playa/lib/playa.rb:1:in `<top (required)>'
from ./playa:6:in `require_relative'
from ./playa:6:in `<main>'
I guessed picky was missing and ran:
$ gem install picky
Now I get the following:
$ ./playa
id3tool: Can't open file "/home/oadams/Music/**/**/**/*.mp3" for read.
No suitable player found: tried afplay, play.
0 songs indexed in 0.0s.
Years
Genres
Keys:
enter -> next song
tab -> toggle repeat one/all
Searches:
* -> all songs
/<genre> -> search only in genre
.<song name> -> search only in song titles
Commands:
index? size?
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- highline/import (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/oadams/playa/lib/playa/terminal.rb:48:in `run'
from ./playa:9:in `<main>'
Looks like there's a few issues here, but it appears as though there are more ruby libraries one needs before playa will work.
Not sure about dot-directories, but this seems to be a fitting spot to save indexes...
If I start the playa and then type the following sequence
Slash - Backspace - Backspace - Backspace
the playa process crashes and leaves an afplay process running and playing music. The complete error is:
/Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/cod-0.5.0/lib/cod/iopair.rb:20:in `write': Broken pipe (Errno::EPIPE)
from /Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/cod-0.5.0/lib/cod/iopair.rb:20:in `write'
from /Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/cod-0.5.0/lib/cod/pipe.rb:108:in `put'
from /Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/cod-0.5.0/lib/cod/bidir_pipe.rb:14:in `put'
from /Users/severin/own/playa/lib/playa/player.rb:110:in `send_child'
from /Users/severin/own/playa/lib/playa/player.rb:93:in `stop'
from /Users/severin/own/playa/lib/playa/player.rb:15:in `block in initialize'
/Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/cod-0.5.0/lib/cod/pipe.rb:124:in `rescue in get': All pipe ends seem to be closed. Reading from this pipe will not return any data. (Cod::ConnectionLost)
from /Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/cod-0.5.0/lib/cod/pipe.rb:119:in `get'
from /Users/severin/own/playa/lib/playa/player.rb:119:in `current_song'
from /Users/severin/own/playa/lib/playa/terminal.rb:64:in `block in execute'
from /Users/severin/own/playa/lib/playa/terminal.rb:63:in `loop'
from /Users/severin/own/playa/lib/playa/terminal.rb:63:in `execute'
from /Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/clamp-0.4.0/lib/clamp/command.rb:66:in `run'
from /Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/clamp-0.4.0/lib/clamp/command.rb:128:in `run'
from bin/playa:8:in `<main>'
/Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/cod-0.5.0/lib/cod/pipe.rb:106:in `put': This channel is read only, attempted write operation. (Cod::ReadOnlyChannel)
from /Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/cod-0.5.0/lib/cod/bidir_pipe.rb:14:in `put'
from /Users/severin/own/playa/lib/playa/player.rb:69:in `block in play'
from /Users/severin/own/playa/lib/playa/player.rb:47:in `fork'
from /Users/severin/own/playa/lib/playa/player.rb:47:in `play'
from /Users/severin/own/playa/lib/playa/terminal.rb:132:in `block in execute'
from /Users/severin/own/playa/lib/playa/terminal.rb:63:in `loop'
from /Users/severin/own/playa/lib/playa/terminal.rb:63:in `execute'
from /Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/clamp-0.4.0/lib/clamp/command.rb:66:in `run'
from /Users/severin/.rvm/gems/ruby-1.9.3-p194/gems/clamp-0.4.0/lib/clamp/command.rb:128:in `run'
from bin/playa:8:in `<main>'
Preferably using the left/right keys.
When I try to load my whole library (14000 tracks), I get the following error:
bin/playa '~/Music/*/*.mp3'
sh: /usr/local/bin/id3tool: Argument list too long
It would be very nice to have the currently played track displayed somewhere in the user interface
Loaded 13 songs in 0.0s.
Indexed songs in 0.0s.
Years
Genres blues
https://gist.github.com/4028814
I'm currently looking into this issue with sox... just putting it here so it doesn't get forgotten.
I pulled 8e910bd, and now I get this error when running playa.
$ playa/bin/playa 'music/**/**/*.mp3'
/home/oadams/playa/lib/playa/search.rb:47:in `directorify': undefined method `gsub!' for nil:NilClass (NoMethodError)
from /home/oadams/playa/lib/playa/search.rb:13:in `initialize'
from /home/oadams/playa/lib/playa/terminal.rb:21:in `new'
from /home/oadams/playa/lib/playa/terminal.rb:21:in `execute'
from /home/oadams/.gem/ruby/1.9.1/gems/clamp-0.4.0/lib/clamp/command.rb:66:in `run'
from /home/oadams/.gem/ruby/1.9.1/gems/clamp-0.4.0/lib/clamp/command.rb:128:in `run'
from playa/bin/playa:8:in `<main>'
For added WIN. And aliasing.
Maybe the space bar?
I'd like to be able to play albums with their tracks in order (not shuffled). This is far and away my #1 use case for any music playing software.
I break too much - this is a prototype, yes, but we need tests.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.