View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001441 | MMW v4 | Player | public | 2004-06-08 15:06 | 2011-05-06 15:30 |
Reporter | rusty | Assigned To | |||
Priority | high | Severity | major | Reproducibility | always |
Status | feedback | Resolution | reopened | ||
Product Version | 4.1 | ||||
Summary | 0001441: Many General/DSP Winamp plugins that control playback don't work | ||||
Description | In the course of updating the plugins page, I've been doing testing on Winamp General plugins that fill in holes in MM's functionality. Specifically, I've been testing: -alarm clock plugins -tray player control plugins In most cases, these plugins didn't work. Below are links to the various plugins that were tested (these were the plugins that were highest rated in their class): -Winamp Advanced Controls: Volume and Seek bar interface to MM doesn't work. The seek bar always shows a position of 0, but if the user moves it it causes MM to advance tracks, sometimes several tracks at a time (reminds me of the problems we hear with some users where MM goes 'wild' with Multimedia keyboards). The volume meter also doesn't function--if it is enabled, it always shows 0 and resets the volume in MM to 0 even though the volume in MM is shown as 50% !! -TrayAmp: As soon as the user clicks forward/back to change tracks, MM stops playing any tracks -WinAlarm2 point 6 -- tracks don't play when alarm goes -Winamp Alarm -- tracks don't play when alarm goes -Winamp Alarm Clock -- tracks don't play when alarm goes -Linas.info hotkeys -- works, but crashes on exit Note also: When the plugins were present, MM usually crashed on exit. | ||||
Tags | No tags attached. | ||||
Fixed in build | 1055 | ||||
|
In most general plugins, as in programing SDK for Winamp General plugins that plugins do not destroy main form from mem they just close them. In my plugins on quit function I destroy form. |
|
Note: I'm just reviewing bugs and was wondering: is it possible that http://www.songs-db.com/forum/viewtopic.php?t=1369&start=15 is also a result of this bug? |
|
No, that shouldn't be the problem. |
|
I tested: - TrayAmp - worked fine for me (except for volume, a minor issue that's fixed now). - WinAlarm2 - worked well - started playback when MM was running in specified time. The only problem I found was the WinAlarm2 caused crash on MM shutdown, will try to investigate this further. |
|
Plugins that have problems on MM: --------------------------------- Toaster (General) - http://winamp.com/plugins/details.php?id=138586 : Doesn't Work + MediaMonkey crashes when closing. NXS X Fade (General) - http://winamp.com/plugins/details.php?id=143036 : Crashes MediaMonkey when run. WinAmp Alarm Clock (General) - http://winamp.com/plugins/details.php?id=104265 : Loads, but fails to trigger an alarm. MediaMonkey crashes when closing. WinAlarm 2.6 (General) - http://winalarm.kumatage.com/ : Loads, but fails to trigger an alarm. MediaMonkey crashes when closing. Winamp Alarm 3.0 Beta (General) - http://winamp.com/plugins/details.php?id=80401 : Loads, but fails to trigger an alarm. Winamp Tray Advanced Controls (General) - http://www.niversoft.com/products/nadvctrls : Loads, and works partially, but: - The Stop button fails to change to 'Play' when MM is stopped - If the volume control is enabled, then MM's volume always goes to '0' - MediaMonkey crashes when closing Extra-Out Output Plugin (Output with xFade) - http://winamp.com/plugins/details.php?id=143715 : can't get to a configuration screen to configure it! (it seems to be hidden by the MM plugins screen) Note: According to Peke, re. General plugins that cause MM to crash on exit, they do not close its forms internaly when Plugin.quit function is called on MM exit. Plugins/Add ons that work correctly: ------------------------------------ Winamp Deskband - http://www.winamp.com/plugins/details.php?id=82271 : works nicely (though not as feature-rich as the above). Tray Amp - http://www.winamp.com/plugins/details.php?id=69256 : works correctly now |
|
Fixed in build 837. - I fixed the problems with AVs during shutdown of MM. Due to various reasons I can't guarantee it for all plug-ins, but most of them should be terminated properly now. - I tried to fix the other issues, but there is a problem with the fact that plug-ins often use features that either cannot be emulated by MM (e.g. one of the alarms I saw started WinAmp.exe in order to queue tracks) or aren't documented and thus are nearly impossible for me to emulate (e.g. the way Toaster finds out the a new track started). The second case generally can be fixed, but it's _very_ hard for me to realize what feature is a plug-in actually missing. So in case we find plug-in that we don't support well (and the plug-in is worth the effort), we should contact the author and discuss whether he can do any modifications or at least debug source code and let me know what is needed in MM in order to use the plug-in. I already did this in case of PaceMaker 2.0, author will hopefully tell me more soon. |
|
Verified that MM doesn't crash on exit when running most general plugins. Other issues remain, though. Re-opening as 'urgent' to follow up in a future release. |
|
In build 855 Toaster support was added (thanks to cooperation with its author). It will most likely help in some other plug-ins that need to know about track changes and extract metadata from MM too. |
|
Moving to Peke since the lack of support for plugins that control playback is likely related to an issue Peke is already working on: lack of "Winamp sim - WM_USER message 603" being sent correctly. |
|
It looks that not just general Plug-ins are affected It looks like several DSP Plug-ins olso have problems with MM (like ShoutCast Server Plugin That uses MSG 45909 to get info which is undocumented in Winamp SDK) |
|
Note: While solving bug 0003039 found that even in MM 2.5.x Audio_Scrobbler 1.20 Do not get New track play Correctly, and by recent changes to Winamp Plugins it acts strange in MM 3.0 And do not commit Played tracks. Scrobbler DLL is uploaded to FTP for further testing. |
|
Due to Winamp architecture to not have single Play/Pause(39999 MM internal solution) even call but use separate Play(40045) and Pause(40046) most of them call Pause even player is stopped, also from Winamp 2.91 there is Many plugins uses Custom Messages for interaction with winamp (lparams >65536) that are registered on plugin initialization. |
|
All general plugins that uses standard calls to winamp and not extended introduced in Winamp 2.72+ (bug 0003325) will work 100%. Handling of msg 603 is fixed all plugins now retrieve msg 603. |
|
Tested 1051 and: -None of the Alarm plugins work: WinAlarm2 - Failed Winamp AlarmClock - Failed Winamp Alarm - Failed -TrayAmp - OK -Winamp Advanced Controls: --Volume and Seek bar interface to MM - OK --Back/Forward - OK --The Stop button fails to change to 'Play' when MM is stopped (i.e. the plugin doesn't recognize that MM has stopped playback) |
|
Alarm plugins suffer problem described in bug 0003325 by directly accessing Winamps internal timer and registering custom message that is triggered on timer events set by custom message. Winamp Advanced Controls: Confirmed it do not update icon when receive message 603 that playback status is changed. |
|
Winamp Advanced Controls now updates correctly. Added Playlist Winamp Messages from Winamp 5.34 SDK to WinampPlugins.pas to determine what messages are used in Alarm Plugins that do not trigger Alarm events. |
|
Peke, before I test this, I need some clarification: You tagged the bug as 'resolved' but your last message indicates that it isn't resolved and that you just added debug messages. Can you clarify so that I know what to test? Thx. |
|
Alarm Clock Plugins fail mostly due to Bug 0003325 and that Mediamonkey do not have Correct Message handler for Winamp sim of Now playing (Winamp Playlist window). This doesn't belong to this Bug but reather to 0003325 or possibly to new bug. |
|
Due the some DSP Plugin testing (icecast/edcast) I've added few winamp compatibility message handling along with bug 0006271 in SVN revision update 8896 These Changes include handling of these messages: 102: IPC_STARTPLAY 102 ** Sending this will start playback and is almost the same as hitting the play button. 400: #define IPC_ISFULLSTOP 400 ** This is useful for when you're an output plugin and you want to see if the stop/close happening is a full stop or if you are just between tracks. |