SiriProxy-XBMC
#16
Well, I'll list a couple Smile

Support for movies.

- Pause (my) XBMC
- Update (my) XBMC Library
- I'd like to watch $movie_title/$show_title
- Forward/rewind my movie/show 5 minutes

I'm not using the music side of XBMC all that much, but I can imagine people would love to have support for playlists, artists and albums.

Might be going far to have commands for plugins, but it would be cool to start playing a trailer on youtube of a specific movie.

- Do you have a trailer for $movie_title (Youtube plugin)
- Can you find me a $language subtitle for this movie/show (Subtitle plugin)

I'm sure I can think up more later!
Reply
#17
works for me too, thanks !

my suggestions (I didn't check if all is doable with the JSON API):

- toggle subtitles
- mark as watched
- play/pause/stop/next/previous/
- seek to a particular time
- small/big step back/forward
- mute
- play episode "number" of season "number" of "tvshow"

For music:

- play some "artist name"
- play the album "album"
- play the song "songname"

....
Reply
#18
In the future, when every iOS device will have Siri, this little script of yours will become immensily popular to say the least. When the iPad 3 comes in March/April, I can't wait to use this software with XBMC. So, keep it up Smile
Image
Reply
#19
Installing Siri proxy JUST to get this working! Wish me luck!
Reply
#20
is possible install siri proxy on openelec?
Reply
#21
m0uthless Wrote:is possible install siri proxy on openelec?

No.
Code:
GRANT ALL PRIVILEGES ON `xbmc_%`.* TO 'xbmc'@'%';
IF you have a mysql problem, find one of the 4 dozen threads already open.
Reply
#22
installed on ubuntu virtual machine and work very well!
i hope in future implementation like pause, stop, toggle subtitle, shutdown and reboot

great work brainwave9!
Reply
#23
oh man sweet deal i just got mine working last night think you for this love it
Reply
#24
EDIT: Never assume you're on the latest NIGHTLY build when you've not updated for a couple of months! DURRR!!!! Updated and now works fine.


Tried this over the weekend but got an error when this was being run that causes Siri Proxy to shut down when I issued a play command and it finds the TV show.

XBMC on ATV2: XBMC PRE-11.0 Git 20110623-62171b3

Example of not finding a show:
Code:
[Info - Guzzoni] Received Object: SpeechRecognized
[Info - Plugin Manager] Processing 'Play random words out of my mouth '
[Info - Plugin Manager] Processing plugin #<SiriProxy::Plugin::SiriIMDB:0x9845018>
[Info - Plugin Manager] Processing plugin #<SiriProxy::Plugin::XBMC:0x9b5bcac>
[Info - Plugin Manager] Matches (?i-mx:play (.*))
[Info - Plugin Manager] Applicable states:
[Info - Plugin Manager] Current state:
[Info - Plugin Manager] Matches, executing block
[SiriProxy-XBMC] Connecting to the XBMC interface
[SiriProxy-XBMC] XBMC API Version 3 - Eden
[SiriProxy-XBMC] Finding TV show (API version 3)
[Info - Plugin Manager] Say: Title not found, please try again
[Info - Plugin Manager] Sending Request Completed

An example of what happens when I try to play a show it CAN find:

Code:
[Info - Guzzoni] Received Object: SpeechRecognized
[Info - Plugin Manager] Processing 'Play myth busters '
[Info - Plugin Manager] Processing plugin #<SiriProxy::Plugin::SiriIMDB:0x8f0b114>
[Info - Plugin Manager] Processing plugin #<SiriProxy::Plugin::XBMC:0x9247c9c>
[Info - Plugin Manager] Matches (?i-mx:play (.*))
[Info - Plugin Manager] Applicable states:
[Info - Plugin Manager] Current state:
[Info - Plugin Manager] Matches, executing block
[SiriProxy-XBMC] Connecting to the XBMC interface
[SiriProxy-XBMC] XBMC API Version 3 - Eden
[SiriProxy-XBMC] Finding TV show (API version 3)
[SiriProxy-XBMC] Looking up first unwatched episode (API version 3)
/home/roy/.rvm/gems/ruby-1.9.3-p0@SiriProxy/bundler/gems/SiriProxy-XBMC-acbbee33eb04/lib/xbmc/command.rb:52:in `process_result': undefined method `[]' for nil:NilClass (NoMethodError)
    from /home/admin/.rvm/gems/ruby-1.9.3-p0@SiriProxy/bundler/gems/SiriProxy-XBMC-acbbee33eb04/lib/xbmc/command.rb:15:in `invoke'
    from /home/admin/.rvm/gems/ruby-1.9.3-p0@SiriProxy/bundler/gems/SiriProxy-XBMC-acbbee33eb04/lib/xbmc/command.rb:45:in `block in define_method!'
    from /home/admin/.rvm/gems/ruby-1.9.3-p0@SiriProxy/bundler/gems/SiriProxy-XBMC-acbbee33eb04/lib/xbmc_library.rb:60:in `find_first_unwatched_episode'
    from /home/admin/.rvm/gems/ruby-1.9.3-p0@SiriProxy/bundler/gems/SiriProxy-XBMC-acbbee33eb04/lib/siriproxy-xbmc.rb:57:in `block in <class:XBMC>'
    from /home/admin/.rvm/gems/ruby-1.9.3-p0@SiriProxy/bundler/gems/cora-1edcfb9073d5/lib/cora/plugin.rb:47:in `instance_exec'
    from /home/admin/.rvm/gems/ruby-1.9.3-p0@SiriProxy/bundler/gems/cora-1edcfb9073d5/lib/cora/plugin.rb:47:in `block (2 levels) in process'
zlib(finalizer): the stream was freed prematurely.
zlib(finalizer): the stream was freed prematurely.
Reply
#25
Now that I've got this working I can't imagine living without it!

With three synced XBMC installations though I'd like to have a way of making this work with multiple boxes.

E.g. "play the big bang theory in the living room" or "play the big band theory in the back room"

Where "living room" / "back room" is a name defined next to it's own ip/username/password combination in the config.
Reply
#26
Great to hear your positive feedback everybody!
I'm working on multi room support and playing movies and music.
I'll keep you posted.
Reply
#27
i like the look of this i dont my i phone 4s till march, but look forward to trying this fantastic work so far
Reply
#28
Had this idea last night:

With TV shows I usually have an idea of what I want to watch so the current command of "play the big bang theory" playing the latest episode works great.

However, for movies I often I can't remember the name of the film I'd like to watch so saying "play fast and the furious" is not practical.

The four scenarios / commands I'd like to see added are:

1) I want to watch my most recently added, unwatched, film. Command would be "play latest unwatched movie" which would start the newest unwatched film.

2) I want to play my latest movie which I may have already watched. I do this quite often as I'll buy a film and watch it on my own only to watch the same movie with a friend the next day. Command "play latest movie" would play the latest movie regardless of it's "watched" status.

3) I want to watch a film but have bought a couple over the last month that I've not watched. Ideally I'd like to start with the oldest unwatched film. Command would be "play unwatched movie". Basically starts at the opposite end of the unwatched movie list from command 1.

4) I often find that I don't know what I want to watch so being able to say "play comedy movie" that plays the latest unwatched comedy movie would be good.

It would also be good command 4 had a good fall back response such as "You have no unwatched comedy movies. Play a comedy anyway?"

Thanks for the hard work brainwave9!

EDIT: Oh and if this can all be done while still asking what room I want to play it in, or by stating it in the first instance, that would be amazing! Big Grin
Reply
#29
I would love to help develop this but I can't figure out how to get the "file" path for movies right now. Here is what I have tried:

def find_movie(title)
puts "[#{@appname}] Finding Movie (API version #{$apiVersion["version"]})"
result = ""
title = title.downcase.gsub(/[^0-9A-Za-z]/, '')
if ($apiVersion["version"] == 2)
movies = Xbmc::VideoLibrary.get_movies
else
movies = Xbmc::VideoLibrary.get_movies
end
movies.each { |movie|

#puts "Files: \"#{movie["label"]}\""

movietitle = movie["label"].downcase.gsub(/[^0-9A-Za-z]/, '')
if movietitle.match(title)

puts "[#{@appname}] Found movie: \"#{movie["label"]}\""

return movie
end
}
return result
end

The problem is the only two fields I can retrieve on the movies are "label" and "movieid", but not "file" and therefore I cannot pass the movie to be played. How can I request Xbmc::VideoLibrary.get_movies ( :fields => ["file"] ) properly?

Slowfoxtrot
Reply
#30
A new version is available (v0.1.0).
I added movie playing and multiroom support.
Looking forward to your feedback.
Reply

Logout Mark Read Team Forum Stats Members Help
SiriProxy-XBMC0