widget work...but [Archive] - Quintessential Forum

PDA

View Full Version : widget work...but


durango99
05-26-2005, 04:27 AM
Hi,

I'm a happy user of QCD and have been toying with the idea to create a kapsule widget to have rudimentary control of qcd. i'm interested in using the native vbscript language that kapsule uses to do this.

however, i'm not aware of any wrapper dll to allow this. i'm curious if you have any information on how to do this or know of anyone who has created such a thing.

i appreciate any help and thanks for a great player

biggman15
05-26-2005, 04:39 AM
Hi,

I'm a happy user of QCD and have been toying with the idea to create a kapsule widget to have rudimentary control of qcd. i'm interested in using the native vbscript language that kapsule uses to do this.

however, i'm not aware of any wrapper dll to allow this. i'm curious if you have any information on how to do this or know of anyone who has created such a thing.

i appreciate any help and thanks for a great player

What is Kapsule???? Is it another DesktopX or Konfabulator???
If so Is it Free????? And where is it located???

philipptr
05-26-2005, 06:52 AM
What is Kapsule???? Is it another DesktopX or Konfabulator???
If so Is it Free????? And where is it located???
[ O_o ] (http://www.google.com/search?hl=en&q=Kapsule&btnG=Google+Search)

biggman15
05-26-2005, 07:35 AM
I think This is what He's talking About.... But I'm not about to Install DotNet to Run it....
http://kapsules.shellscape.org/

durango99
05-29-2005, 01:27 AM
nevermind on this request.

i've created my own dll wrapper using winamp 2 api calls which works with qcd. i've completed a simple kapsules widget using this.

i'm still at a loss as to how to get the current track name in qcd.

i was hoping to get some input from the qcd community but i assume people are busy.

thanks anyway.

madjo
05-29-2005, 10:34 AM
hmm you could try the same controls as is used for Winamp..
because currently I have for Samurize (a similar widget environment, but then free of charge) a "what am I listening to" thingamajig, and although it is capable of showing QCD info, I let it run in Winamp mode, because then I also have more control over the output, and that one shows the trackname and title just fine. (even the progress in the song gets shown)

durango99
05-29-2005, 12:32 PM
hmm you could try the same controls as is used for Winamp..
because currently I have for Samurize (a similar widget environment, but then free of charge) a "what am I listening to" thingamajig, and although it is capable of showing QCD info, I let it run in Winamp mode, because then I also have more control over the output, and that one shows the trackname and title just fine. (even the progress in the song gets shown)

madjo,

thanks so much for the reply and the tip! i'll have to look at the samurize widget you are talking about and see if I can find out how they are getting the trackname/title. there isn't a direct api call to get the title that i've able to find. the code that i've seen is winamp specific and involved pulling the window title to get the current track.

otherwise, all other functions (volume, track progress, etc) i'm able to control using winamp 2 api calls that i found.

btw, kapsules is also a free widget based application - competing with konfabulator.

thanks again

Tokelil
05-29-2005, 04:19 PM
I guess you tried with: WM_QCD_GETTITLE and found it not working? I seem to remember that coming up before...

Anyway you should be able to do it through Winamp commands if it has one.

Getting the title from the PlayerCanvas shouldn't be a big problem:
if (hwndPlayer = FindWindow("PlayerCanvas", 0)) {
if (GetWindowText(hwndPlayer, strSongInfo, 256))

durango99
06-11-2005, 05:19 PM
I guess you tried with: WM_QCD_GETTITLE and found it not working? I seem to remember that coming up before...

Anyway you should be able to do it through Winamp commands if it has one.

Getting the title from the PlayerCanvas shouldn't be a big problem:
if (hwndPlayer = FindWindow("PlayerCanvas", 0)) {
if (GetWindowText(hwndPlayer, strSongInfo, 256))

thanks tokelil for the hint. i looked through the devzone pdk and found the information just as you have written.

in looking at the general plugin pdk code, i don't see a way to return the volume - only increasing or decreasing the volume. In the winamp api calls there's a undocumented call to return the volume setting. unfortunately, this method is not usable in qcd... any ideas?

any ideas or help appreciated...thanks so much

Tokelil
06-11-2005, 06:19 PM
It looks like QCD doesn't support a way to get the volume through SendMessage. If you get a Service function to QCD you could do it with opGetVolume.

I can't figure out how to get a service func though. It crashes for me somewhere with no debug info, so maybe it crashes in QCD's memory space.

PluginServiceFunc Service = NULL;

if (hwndPlayer = FindWindow("PlayerCanvas", 0)) {
Service = (PluginServiceFunc)SendMessage(hwndPlayer, WM_GETSERVICEFUNC, 0, 0);
if (Service) {
long n = Service(opGetPlayerVersion, 0, 0, 0);
printf("%p", Service);
}
}
Unfortunally it crashes on the opGetPlayerVersion line... :( I haven't heard Paul what he think is wrong though, since I haven't had anything to use it for yet.

Paul
06-11-2005, 08:16 PM
You can't use WM_GETSERVICEFUNC outside of QCD, since it returns a function pointer.
I'll also add a msg to get the volume, but that doesnt help for anything current.

durango99
06-11-2005, 11:14 PM
You can't use WM_GETSERVICEFUNC outside of QCD, since it returns a function pointer.
I'll also add a msg to get the volume, but that doesnt help for anything current.

thank tokelil and paul for the information and the help. For now, I'll have to wait for a future version to address the volume setting.