Open Riajyuu opened 7 years ago
1+
It doesnt even has to be direct Rainmeter support, but an basic api for fetching song info (including title, artist, album, cover, progress, position) and some sort of interface where you can send stuff (like position, volume, forward, backward, play/pause, stop and shuffle/repeat) would help other people (like streamers who might show their song to their streamers) too.
If you don't know what Rainmeter is, its pretty much a system monitoring software for your desktop. But it doesn't stop only at monitoring, you can also control media players, write notes etc...
Also you could just implement the CD Art Display standard and then it would work out of the box with Rainmeter and many other programs without the need for any developers to directly make plugins to interface with your API.
I have added a experimental feature to control Dopamine in #482 .
I'll look at it tonight, is there any sort of documentation yet or will I have to figure out it from the commits?
@tjhrulz rainmeter has official developer docs: https://docs.rainmeter.net/developers/
@EMLVIRUS I am a rainmeter plugin developer, I wanted to know about the status of documentation for this new control API for dopamine.
@tjhrulz If you are to create plugins, just check out info from official docs. It should be mostly same. If to create skins, check out here https://docs.rainmeter.net/manual/
@EMLVIRUS Again I am a developer for rainmeter, I know how to make a plugin, I need from @Magentaize if there is documentation on how to use this API so I can bake it into rainmeter.
@tjhrulz Please wait for me to make this api stable first, due to the fact that I use MemoryMap to implement IPC, I must find out a way to keep connection.
Alright, ping me when it has stabilized
@tjhrulz Now you can access this API and I have create a sample here https://github.com/Magentaize/Dopamine-ExternalControl-Support
Did you only make this for C#? Codebase for NowPlaying is C++ so if we were going to integrate with Rainmeter we would have to go standalone or port this to C++ as I know Brian will not allow C# code to go into that plugin.
Are you using C++/CLI?
Essentially. NowPlaying builds out to a .dll file that rainmeter then uses as a measure. I know we could run this code as is in Rainmeter but I know that Brian will not allow C# code within the native NowPlaying plugin and thus I would likely have to build a standalone plugin. That was why I had recommended just adding CD Art Display support as then Rainmeter and other programs would support it without extra work.
I mean, if you're using C++/CLI, you can use managed C++ library not contains any C# code to build a WCF connection with Dopamine.
On Wed, Aug 23, 2017, 11:43 AM Trevor Hamilton notifications@github.com wrote:
Essentially. NowPlaying builds out to a .dll file that rainmeter then uses as a measure. I know we could run this code as is in Rainmeter but I know that Brian will not allow C# code with the native NowPlaying plugin and thus I would likely have to build a standalone plugin. That was why I had recommended just adding CD Art Display support as then Rainmeter and other programs would support it without extra work. I'll talk though to Brian about it.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/digimezzo/Dopamine/issues/252#issuecomment-324212722, or mute the thread https://github.com/notifications/unsubscribe-auth/ALPzmCGkBXWwvV6cBfBhmQg2T6aEQEy2ks5sa5_XgaJpZM4LSxVM .
And I am not sure that they would be okay with integrating that into the native NowPlaying plugin and that is why I said port it to C++ earlier.
Talked to Morley. Firm no. I could make a standalone plugin but I have other projects I am working on at the moment so it will be a while. I still think you implementing CD Art Display would be a better choice as I said before.
You can use it with C++ not only C#. And what is CD Art Display?
On Wed, Aug 23, 2017, 12:34 PM Trevor Hamilton notifications@github.com wrote:
Talked to Morley. Firm no. I could make a standalone plugin but I have other projects I am working on at the moment so it will be a while. I still think you implementing CD Art Display would be a better choice as I said before.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/digimezzo/Dopamine/issues/252#issuecomment-324218474, or mute the thread https://github.com/notifications/unsubscribe-auth/ALPzmHlmkjkA_fGEZ1odmIBVgKzjoUg3ks5sa6vrgaJpZM4LSxVM .
@Magentaize maybe he means to fetch album cover from player.(player should fetch it from metadata)
http://www.cdartdisplay.byethost8.com/?i=1 CD Art display is the standard used by many players and that the CD Art Display devs and Rainmeter devs have worked on getting into as many players as possible.
It is old and its only use anymore really is Rainmeter but it works.
I still do not understand. First, CD Art display is an application not a interface so I cannot implement an application. Second, I have read the source code of NowPlaying and I think it can be down that using C++ to communicate with Dopamine.
It working with now playing is not an issue the issue is getting it approved which as I already said won't happen. That means I make a plugin which will be a bit before I get around to it or you implement the CD Art Display standard which you would see it is a standard if you look around the NowPlaying code or Google for some of our ports for other players you can see how it works.
Documentation died for it a while back so you will have to learn through other ports likely but it's pretty simple.
Ok, I still think they are adapters which can cast any player's interface to rainmeter's interface. But Dopamine provides a more graceful interface which can let you do not need to use complex things like GetWindowText(), SendMessage() and COM.
Yeah and it looks great so you can either wait for me to make an external plugin for rainmeter or implement CD Art Display if you want official support.
Thanks, I'll wait :P
K. Once I finish I'll ping you.
If somebody is rejecting C# because they don't want (at an API level) to pull in the .NET runtime, then they will also object to the .NET runtime version of C++
Hey, how's it coming along? :D
F
@tjhrulz @Magentaize Progress?
@Beshington I don't know the progress of Rainmeter, sorry.
Could you add info/control APIs that are needed for Rainmeter skins?