vishen / go-chromecast

cli for Google Chromecast, Home devices and Cast Groups
Apache License 2.0
830 stars 80 forks source link

Add command for netflix and youtube to play specific video #4

Open vishen opened 6 years ago

oliverpool commented 6 years ago

Hi,

I've implemented a way to play youtube videos in my library not so long ago, you might want to take a look at it ;-) https://github.com/oliverpool/go-chromecast/blob/master/command/media/youtube/youtube.go

See cast-url for usage example. (cast-remote works also well - not like cast and cast-serve which are broken)

Maybe we could join forces and try to make a robust client/library ? (barnybug declined my proposition)

vishen commented 6 years ago

Hello @oliverpool,

Oh cool, I'll check that out, thanks!

What did you have in mind for a more robust client/library? I have been wanting to re-write the current implementation of this, did you have any other features in mind?

oliverpool commented 6 years ago

What did you have in mind for a more robust client/library?

I've been trying to structure the library following Ben Johnson's Standard Package Layout.

The root has most the the types and interfaces, and the subpackages are implementations of thoses interfaces (using the defined types).

This allows to easily switch a dependency for another (for instance in discovery, mdns and zeroconf are available).

I have been wanting to re-write the current implementation of this, did you have any other features in mind?

I use my cast-remote a lot (to control an ongoing media playback), but maybe it could be improved as well, to add functionalities of your repl command.

I think using cobra (#3) could also be a great learning opportunity for me!

vishen commented 6 years ago

I can see having a more robust library for the chromecast being useful, I am happy to attempt to make this library more robust, or did you want to do it in your repo?

This allows to easily switch a dependency for another (for instance in discovery, mdns and zeroconf are available)

This does sound reasonable enough, and would be useful for discovery implementations and maybe other.

oliverpool commented 6 years ago

I think that currently my repository is quite library organized (but the commands are a bit messy), whereas your repository has nice commands (but not a really a library organization).

I've just granted you push rights on my repo (which is actually a fork of barnybug's work, which is thus acknowledged), but I can also work on yours if you prefer :-)

vishen commented 6 years ago

Yeah, I knew when I was writing it that this wouldn't work for as a library :p

I would be more inclined to have a new repo for the chromecast library, and then our respective go-chromecast clients can just import the library, what do you think?

oliverpool commented 6 years ago

I think having one client located near the main library makes it easier get started for newcomers I guess.

And having a separate client could also force a nice interface for the library.

oliverpool commented 6 years ago

PS: I'm already doing some experiments with cobra: https://github.com/oliverpool/go-chromecast/tree/master/cmd/chromecast :-)