Go Back   Winamp & Shoutcast Forums > Developer Center > Winamp Development

View Poll Results: Do you like this plugin?
Yes 11 57.89%
No 5 26.32%
Haven't tried it yet! 3 15.79%
Voters: 19. You may not vote on this poll

Reply
Thread Tools Search this Thread Display Modes
Old 1st October 2004, 08:43   #1
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
NxS Thinger plugin for Winamp 2.x/5.x

I have created this plugin which gives you a Thinger for Winamp 2.x/5.x series.

Use this only with classic skins as it doesn't work well when using Modern skins, but you shouldn't need to use this plugin in that case since most modern skins have thinger built-in.

It will be published at Winamp.com soon, but until this download from:

Saivert's homepage

Have fun
saivert is offline   Reply With Quote
Old 1st October 2004, 10:46   #2
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
NxS XFade control

I also have a XFade control plugin that makes it easy to change the crossfade duration and switch it on/off.

Here it is:

http://inthegray.com/saivert/winamp-...fade_setup.exe
saivert is offline   Reply With Quote
Old 1st October 2004, 13:16   #3
DrO
 
Join Date: Sep 2003
Posts: 27,873
Re: NxS Thinger plugin for Winamp 2.x/5.x

Quote:
Originally posted by saivert
It will be published at Winamp.com soon
at some point over the weekend it will be reviewed when i've some freetime between work (if it crashes my machine i will hunt you down and... )

-daz
DrO is offline   Reply With Quote
Old 5th October 2004, 07:30   #4
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
Oh... take it ease DrO!!

It's now in Winamp.com's plugin db.

Comments to the comments
Yeah, I know! It could do with some more work on it, but I like it the way it is currently. If someone does have any suggestion, you may post em' here!

You can also post shit on my own message board.
saivert is offline   Reply With Quote
Old 5th October 2004, 08:38   #5
DrO
 
Join Date: Sep 2003
Posts: 27,873
Quote:
Originally posted by saivert
Oh... take it ease DrO!!
funnily enough it wasn't me who reviewed it (i went to do it inbetween setup up my new machine and found it had already been done though who is brendan?!?)

-daz
DrO is offline   Reply With Quote
Old 13th October 2004, 19:39   #6
billyvnilly
Forum King, M.D.
 
billyvnilly's Avatar
 
Join Date: Mar 2004
Location: Detroit burbs
Posts: 3,379
Send a message via ICQ to billyvnilly Send a message via AIM to billyvnilly
is it possible to add other things to this thinger?

i would really like to see Dynamic Library and Album List, perhaps one of the better lyrics plugins. (mostly DL though)
billyvnilly is offline   Reply With Quote
Old 19th October 2004, 09:54   #7
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
This should be possible. I'm working on an external API that can be used by other plugins in the same way that the Global Hotkeys plugin API work.

I'm going to upload a new version of NxS Thinger soon which will have this implemented. Since the icons are currently standard STATIC controls, I must rewrite the entire plugin to handle any number of icons, and finally let the arrow buttons do something.

I have an intermediate update available now at my winamp-plugins section which have better looking icons and some other fixes (but no API yet):

http://www.inthegray.com/saivert/winamp-plugins/

This is also uploaded to Winamp.com:
http://www.winamp.com/plugins/details.php?id=143015
saivert is offline   Reply With Quote
Old 3rd November 2004, 08:19   #8
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
I'm going to upload a new version of NxS Thinger soon. It will have these features:
code:

- Message API for adding new icons.
- Scrollable view.
- Capacity: Logically sizeof(int) icons max
- All icons have two states: Highlight and no-highlight.
- ??

saivert is offline   Reply With Quote
Old 12th November 2004, 09:08   #9
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
The new version is now uploaded to Winamp.com and can also be downloaded from my homepage.

Other plugin authors can now add new icons to the Thinger by using the included C header file ("NxSThingerAPI.h").
saivert is offline   Reply With Quote
Old 16th November 2004, 12:06   #10
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
New version of XFade Dlg out now. Version 0.61. Submitted to Winamp.com, but in the meanwhile download at:

http://www.inthegray.com/saivert/winamp-plugins/
saivert is offline   Reply With Quote
Old 16th November 2004, 18:51   #11
d3x7r0
Senior Member
 
d3x7r0's Avatar
 
Join Date: Jun 2004
Location: Lisbon, Portugal
Posts: 380
Send a message via Skype™ to d3x7r0
This is a nice idea, I can't see any reasons for people still using thd dead Winamp3 to continue using it if this plugin turns out good

Keep up the good work

EDIT: Just tried the new version and...


...OMFG IT'S ALMOST PERFECT

Now all we need is DrO's PLEX to complete the WA3 improvments

Still I believe you still have at least one thing to do: the sliding of the thinger should stop while only showing the last item, currently it keeps groing without hitting a limit if I'm not wrong.

Another thing you could do was to try to make the thinger colours vary acourding to the skins playlist colors. Don't know if this is possible but it would make it perfect (my blue crystal pengium skin doesn't go well with black and green )

Anyway keep up the great work

NOTE: I am Dextro!
d3x7r0 is offline   Reply With Quote
Old 27th November 2004, 01:44   #12
Lion12
Senior Member
 
Lion12's Avatar
 
Join Date: Nov 2004
Location: Germany Markings: The Cheshire Cat
Posts: 168
Is it possible to have a thinger at least for JTFE, DL and Albumlist (maybe some more)? If this is possible this plugin is useful (and I would be really happy )
Otherwise its not really a pro to have just another window taking space of screen.

Edit: Its not up to me to add icons to thinger, is it - developer of plugins have to do this???
Lion12 is offline   Reply With Quote
Old 27th November 2004, 02:01   #13
DrO
 
Join Date: Sep 2003
Posts: 27,873
Quote:
Originally posted by Lion12
Its not up to me to add icons to thinger, is it - developer of plugins have to do this???
the plugin developers have to do this

-daz
DrO is offline   Reply With Quote
Old 27th November 2004, 11:19   #14
Lion12
Senior Member
 
Lion12's Avatar
 
Join Date: Nov 2004
Location: Germany Markings: The Cheshire Cat
Posts: 168
Quote:
Originally posted by DrO
the plugin developers have to do this

-daz
Haha, ok and will they do so?
Lion12 is offline   Reply With Quote
Old 27th November 2004, 17:48   #15
Lion12
Senior Member
 
Lion12's Avatar
 
Join Date: Nov 2004
Location: Germany Markings: The Cheshire Cat
Posts: 168
ref jtf:
maybe this is an idea for a jtfe icon
Attached Files
File Type: zip icons_jtfe.zip (1.3 KB, 230 views)
Lion12 is offline   Reply With Quote
Old 29th November 2004, 07:15   #16
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
I have currently implemented an API you can use to add icons to the thinger. You should have got a file called "NxSThingerAPI.h" when you installed NxS Thinger control. Using this header you can set up a structure and call SendMessage a couple of times and there you go....

There is also a new version of thinger out (version 0.5). Fetch it at: http://inthegray.com/saivert/winamp-plugins/
saivert is offline   Reply With Quote
Old 29th November 2004, 12:53   #17
DrO
 
Join Date: Sep 2003
Posts: 27,873
Quote:
Originally posted by Lion12
ref jtf:
maybe this is an idea for a jtfe icon
not bad i can't look at adding support for this to jtfe for a while due to work on other things but as long as the api in thinger is going to remain constant for the adding then i'm happy to add support in (and i won't mention about the bloat of adding in icons to the dll just for now )

-daz
DrO is offline   Reply With Quote
Old 29th November 2004, 17:58   #18
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
Quote:
Originally posted by saivert
I have currently implemented an API you can use to add icons to the thinger. You should have got a file called "NxSThingerAPI.h" when you installed NxS Thinger control. Using this header you can set up a structure and call SendMessage a couple of times and there you go....

There is also a new version of thinger out (version 0.5). Fetch it at: http://inthegray.com/saivert/winamp-plugins/
I was trying to delete an icon that was added previously but it is not working, after looking at the source code, it appears the implementation is different from the documentation for DELETE and MODIFY ...

in the code, it uses the uIconId that's passed in by the ADD, in the documentation, it appears to be using the return value of the ADD api... which way is it supposed to be?
Safai is offline   Reply With Quote
Old 30th November 2004, 18:45   #19
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Two things...

I can't seem to add Dynamic Library as an icon...I dunno what I'm doing wrong...I use PostMessage for a function in my init()...you can see the code in the attached file that get called in the message queue.

Also...when I debugged I noticed that when you quit Winamp gen_thinger.dll seems to cause an exception...I thought it was something I did first but it happened whether I did anything associated with Thinger or not...

.NET said
HEAP[winamp.exe]: Invalid Address specified to RtlFreeHeap( 00150000, 001D17C8 )
Unhandled exception at 0x7c901230 in winamp.exe: User breakpoint.

It only occurs when gen_thinger is loaded and only when in debug mode...you can just continue but still seems like a good idea to fix?
you might have a look at it and see if it's only me

/Joonas
Attached Files
File Type: txt thinger.txt (643 Bytes, 228 views)
Joonas is offline   Reply With Quote
Old 30th November 2004, 19:15   #20
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
i got that exception too...

and to your problem... you need the BITMAP flag if you're using bitmaps... and it is probably a good idea to include the highlight bitmap too...

ntis.dwFlags = NTIS_ADD | NTIS_BITMAP

here is what i got... apart from the DELETE confusion i have stated above...

http://img.photobucket.com/albums/10...NxSThinger.jpg
Safai is offline   Reply With Quote
Old 30th November 2004, 19:49   #21
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Adding that flag and highlight bitmap did nothing...still don't get an icon in thinger

Thinger also seems to dislike modern skins...it's too big and the preferences box is too small...

/Joonas
Joonas is offline   Reply With Quote
Old 30th November 2004, 20:04   #22
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
in that case, maybe you're doing it too early... i think i did a PostMessage in init and do the stuff to add the thinger icon when i receive that 'post' message...

also my ntis is a member variable of my class... donno if that makes any difference...

and make sure you use at least v0.4 of the thinger...

oh... yeah... it doesn't work too well with modern skins...
Safai is offline   Reply With Quote
Old 30th November 2004, 20:48   #23
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Well nothing seems to work...I am too calling it after a PostMessage in init()...

Maybe saivert can add some light what I'm doing wrong

Also...in modern skins Thinger seems to be hooked to the same IPC as Media Library or something...cause it pops up together with Thinger...also I couldn't close Thinger...

/Joonas
Joonas is offline   Reply With Quote
Old 30th November 2004, 21:04   #24
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
do you have a test build somewhere? maybe i can try it out on my computer...
Safai is offline   Reply With Quote
Old 30th November 2004, 21:12   #25
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
The beta tries to add an icon...

/Joonas
Joonas is offline   Reply With Quote
Old 30th November 2004, 21:38   #26
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
okay... figured out what's wrong...

ntis.hWnd cannot be NULL... put a real window there... and it should work...



as for the exception... i changed 2 things... in iconlist.c

change the for loop to a while loop...

PHP Code:
void IconList_Free(void) {
    if (
pList) {
        
/* Delete and free all icons */
        
int i;
        while (
pList->listsize) {
            
IconList_Del(0);
        }

        
/* Free list */
        
HeapFree(GetProcessHeap(), 0pList->listptr);
        
/* Free list structure itself */
        
HeapFree(GetProcessHeap(), 0pList);
    }

changed pList->listsize to idx

PHP Code:
void IconList_Del(int idx)
{
[
snip]
        
//Free NxSThingerIconStruct
        
HeapFree(GetProcessHeap(), 0pList->listptr[idx]);

[
snip]

Safai is offline   Reply With Quote
Old 30th November 2004, 21:40   #27
billyvnilly
Forum King, M.D.
 
billyvnilly's Avatar
 
Join Date: Mar 2004
Location: Detroit burbs
Posts: 3,379
Send a message via ICQ to billyvnilly Send a message via AIM to billyvnilly
Quote:
Also...in modern skins Thinger seems to be hooked to the same IPC as Media Library or something
same in classic skin. whenever i open up thinger, ML opens.

Last edited by billyvnilly; 30th November 2004 at 23:34.
billyvnilly is offline   Reply With Quote
Old 30th November 2004, 21:45   #28
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
forgot to include the attachment...
Attached Images
File Type: jpg dlicon.jpg (11.7 KB, 301 views)
Safai is offline   Reply With Quote
Old 30th November 2004, 22:39   #29
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Safai..you're a genius Or at least a very patient person who has the time to parse code to find bugs

When adding a valid hwnd it worked fine...

Thanks!

/Joonas
Joonas is offline   Reply With Quote
Old 30th November 2004, 22:42   #30
DrO
 
Join Date: Sep 2003
Posts: 27,873
Quote:
Originally posted by Joonas
When adding a valid hwnd it worked fine...
doh!

-daz
DrO is offline   Reply With Quote
Old 30th November 2004, 22:44   #31
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Quote:
Originally posted by DrO
doh!

-daz
Well the documentation claimed NULL would imply Winamp... :/

[snip]
HWND hWnd; /* Set to NULL to send to Winamp */
[/snip]

/Joonas
Joonas is offline   Reply With Quote
Old 30th November 2004, 22:54   #32
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
yeah, NULL is supposed to work... guess that is not implemented yet...

debugging other people's code is fun...
Safai is offline   Reply With Quote
Old 1st December 2004, 10:05   #33
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
Sorry for being away!

Thanks
Umm!! Thanks for fixing my code. See how nice it was to include the source?? Well If you got the updated Thinger, maybe send the updated source to me so I can take a look at it.

About problems
I have tested NxS Thinger on several computers (all running Windows XP and same version of Winamp with a classic skin) without any problems.

About the code problems
When you add an icon using my API you will get an index value in return. Use this when deleting icons. Sorry for the bugs! Safai has fixed it though.

About ML appearing together with Thinger
I have subclassed Winamp in order to catch the message sent when people click the Winamp lightning bolt. I have to make sure I'm the first one to get this message. It seems like this on my own comouter, but you guys may have a different load order for the general purpose plugins. Since ML is a plugin it may be called first and then Thinger gets the message. Thats why they both appear when you click the lightning bolt. Sorry! Should fix that!

Thinger is for Classic skins only
I made the Thinger control for use with Classic skins only. It does show up in modern skins too, but then it has two major bugs:
1. I can't seem to resize the modern window to be smaller than it's internal size limit, but when I'm using a classic skin I can make it smaller. How do you hack into the moderns skin frame windows to make it smaller?
2. And when you try to close the Thinger window under a Modern skin it will simply reappear. Hope someone can answer this.

So for now: Use classic skins!
saivert is offline   Reply With Quote
Old 1st December 2004, 11:11   #34
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Re: Sorry for being away!

Quote:
Originally posted by saivert

About ML appearing together with Thinger
I have subclassed Winamp in order to catch the message sent when people click the Winamp lightning bolt. I have to make sure I'm the first one to get this message. It seems like this on my own comouter, but you guys may have a different load order for the general purpose plugins. Since ML is a plugin it may be called first and then Thinger gets the message. Thats why they both appear when you click the lightning bolt. Sorry! Should fix that!
This is really a problem. DL also wants to catch the lightning-bolt and Media Library and probably other plugins as well...a shame you (people in general) can't guarantee which one gets called

Quote:
Thinger is for Classic skins only
I made the Thinger control for use with Classic skins only. It does show up in modern skins too, but then it has two major bugs:
1. I can't seem to resize the modern window to be smaller than it's internal size limit, but when I'm using a classic skin I can make it smaller. How do you hack into the moderns skin frame windows to make it smaller?
2. And when you try to close the Thinger window under a Modern skin it will simply reappear. Hope someone can answer this.

So for now: Use classic skins! [/B]
That's not a problem. I only use classic myself, only noticed it when debugging DL...

/Joonas
Joonas is offline   Reply With Quote
Old 1st December 2004, 15:30   #35
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
Re: Sorry for being away!

Quote:
Originally posted by saivert
Thanks
Umm!! Thanks for fixing my code. See how nice it was to include the source?? Well If you got the updated Thinger, maybe send the updated source to me so I can take a look at it.
i'll do that tonight when i get home...

btw, source for AL2 is posted on sourceforge if you guys are interested...

Quote:
Originally posted by saivert
About the code problems
When you add an icon using my API you will get an index value in return. Use this when deleting icons. Sorry for the bugs! Safai has fixed it though.
hmm... okay... maybe i'll fix that too while i'm at it... i haven't change that part yet since i don't know what the behaviour is supposed to be... right now, i'm passing in an ID with the ADD call which works...
Safai is offline   Reply With Quote
Old 1st December 2004, 21:57   #36
Lion12
Senior Member
 
Lion12's Avatar
 
Join Date: Nov 2004
Location: Germany Markings: The Cheshire Cat
Posts: 168
icons fixed
Attached Files
File Type: zip icons.zip (7.4 KB, 222 views)
Lion12 is offline   Reply With Quote
Old 1st December 2004, 22:03   #37
DrO
 
Join Date: Sep 2003
Posts: 27,873
*cough*

-daz
DrO is offline   Reply With Quote
Old 2nd December 2004, 05:10   #38
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
changed source...

iconlist.c
* fixed exception in IconList_Del & IconList_Free
* changed IconList_Add to properly update uIconId

thinger.c
* support NULL as the hwnd for NTIS_ADD
Attached Files
File Type: zip nxs thinger v0.5 source.zip (8.1 KB, 228 views)
Safai is offline   Reply With Quote
Old 2nd December 2004, 07:31   #39
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
!! Update !!

I have merged your changes with the rest, and uploaded a new version (0.51) with the bug fixes applied.


The Winamp.com team may take some time reviewing it, so in the meantime, download it from:

gen_thinger_setup.exe

Here's the "What's New?":[list=1][*]Bug fixes by Safai! :-)[*]No more infinite scroll when clicking the right scroll button.[/list=1]

Last edited by saivert; 2nd December 2004 at 07:50.
saivert is offline   Reply With Quote
Old 2nd December 2004, 09:12   #40
DrO
 
Join Date: Sep 2003
Posts: 27,873
Re: !! Update !!

Quote:
Originally posted by saivert
The Winamp.com team may take some time reviewing it
you'll be waiting some time since when i checked on the weekend the whole submission/review system was borked and it's been like that for a while now

-daz
DrO is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > Winamp Development

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump