Old 29th August 2004, 14:42   #801
DrO
 
Join Date: Sep 2003
Posts: 27,873
is a wierd one since i thought it strange that the headers weren't being drawn as well (since using my skinned prefs plugin on dl worked fine).

i guess that'll teach me to look at other people's plugins to see how they are coming along

-daz
DrO is offline  
Old 29th August 2004, 14:53   #802
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
DrO: how are you actually drawing in your plugins? You and me both use pure Win32 right? To do the drawing I have to do this:

case NM_COOLSB_CUSTOMDRAW:
{
SetWindowLong(hwndDlg, DWL_MSGRESULT, (long) DrawCustomScrollBar(lParam));

return true;
}

You do the same?

[edit]
This is for the scrollbars but it's the same for the headers...
[/edit]

/Joonas
Joonas is offline  
Old 29th August 2004, 16:53   #803
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Really strange...if I play around and leave the skinned scrollbars they aren't drawn at all in Windows 2000...

Safai: if you read this...the whole thing works in your Album list in Windows 2000...any input on what might be causing it?

/Joonas
Joonas is offline  
Old 29th August 2004, 17:45   #804
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
without knowing your source code, it could be tough... but... here is something you can check...

you know that SetWindowLong DWL_MSGRESULT thing, that should only be used on a 'dialog', if you're subclassing a 'window' (like a list control), you just return the result.
Safai is offline  
Old 29th August 2004, 20:23   #805
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
I found the reason for the scrollbar bug...I accidently had some left-over code that specified flat scrollbars...but the listview headers are still not being ownerdrawn..will look more into that tomorrow when we'll hopefully get a new release with a fix to the Play button too.

/Joonas
Joonas is offline  
Old 29th August 2004, 21:01   #806
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
* all bugs fixed (mentioned above that is )

This version: 0.9.3.0

/Joonas
Joonas is offline  
Old 30th August 2004, 00:38   #807
DrO
 
Join Date: Sep 2003
Posts: 27,873
Quote:
Originally posted by Joonas
* all bugs fixed (mentioned above that is )

This version: 0.9.3.0

/Joonas
confirmed and working fine here (went out so didn't see the earlier posts about the issue). there is one thing though. Look at the vertical scrollbars and the circled areas - that doesn't happen with the ml

http://www.daz.ne1.net/pics/dl_bug2.png

[edit]
just covered part of the scrollbars with another window and when bringing winamp/dl back to be the active app the original scrollbar was shown for the part which had been covered by the other window clicking on them will update them to display correctly. also noticed when holding down the scroll buttons for the treeview that it will resort to the windows style scrollbar (only happens if the scrollbar can be moved by the operation)
[/edit]

-daz
DrO is offline  
Old 30th August 2004, 03:50   #808
Inzane
Junior Member
 
Join Date: Aug 2004
Posts: 3
Regarding the songs deleting in the playlist when you add a new root playlist: I'm getting the same issue on my two older computers (one is a 366MHZ with 128 MB RAM, and the other is a 450 MGHZ with with 192MB RAM) but not my newer one (1.8GHZ, 1GB RAM). All are running XP. There isn't really any difference between the setups of the machines. I'm running Winamp 5.01 Pro with DL 0.9.2.7. When I add a playlist through the DL and either drag and drop or "send to" songs to the playlist the playlist looks fine. When I add new playlist, the songs in the old playlist disappear. Can anyone else duplicate this on one of their machines? Is there a memory, processor speed dependance somehow? Thanks, Zane
Inzane is offline  
Old 30th August 2004, 08:26   #809
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
If you code an ML plug-in you have access to skinning API that exists in the ML interface. This will automatically skin the scoll-bars and headers that exists on you ML page dialog.
Why not allow access to this from outside the ML world, like in a general purpose plug-in.
Maybe move this code from gen_ml into Winamp's core itself.
Would make skinning a lot easier for us coders.

Do ya hear me Nullsoft!!!

Excerpt from ml.h

#define ML_IPC_SKIN_LISTVIEW 0x0500 // pass the hwnd of your listview. returns a handle to use with ML_IPC_UNSKIN_LISTVIEW
#define ML_IPC_UNSKIN_LISTVIEW 0x0501 // pass the handle you got from ML_IPC_SKIN_LISTVIEW
#define ML_IPC_LISTVIEW_UPDATE 0x0502 // pass the handle you got from ML_IPC_SKIN_LISTVIEW
#define ML_IPC_LISTVIEW_DISABLEHSCROLL 0x0503 // pass the handle you got from ML_IPC_SKIN_LISTVIEW

#define ML_IPC_SKIN_COMBOBOX 0x0508 // pass the hwnd of your combobox to skin, returns a ahndle to use with ML_IPC_UNSKIN_COMBOBOX
#define ML_IPC_UNSKIN_COMBOBOX 0x0509 // pass the handle from ML_IPC_SKIN_COMBOBOX


#define ML_IPC_SKIN_WADLG_GETFUNC 0x0600
// 1: return int (*WADlg_getColor)(int idx); // pass this an index, returns a RGB value (passing 0 or > 3 returns NULL)
// 2: return int (*WADlg_handleDialogMsgs)(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
// 3: return void (*WADlg_DrawChildWindowBorders)(HWND hwndDlg, int *tab, int tabsize); // each entry in tab would be the id | DCW_*
// 32: return void (*childresize_init)(HWND hwndDlg, ChildWndResizeItem *list, int num);
// 33: return void (*childresize_resize)(HWND hwndDlg, ChildWndResizeItem *list, int num);
// 66: return (HFONT) font to use for dialog elements, if desired (0 otherwise)

saivert is offline  
Old 30th August 2004, 09:56   #810
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Totally agree. Would also make filesize of skinned plugins smaller and hopefully generally make them less likely to contain bugs.

/Joonas
Joonas is offline  
Old 30th August 2004, 11:36   #811
DrO
 
Join Date: Sep 2003
Posts: 27,873
saivert: unlikely to happen (moving into the winamp core) from what i know of speaking to the devs (as things currently stand)

-daz
DrO is offline  
Old 30th August 2004, 13:44   #812
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
Oki dokey!
But by creating a more robust and widespread skin engine in Winamp's core, all plug-in development would be as Joonas implied, less prone to errors. And since skin code was inside Winamp, then this code would be removed from all plug-ins.

I love Winamp 3 and it's WACS which used Winamp 3's framework to create windows and controls.
saivert is offline  
Old 30th August 2004, 16:11   #813
DrO
 
Join Date: Sep 2003
Posts: 27,873
i can understand the use of having the ability built into the core for all aspects (ie the scrollbars, etc) which is why i started work on my skinned prefs plugin which has grown to doing any window related to the winamp process.

i've aired my views on certain aspects such as making the access to the winamp playlist and getting the selected items being made easier to do but nothing has ever come from it but that's Winamp for you (and that's considering i'm part involved with development so 'Do ya hear me Nullsoft!!!' ain't gonna do all that much)

as it is, we just have to work with things as they are and make the best that can be done

-daz
DrO is offline  
Old 30th August 2004, 16:19   #814
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
Quote:
Originally posted by DrO
as it is, we just have to work with things as they are and make the best that can be done

-daz
sorry for going off topic... any chance we'll get a copy of ff_ipc.h that is mentioned in wa_ipc.h?

Quote:
// IPC 2000-3000 reserved for freeform messages, see gen_ff/ff_ipc.h
#define IPC_FF_FIRST 2000
#define IPC_FF_LAST 3000
Safai is offline  
Old 30th August 2004, 17:43   #815
DrO
 
Join Date: Sep 2003
Posts: 27,873
Safai: the simple answer is no. that range was allocated but as i found out recently there aren't any apis that can be called since none were ever exported via the SendMessage method.

There is a way to get to the basic part of the wasabi api that i know off so (and potentially most aspects of what is in gen_ff since it's a hacked up version of the original wasabi.dll) so you can alter window placements, etc. How to do that along with the callbacks are the next things on my documentation todo list (at times i really need to clone myself ) The wasabi stuff is only accessible when a modern skin is in use.

-daz
DrO is offline  
Old 31st August 2004, 10:58   #816
saivert
Banned
 
saivert's Avatar
 
Join Date: Jan 2001
Location: Norway
Posts: 927
About how to get selected items in playlist:
Are you massively hacking Winamp in order to achieve this in JTFE??
I have tried the stuff in "ipc_pe.h",
but that only gives me the item under the mouse cursor. This can be used if I wanna get the item which is right-clicked (by logging the position prior to context-menu displaying).
But what is actually used in JTFE. Is it your little secret or something???
saivert is offline  
Old 31st August 2004, 11:56   #817
Kebabrov
Senior Member
 
Join Date: Jul 2004
Posts: 175
joonas...

i found another bug relating to similarly named folders (or the old bug has resurfaced somehow).

When double click a tree node, it also adds the similarly named folder to the playlist aswell.

e.g.
Root
-Drum n Bass Arena
--CD1
--CD2
--CD3
-Drum n Bass Arena (Andy C)

When double clicking DnB Arena, it also adds the DnB Arena (Andy C) folder, since it starts with the same string as DnB Arena.

I remember you fixing this for the files displayed in the tree view, but it still exists for adding treenodes to the playlist.
Kebabrov is offline  
Old 31st August 2004, 13:30   #818
DrO
 
Join Date: Sep 2003
Posts: 27,873
Quote:
Originally posted by saivert
About how to get selected items in playlist:
Are you massively hacking Winamp in order to achieve this in JTFE??
I have tried the stuff in "ipc_pe.h",
but that only gives me the item under the mouse cursor. This can be used if I wanna get the item which is right-clicked (by logging the position prior to context-menu displaying).
But what is actually used in JTFE. Is it your little secret or something???
hacking is a word that could be used. basically it involves SetWindowsHookEx(), subclassing and noticing something funny about one of the winamp dialogs. The code is available but i'm not posting a link to it since i need to update my online copy of it due to some fixes made last night.

now really should get back onto topic with this thread i think...

-daz
DrO is offline  
Old 31st August 2004, 17:15   #819
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
* Think the enqueue is fixed now.

This version: 0.9.3.1

/Joonas
Joonas is offline  
Old 31st August 2004, 17:53   #820
Kebabrov
Senior Member
 
Join Date: Jul 2004
Posts: 175
yup, fixed
Kebabrov is offline  
Old 31st August 2004, 19:06   #821
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
I've tried a little thing that I would like you to try. Hopefully it means that the first scanning of roots (that usually is the slowest) will be in a separate root meaning that Winamp won't be locked while DL loads.

Does it work? Any good? Comment!

This version: 0.9.3.2

/Joonas
Joonas is offline  
Old 31st August 2004, 19:19   #822
Kebabrov
Senior Member
 
Join Date: Jul 2004
Posts: 175
woah!!! what an improvement!

I'm liking this very much

I only have 1 root, and it loaded pretty quickly.. so quick i didnt even have time to press something to see if it would crash. Windows has probably cached the contents of the folder for the moment: its even quicker now, so I cant test it thoroughly.

Gimme a few days
Kebabrov is offline  
Old 31st August 2004, 20:30   #823
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:
Originally posted by Joonas
Yes it's [referring to...] a great idea...but it would require tons of re-coding...*yawn* Is it really annoying? I only have 2000 mp3s and it takes about 1 second to scan so I haven't thought about it...sorry

/Joonas
it was worth it, thanks again...it does work very well for me (and uno how touchy me comp is!)

..::Some ideas::..

feature requests/questions
1. is there some way to hide DL, because even w/ speedy 2nd reading it will still take some time for me (7500songs=about 12+ seconds of the "loading" screen on 2.4 pentIV, 1g ram), so just curious if there is a way to just "hide" DL not close it.
2. on switch between browse and search automatically cancel reading tags...
3. add "comment" to titlebar. with my ratings, i have written word "five" for a 5star songs, etc. since there is no way to get WA ratings viewed in DL
4. when searching, you can search by ID3 tag where available, is it possible we can define in pref. which tags we want to scan:

SCAN:
+ artist (yes)
+ title (yes)
- album (no)
- year (no)
+ comment (yes)
billyvnilly is offline  
Old 31st August 2004, 20:40   #824
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Quote:
Originally posted by billyvnilly
it was worth it, thanks again...it does work very well for me (and uno how touchy me comp is!)
Hehe, good it works then

Quote:
..::Some ideas::..

feature requests/questions
1. is there some way to hide DL, because even w/ speedy 2nd reading it will still take some time for me (7500songs=about 12+ seconds of the "loading" screen on 2.4 pentIV, 1g ram), so just curious if there is a way to just "hide" DL not close it.
Well..it doesn't actually scan again if you just close it...so it should be pretty fast except the first time...but it's just as slow????
Quote:
2. on switch between browse and search automatically cancel reading tags...
That's a thought...what does other ppl say?
Quote:
3. add "comment" to titlebar. with my ratings, i have written word "five" for a 5star songs, etc. since there is no way to get WA ratings viewed in DL
I'm sorry to say but we're out of columns...wanted to add that Last change but my column code doesn't support any more columns...do I have to re-code or can't I drop one of the others...Year for example I think is kinda useless...
Quote:
4. when searching, you can search by ID3 tag where available, is it possible we can define in pref. which tags we want to scan:

SCAN:
+ artist (yes)
+ title (yes)
- album (no)
- year (no)
+ comment (yes)
I guess I have to add another tab in Preferences then...damn

/Joonas

[edit]
oh you said title bar not column...where do you mean? Titlebar where it says Dynamic Library?
Joonas is offline  
Old 31st August 2004, 20:45   #825
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:
Originally posted by Joonas I guess I have to add another tab in Preferences then...damn

/Joonas

[edit]
oh you said title bar not column...where do you mean? Titlebar where it says Dynamic Library?
no sorry, i did mean column...yes we should have a vote....year Vs. comment Vs. Last changed

[edit]if we can only have one, im for comment, althought Last changed comes in very close second[/edit]
billyvnilly is offline  
Old 31st August 2004, 20:50   #826
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Yes vote!

* Year
* Comment
or
* Last changed?

/Joonas
Joonas is offline  
Old 31st August 2004, 21:34   #827
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
* Added Select missing files for playlist roots. Files not being where they say they are, are highlighted.

This version: 0.9.3.3

/Joonas
Joonas is offline  
Old 31st August 2004, 21:40   #828
jojo 544
Major Dude
 
jojo 544's Avatar
 
Join Date: Nov 2003
Location: Nowhere near the apeland
Posts: 623
Quote:
Originally posted by Joonas
(QUOTE)
2. on switch between browse and search automatically cancel reading tags...

That's a thought...what does other ppl say?
I say PLEASE NO ! , maybe another option tho, or at least a way to restart the scanning

As for the extra collumn, i vote comment

I like the new way of loading DL

Edit: a bug when switching skins; there seem to be 2 DL windows opened at the same time
jojo 544 is offline  
Old 31st August 2004, 21:54   #829
jojo 544
Major Dude
 
jojo 544's Avatar
 
Join Date: Nov 2003
Location: Nowhere near the apeland
Posts: 623
screenshot (could'nt find how to ad this in the edit)

edit2: i don't see the highlightning

edit3: don't think it's skin related, i can reproduce it by just opening winamp. The second DL window behaves and looks realy weird, but i can close it by clicking on the spot where the close button is suposed to be. The option to open/close DL in the main richtclick menu also comes and go's but altD always works.
Attached Images
File Type: jpg 45.jpg (69.7 KB, 126 views)

Last edited by jojo 544; 31st August 2004 at 23:52.
jojo 544 is offline  
Old 1st September 2004, 02:13   #830
jojo 544
Major Dude
 
jojo 544's Avatar
 
Join Date: Nov 2003
Location: Nowhere near the apeland
Posts: 623
OK, i found the solution to the double window. Somehow it seems to be posible to load multiple instances of DL into winamp. Normaly i just add the new version of DL into the plugin folder, overwriting the old one. There's only one gen_library.dll file in there, but in pref's i can see 2, 3, or even four. I got rid of them (one by one) by using the uninstal button. So i think with this bug it's better to uninstal the old, and then add the new version instead of just overwriting it.

I also found a cosmetic detail: the right side of the last collum header has a strange empty spot.

And...Root playlists sort by artist by default, instead of keeping the original playlist order when invalid playlist entries are pressent.
In treeview playlists, invalid entries aren't shown at all, is there is any way of doing so?

I also had DL make a root playlist empty again, i didn't find how to reproduce that one tho.
jojo 544 is offline  
Old 1st September 2004, 03:15   #831
Jome
Junior Member
 
Join Date: Jul 2004
Location: Bergen, Norway
Posts: 25
Quote:
Originally posted by Joonas
Yes vote!

* Last changed?

Last Changed is my vote.

Genius if you only want to play the newest added music first.
Jome is offline  
Old 1st September 2004, 03:25   #832
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
to try and get more votes i put up a thread in WA discussion, hope u dont mind joonas http://forums.winamp.com/showthread....hreadid=192054
billyvnilly is offline  
Old 1st September 2004, 11:53   #833
siebe83
Forum King
 
siebe83's Avatar
 
Join Date: Feb 2004
Posts: 9,222

YEAR!!
Why would year be useless?!
I'd rather miss number.... (i.e. the '#' column)
Though that'd cause the select bug to reappear...
Don't use comment or lastchanged myself...


Nice version Joonas!

Good Winamp plugins by Joonas, DrO and shaneh.
If you're bored go here or, if the boredom is more serious, here.
siebe83 is offline  
Old 1st September 2004, 13:03   #834
jojo 544
Major Dude
 
jojo 544's Avatar
 
Join Date: Nov 2003
Location: Nowhere near the apeland
Posts: 623
Quote:
Originally posted by Joonas

I'm sorry to say but we're out of columns...wanted to add that Last change but my column code doesn't support any more columns...do I have to re-code or can't I drop one of the others...
The voting so far seems to show everyone wants something else

I'm afraid you're going to have to recode to make everybody happy

Quote:
Originally posted by Joonas

I guess I have to add another tab in Preferences then...damn
Never mind, the more options the better the plugin
jojo 544 is offline  
Old 1st September 2004, 13:06   #835
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
Was just that it was so damn good code...saved all the positions in just one integer...shifted a little bit in every other direction...32 bits made for 8 column positions...and I never got it to really work with 64 bit variables...*sigh*

/Joonas
Joonas is offline  
Old 1st September 2004, 13:11   #836
Kebabrov
Senior Member
 
Join Date: Jul 2004
Posts: 175
4 bits for each column? how'd that work then
Kebabrov is offline  
Old 1st September 2004, 13:25   #837
Joonas
Forum King
 
Join Date: Mar 2004
Location: Sweden
Posts: 2,263
ListView_GetColumnOrderArray(getHWND(LISTVIEW), 8, order);

for (int i = 0; i < 8; i++)
cOrder |= (order[i] << (i * 3));

to save and:

for (int i = 0; i < 8; i++)
{
unsigned char who = (cOrder >> (i * 3)) & 0x07;
order[i] = who;
}

ListView_SetColumnOrderArray(getHWND(LISTVIEW), 8, order);

to load...

/Joonas
Joonas is offline  
Old 1st September 2004, 13:27   #838
Kebabrov
Senior Member
 
Join Date: Jul 2004
Posts: 175
ah right, i see. For some reason, I thought u meant columns widths.

< idiot
Kebabrov is offline  
Old 1st September 2004, 13:40   #839
jojo 544
Major Dude
 
jojo 544's Avatar
 
Join Date: Nov 2003
Location: Nowhere near the apeland
Posts: 623
(edited)
Maybe keep the code then and stick to the 8 collums but make them 'user defined', i mean choose 8 out of ....
(17 possible in ML, where i'm using 11, same as in DL + bitrate, filesize, genre, comment, - Number)

Or is that impossible? just asking, don't know about coding myself

Personaly in DL i would prefer coment over number and keep year.

BTW, this morning again a root playlist got deleted, actuly it's still there but is empty, still dont know how this happened.

Last edited by jojo 544; 1st September 2004 at 14:00.
jojo 544 is offline  
Old 1st September 2004, 15:20   #840
Safai
Senior Member
 
Join Date: Sep 2000
Location: Canada
Posts: 249
Send a message via ICQ to Safai
Quote:
Originally posted by Joonas
Was just that it was so damn good code...saved all the positions in just one integer...shifted a little bit in every other direction...32 bits made for 8 column positions...and I never got it to really work with 64 bit variables...*sigh*

/Joonas
hmm... from the code you posted below... aren't you only using 3 bits per column... meaning you only used up 24 bits... another 8 bits left... ??????

edit: nevermind... i get it now...
Safai is offline  
Closed Thread
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