View Issue Details

IDProjectCategoryView StatusLast Update
0000656MMW v4Playerpublic2007-09-12 04:11
Reporterrusty Assigned To 
PriorityimmediateSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Fixed in Version3.0 
Summary0000656: New Track info Popup so that there's no 'popping' sound On Win XP (doesn't work!)
DescriptionIf XP is configured to make a 'pop' when a bubble appears, then MM 'pops' at the beginning of each new song.

When the popup bubble appears at the beginning of a song, winXP should not make a sound.

http://www.songs-db.com/forum/viewtopic.php?t=247&start=0&postdays=0&postorder=asc&highlight=
Additional InformationOther solid implementations:
Toaster: http://www.myplugins.info/toaster.htm
CD Art Display: http://www.closetosoftware.com/
Foxytunes information popup
TagsNo tags attached.
Fixed in build1073

Relationships

related to 0001426 closedpetr Micro-Player (no longer working in 1034) 
parent of 0003058 closedrusty Make new track pop-up window more customizable 
has duplicate 0002328 closedpeke Show our own new track information dialog 
related to 0002558 resolvedpetr Mini-Player (Now Playing integration incomplete) 
related to 0003444 closedpetr MediaMonkey tray icon shouldn't display when microplayer is active 
related to 0003449 closedpetr Popup doesn't appear for first track if MM is maximized 

Activities

jiri

2003-08-31 09:16

administrator   ~0002215

I think it isn't only problem of WinXP, but rather of anything that allows ballon messages in the system tray. Now I know how to reproduce the problem - Control Panels\Sounds and Audio Devices\Sounds and make sure 'System Notification' has a sound assigned. Then each time a bubble with new track info pops up the assigned sound is played back.

Possible solutions:
 - disable ballon messages (actually not a solution)
 - somehow warn user that he has that sound enabled.
 - make some own ballon message window (quite a lot of work involved).

rusty

2003-08-31 13:13

administrator   ~0002216

What does MediaPlayer on XP do? (I doubt they've re-implemented a new popup solution--I would have thought that there's some sort of API to selectively disable the sound just for the MediaPlayer app--no?).

jiri

2003-08-31 15:12

administrator   ~0002217

I'm pretty sure the MediaPlayer implements its own solution on XP (I couldn't find it now, but I have seen it some time ago). The standard API for trayicons is quite simple, and also ballon tooltips don't allow any complex settings - only the text and an icon.

rusty

2003-09-04 16:11

administrator   ~0002260

Would it be possible to add an option:
[ ] Disable Windows XP Popup sounds while MediaMonkey is running

which would modify the default configuration temporarily?

jiri

2006-03-09 09:30

administrator   ~0007018

This should be fixed as follows:
We will no longer use system tray pop-up notifications, we will show our own window at this position. Generally this window should be similar to how this notification works in WinAmp or as Toaster plug-in works. Supported features should include:
 - Showing basic track information (Artist, Album, Title, Length, Year(?))
 - Showing album art if present
 - A transparent window with fade in and fade out (configurable in Options(?)).

peke

2006-03-13 20:57

developer   ~0007062

As I posted Both To You and Rusty my OSD proposal.
It can Be used/modified to comply these rules proposed by Jiri and also can be used as OSD Feature.

@Jiri,
I think the proposed solution from you will be the best solution. Also it can use Theme Engine without additional editing (to look same as MM).

rusty

2006-07-28 21:35

administrator   ~0007635

Last edited: 2006-08-01 19:51

Here is a bit more detail to Jiri's suggestion. Note that the -1-,-2-,-3-,-4- indicate priority of the feature. For the 3.0 release the focus is on providing a good looking popup that doesn't make a popping sound (i.e. -1-, and perhaps some -2- items).

The dialog should by default show:
---------------------------------------------
| < > [Recent] [Edit]
|--------------------------------------------
| . . . . . . .x. Title
| . . . . . . .Artist . . . Genre
| Album Art . .Album . . . . Year
| . . . . . . .Rating
----------------------------------------------

details:
-3- <: shows metadata for previously played track
-3- >: shows metadata for next track
-3- [Recent]: would show most recently played tracks (10)
-3- [Edit]: Allows the user to edit the currently selected track
-1- Album Art: Shows up with resized metadata (and is looked up if missing)
-1- x. Title: Shows the track# in the NP list followed by the Title
-1- Artist, Album, Genre, Year: Metadata appears only if it has been entered. It should appear with an icon to the left so that it's clear what the attribute is.
-4-(If the user clicks on the metadata when the MM dialog is open, then MM 'Finds more from same' attribute'.)
-3- Rating: The user should be able to change the rating by clicking the # of stars like in 'CD Art Display'.

The following should be configurable via an entry in the options menu:
Player
. -Pop-up track display
-1-. . [x] Enable
-1-. . . . . Location: _______________ [Lower, Middle, Upper] ______________ [Left, Middle, Right]
-1-. . . . . Transparency: __________________________
-2-. . . . . Display time: ______
-2-. . . . . Display: _____________ (Title, Artist, Album, Genre, Year, Rating / Title, Artist, Album, Rating / Title, Artist, Album)
-4-. . . . . [ ] Download missing cover art
-3-. . . . . Additional settings to configure buttons on the command bar [<], [>], [Edit], [Tempo], [Mood], [Occasion], [Quality], etc.

peke

2006-09-29 20:56

developer   ~0007955

http://www.closetosoftware.com/?s=cdartdisplay
This Is good Example how it should look.
I'll change code to comply recent info entered from rusty.

rusty

2006-12-04 18:39

administrator   ~0008229

Last edited: 2006-12-04 22:36

Per offline discussion, something that would be useful is to display data in the following format but with slight differences if genre='classical'

<Title> - (<Composer>)
<Artist> / <Album Artist>
<Conductor>
<Album> . . . . . . <Date>

Note:
-the first line should be in a larger font
-fields should only be displayed if they contain data
-<Album Artist> should only be displayed if it is different from Artist
-if genre=classical, the composer and conductor fields should be displayed (if they exist)

Also, on a related note, I prefer the manner in which metadata is displayed in cdartdisplay (without 'Title:', 'Album:', etc.) e.g. just display the <Title> rather than 'Title: '<Title>

peke

2006-12-04 21:21

developer   ~0008231

As that offline discussions, I agree on rearranging the info popup in case of Genre that needs to show additional fields.

I need approval on basic functionality like specified here 1, 2, 3 (Live rating).

In every Application that I know representation of popups is done separetly of Main core. This popup in not simple Form and do not have Form System Commands and it is not shown in Task Bar.
It uses Single Picture as background which can be loaded within Skin Itself and can be JPG, BMP, GIF, PNG there will be single JPG inside Skins folder as default one like no album art. Allow skin developer to customize it like show signature "Brushed skin" written in background picture.
Most effective, easy user customizable (give user choice how it will look) also leave us space for future development.

peke

2006-12-04 21:23

developer   ~0008232

Need to clear this stuff while implementing non-GUI thing (Events, commands, properties and setup dialog).

peke

2006-12-22 00:55

developer   ~0008340

Added corrections like we talked on IM and according to changes.
Infopopup checks for InfoPopUp_background.* (GIF, JPG, BMP, PNG)and loads it as background, Having several issues still with setting On top if TaskBar is set allways on top. Album art Uses default No Album Art Image in case there is no album art. Support for D&D is added but not yet implemented.

Regarding Setup dialog: Should we let users to choose font and color of shoved text. Added Preview Button to Setup.

rusty

2007-02-13 15:52

administrator   ~0008573

This bug isn't yet tagged as resolved, but I had a look at the functionality in 3.0.15 and a couple of issues that need to be fixed:
1) The default popup time needs to be increased slightly (e.g. to 3 seconds) since it currently appears too quickly to see (this may be related to the unreadable text--see below).
2) On the general config tab, the popup time needs to be configurable. e.g. change:
  [x] Pop-up track info in tray (Windows ME, 2000, XP)
-->
  [x] Popup track info in tray: _5_s
3) The default colors need to be readable and match the skin. The current white text is almost invisible.
4) The borders of the popup aren't very clean. The only borders that are visible are the top and left borders and the top border is thinner than the left border.
5) It would be preferable for the graphical attributes to be set in the theme like every other aspect of MM. That way, artists can easily create themes without having to learn different ways to configure the look of different parts of MM. i.e. they can do everything from Theme Editor.

jiri

2007-02-13 17:42

administrator   ~0008574

Reminder sent to: petr

5) (and related 3) and 4) are assigned to Petr for a review, the rest should be done by Peke.

petr

2007-02-13 22:55

developer   ~0008580

Added support for loading this window from skin (+ updated Royal Blue skin).
I'll write details about it into skinning document soon.

rusty

2007-02-15 04:13

administrator   ~0008590

6) In build 1016, whenever the Popup appears focus switches from the currently active application to MediaMonkey. Very annoying--setting to 'immediate'.

petr

2007-02-15 12:48

developer   ~0008591

6) solved

petr

2007-02-15 14:13

developer   ~0008592

becouse my part is solved now, i'll assign this issue back to peke.

peke

2007-03-01 03:20

developer   ~0008677

SVN Updated with Added feature that Skin Designer can Add additional Fields in InfoPopUp (Album Artist, Filename, ...) according to mask names used in ViewManage.pas [Funtion VisMask2Mask].

peke

2007-03-19 03:14

developer   ~0008838

Update To Setup Spec:

.-Pop-up track display
-1-. . . . . Location: Pos X: ____%, Pos Y: ____%
-1-. . . . . Transparency: __________________________
-2-. . . . . Display time: ______
-2-. . . . . FadeOut time: ______

-3- Read From Skin as 5) graphical attributes Pos and default info objects are controlled from theme editor now. This should be added if we decide to let Users change default info shown in designed Skin ei. Instead of Date show Original Year, or instead of just "<Artist>" show <Composer> and preformed by <artrist>", ...)

rusty

2007-03-19 22:05

administrator   ~0008848

Regarding the configuration layout:

The Pop-up Display config should ideally appear on the Player panel. For this to happen, the following changes would need to be made:

1) Remove the Numeric Keypad indicator configuration (this is superceded by the hotkeys configuration. We can add these as default hotkeys, but leave them disabled)
2) Remove Long title in the player (scroll vs bounce)
3) Remove warning when track isn't accessible (never used in current implementation)


Then we would remove the following from the General Tab:

[ ] Pop-up track info in tray (Windows ME, 2000, XP
    [ ] Only when inactive


And finally add the following to the Player panel:

[ ] Pop-up track info: _____ s
    Location: _Lower_______^ _Right________^ (Upper, Middle, Lower); (Left, Middle, Right)
    Transparency: _50_% (slider)
    [ ] Only when inactive

Regarding which metadata should appear, this is NOT something that should be configured by the skin artist. it should be set as defined earlier (i.e. it depends on what metadata is available).

jiri

2007-03-19 22:22

administrator   ~0008849

I agree with the proposed implementation, just re. fields to be removed:
1) It seems that it really could be removed (left as 'undocumented' setting?).
2) I'd rather keep it, it's really about user's preferrence. It could be moved to Appearance sheet.
3) I think that it's still used as it always has been - e.g. when track to be played is on CD that isn't inserted. I'm not sure how much is it useful for different uses of MM, but I'd rather keep it somewhere in MM. (possibly it could be left undocumented as 1?)

peke

2007-03-19 23:56

developer   ~0008851

I agree:
1) left it as 'undocumented' setting
2) Leave it
3) That is reason I started to use Songs-DB at first place, From first start of Songs-DB I have never been Disable it. I have it enabled All the time It has multiple Functions/Features in MM regarding Availability of Tracks in MM in multiple aspects. It should be left as Undocumented And Always Enabled.

4) There Should be Appearance sheet for InfoPopUp avoid future Requests for Example Showing Original Year instead of Release Year.

Note reagrding Metadata: Designer Of InfoPopUp can Add additional Text Objects to show BPM, Genre, Composer to be show in his design. MM Info PopUp have feature to Translate Text Object names to Corresponding TagInfo and can be configurable from MM UI easily (if we make it available) so that we leave user to deside if he will change default show of InfoPopUp and instead of just "<Title>" Default/Designed) show "<Title> (<BPM>)", with that implementation we will avoid and add better support for Classical Music Listeners as they can add their specific Masks to show more then default values in Info PopUp. Example ScreenShots Posted on Mail.

rusty

2007-03-20 04:41

administrator   ~0008855

Regarding the configuration layout:

Taking into account the preceeding feedback, the Player panel should appear as follows:

The General Tab Should be modified to not include:
 
[ ] Pop-up track info in tray (Windows ME, 2000, XP
    [ ] Only when inactive


The Player panel should be modified to:
--Choose Player-------------
| (o) MediaMonkey Player
| ( ) Winamp 2 or 5 : __C:\Program Files\Winamp\Winamp.exe__ [Browse]
-----------------------------
--Player Controls------------
| Default action when stopped: _Play Now______________^
| Default action when playing: _Play Now______________^
| 'Play Now' action: _Clear tracks & play selected + subsequent_^
------------------------------
--Pop-up Display--------------
| [x] Pop-up track info: _4_s
| Location: _Lower_______^ _Right________^ (Upper, Middle, Lower); (Left, Middle, Right)
| Transparency: _50_% (slider)
| [x] Only when inactive
-------------------------------
Display format for long titles: __scroll__________________

Move:
[ ] Show warning when track to be played is not accessible
to the bottom of the 'Now Playing' section of the 'Auto-DJ/Now Playing' panel

Re. the issue that we may need for space to configure the pop-up display:
This is possible, however, it really does belong on the Player panel. If anything is going to move, it is the 'Player Controls' section which is really 'Now Playing Controls', however, for now things should fit.

Also, I'd like to clarify the format of metadata in the box. Currently it is:
<Title>
<Artist> // <Composer>
<Album> .... <Year>
<Rating>

I would like it to be changed to --->

<Title>
<Artist> (<Album Artist>)
<Conductor> (<Composer>)
<Album> . . . <Date>
<Rating>

Note:
-Entries in the right hand column should appear in the right hand column only if an entry appears in the left hand column; otherwise they should be left justified.
-To fit 5 rows in the box, the font size should be reduced slightly and shouldn't be bold
-The same template is used for all music

jiri

2007-03-20 10:58

administrator   ~0008860

That layout of controls in Options dialog seems to be ok. I just don't think that the pop-up window should contain that much information, I think that less is better in this case. I'd prefer something like:

<Title>
<Artist> {replaced (or appended?) by <Composer> for classical music only}
<Album> .... <Date>
<Rating>

Note: <Album> could be followed by ' (<Album Artist>)' for tracks where <Artist> isn't equal to <Album Artist>. However there wouldn't be much space for <Date> then, it could be moved below, next to Rating?

rusty

2007-03-20 16:12

administrator   ~0008863

Ok, so after a bit more discussion, here's the final text layout for the popup:

<Title>
<Artist>
<Composer>
<Album> (Album Artist)
<Date> . . . <Rating>

<Composer> is shown only for Genre=classical
(<Album Artist>) should only appear if it differs from <Artist>.

peke

2007-05-03 14:59

developer   ~0009100

Better integration in Themeeditor, custom size of popup as designed in Theme editor, Masked Support for use as undocumented feature and possible use in future (as talked with Jiri over IM for best technical solution), Added support for additional info show in Popup.

rusty

2007-06-25 13:45

administrator   ~0009561

Popup functionality is not working in build 1045 (alpha5).

peke

2007-07-03 03:50

developer   ~0009638

Due to better Customization and user friendliness for both Skin designer and end-user there are several ReadOnly Undocumented features implemented in latest SVN update:
MM Ini File Contain Section [InfoPopUp] where will be stored all relevant info regarding InfoPopUp notifications.
Here is the list of features that are included and working for both default and Designed (Additional options for Skin designer will be explained additionally) skins:

InfoPopUp Control (Presented in Milliseconds):
----------------------------------------------
'ShowTime' = Default to 2000ms Determine time before Fadeout Will Start
'FadeOutTime' = Default to 1000ms Determine Time of Fade out before InfoPopUp disappear

Default/Basic skin
------------------
'Title', 'Artist', 'Album', 'Year' = if present it will override default setting for that field.
Examples:
'Title=<Track#:2>. <Title>' = will override default ('Breakthru') and show '02. Breakthru'
'Artist=<Artist> (<Year>)' = will override default ('Queen') and show 'Queen (1992)'

Designed Skins with additional/Non standard Fields:
---------------------------------------------------
Designer of skin can add Additional/Separate Fields to show Information of song inside InfoPopUp. Like Album Artist, Composer, Custom1-5 to be shown in InfoPopUp. Position and Size is controlled within theme editor.
In addition InfoPopUp checks MM ini file if show customization exists which left end user ability to change behavior of favorite InfoPopUp to accomplish personal needs but without Graphic editing skills or knowledge in using ThemeEditor.

Note: Due to limitations of Delphi Itself and that Object names can be only alphanumeric without space and special characters. Designer Can't Use that characters in naming Text fields that will be shown in InfoPopUp with one exception when using Underscores instead of Spaces.

peke

2007-07-03 03:57

developer   ~0009639

Please Analyze My changes/Fixes as like you said Synchronize do not work like it should. This should fix issue of not showing but think that issue is much deeper.

jiri

2007-07-04 08:31

administrator   ~0009643

Generally speaking seems to work fine. It just isn't showing a pop-up when I manually start playback. Question is, whether it should show it on this ocassion? Since I know what I'm starting, it probably makes sense this way...

However, Options dialog wasn't modified yet. It should be done along the lines of what Rusty described in a comment above, namely:

The General Tab Should be modified to not include:
 
[ ] Pop-up track info in tray (Windows ME, 2000, XP
    [ ] Only when inactive


The Player panel should be modified to:
--Choose Player-------------
| (o) MediaMonkey Player
| ( ) Winamp 2 or 5 : __C:\Program Files\Winamp\Winamp.exe__ [Browse]
-----------------------------
--Player Controls------------
| Default action when stopped: _Play Now______________^
| Default action when playing: _Play Now______________^
| 'Play Now' action: _Clear tracks & play selected + subsequent_^
------------------------------
--Pop-up Display--------------
| [x] Pop-up track info: _4_s
| Location: _Lower_______^ _Right________^ (Upper, Middle, Lower); (Left, Middle, Right)
| Transparency: _50_% (slider)
| [x] Only when inactive
-------------------------------
Display format for long titles: __scroll__________________

Move:
[ ] Show warning when track to be played is not accessible
to the bottom of the 'Now Playing' section of the 'Auto-DJ/Now Playing' panel

peke

2007-07-16 02:32

developer   ~0009796

All Fixed according to above Jiri Suggestion.
SVN Updated.

peke

2007-07-17 16:57

developer   ~0009831

Changing InfoPop Parameters Still related to "Always Show Tray Icon" in General Tab.

peke

2007-07-17 16:57

developer   ~0009832

Fixed

jiri

2007-07-18 08:21

administrator   ~0009843

Based on http://www.mediamonkey.com/forum/viewtopic.php?t=19197, I'd say that there are some things to be improved in the configuration:

1.

[x] Pop-up track info: _4_ seconds

I.e. change 's' to 'seconds' for better clarity and easier localization.

2. Transparency slider should have some legend, e.g. 'Opaque' and 'Transparent', or maybe better 'low', 'semi', 'high'.

3. While moving location sliders, user should have some live preview of the info window, i.e. it should be shown for ~3 seconds in the new position and hidden then (or when a new position is chosen). Note: should be properly implemented, so that when a new track starts while doing this, no problem occurs!

peke

2007-07-18 14:13

developer   ~0009845

1. Default set to 4 Seconds
2. Added Transparent and Opaque we already have them translated
3. When User click on any Track Bar and move Mouse preview will be shown.

rusty

2007-07-19 14:59

administrator   ~0009857

This sounds reasonable. Please resolve if it's complete.

peke

2007-07-20 01:37

developer   ~0009863

Fixed small bug where skin do not contain InfoPopUp Object that resulted in Exception Error

rusty

2007-07-23 20:13

administrator   ~0009903

Verified 1051.

jiri

2007-07-26 14:18

administrator   ~0009934

Old Peke's changes that fixed showing of the window are not needed anymore because now it should be possible to properly find out whether MM is playing.

jiri

2007-07-26 14:19

administrator   ~0009935

Fixed in build 1053. Reverted the changes, noting here for testing purposes, so that we make sure that it still works well.

rusty

2007-07-27 18:50

administrator   ~0009946

Tested 1053: It seems that manually changing tracks triggers the popup, but when the track ends on its own, new track doesn't show a popup.

Note: the following are the expected results:

MM in focus:
-Popups only when inactive disabled: Should appear
-Popups only when inactive - Shouldn't appear
MM hidden:
-Popups only when inactive disabled: Should appear
-Popups only when inactive: Should appear
MM minimized to taskbar
-Popups only when inactive disabled: Should appear
-Popups only when inactive: Should appear
MM minimized to micromonkey
-Popups only when inactive disabled: Should appear
-Popups only when inactive: Should appear
MM minimized to minimonkey
-Popups only when inactive disabled: Should appear
-Popups only when inactive: Should appear only if minimonkey isn't on top

jiri

2007-07-27 20:29

administrator   ~0009957

Build 1054:
Fixed the new issues introduced by my previous fix. There's just remaining the following:

MM minimized to taskbar
-Popups only when inactive disabled: Should appear
-Popups only when inactive: Should appear

It's because Windows automatically hide all app windows when the app is minimized. Petr will review it...

jiri

2007-07-27 22:37

administrator   ~0009961

I was wrong, it should be fully fixed now, the problem mentioned in the previous comment happens only when MM is running from Delphi IDE (not sure why) and probably only on my PC (not on Petr's).

rusty

2007-07-29 05:34

administrator   ~0009967

Tested in 1054, and it seems to fail in numerous cases, though it's better than before:

MM in focus:
-Popups only when inactive disabled: Should appear--OK
-Popups only when inactive - Shouldn't appear--OK
MM hidden:
-Popups only when inactive disabled: Should appear--OK
-Popups only when inactive: Should appear--OK
MM minimized to taskbar
-Popups only when inactive disabled: Should appear--FAILED
-Popups only when inactive: Should appear--FAILED
MM minimized to micromonkey
-Popups only when inactive disabled: Should appear--OK
-Popups only when inactive: Should appear--FAILED, AND on the first or second Track change, mm would temporarily appear in the taskbar!
MM minimized to minimonkey
-Popups only when inactive disabled: Should appear--FAILED, BUT EVEN WORSE, at every track change, MM would temporarily appear in the taskbar!
-Popups only when inactive: Should appear only if minimonkey isn't on top--FAILED

petr

2007-07-30 19:52

developer   ~0010001

popup showing when minimized to tray works, also i'm trying figure out how to prevent showing MM button in taskbar when in micro player.

rusty

2007-08-27 15:34

administrator   ~0010379

Tagging as resolved since it's mostly fixed.

rusty

2007-08-27 16:15

administrator   ~0010381

Tested 1065 and there's still one bug:
-When initiating Playback (via either the Play button or Play Now), MM doesn't display the pop-up (whether 'only when inactive' is enabled or not).

I'll migrate the microplayer/button issue to a new bug.

petr

2007-08-27 17:53

developer   ~0010384

Fixed. Will be in 1066.

rusty

2007-08-27 19:02

administrator   ~0010386

Tested 1066. Mostly fixed. Creating a new low priority bug to track the remaining issue.

petr

2007-09-12 01:59

developer   ~0010742

Rusty discovered that popup will appear only for a first time if it's defined as "only when inactive" and MM hasn't focus. Problem is, that delphi's TApplication state doesn't correctly updates it's Active state. I've made a little update in popup info class to override this delphi bug.

petr

2007-09-12 02:00

developer   ~0010744

Fixed.

rusty

2007-09-12 04:11

administrator   ~0010746

Verified 1073.