Auto-DJ description This bug describes a feature set that can be implemented as a plugin. It can function as an Alarm, or as an automated DJ for a party or radio station. It supercedes features described in #829 (auto-play) and #470 (alarm). To be fully functional, it is dependent upon the implementation of many other features in MM (see additional information), however, it can even be useful, though less so, with MediaMonkey's current feature set. The primary objectives of the feature are: 1) Alarm: must be simple to configure MM to fade in music at any particular time on any particular set of days. It should be a 2-3 step intuitive operation. 2) Allow MediaMonkey to suppress silence i.e. to automatically play 'something' when the Now Playing list has run out OR the Now Playing list contains nothing in it and the user presses Play. 3) Allow a Pro version of MediaMonkey to be sold that allows for sophisticated scheduling. .i Support for scheduled Jingles/Ads (prioritized) .ii Display scheduled events .iii Ability to set weights on playlists (e.g. all tracks in playlist A on heavy rotation) Note: Manual (unscheduled) Jingles/Ads should also be playable in some manner, however, this will be treated as a separate feature (that would also be part of the Pro version). Description of Implementation: ------------------------------ a) The functionality should be accessible via: -An alarm button on the advanced toolbar -A menu entry just above 'Sleep' -Selecting the plugin and pressing 'Configure' -->Pressing either of these buttons --> Auto-DJ dialog appears b) Auto-DJ must be localizable in the same manner as MediaMonkey is (i.e. using .pot file bundled with the installer & configured via the General|Language option) c) It would be nice to utilize MediaMonkey themes within the plugin. This can only be done if some level of support for this is added to the main app. d) The dialog should have it's own Auto-DJ entry on the toolbar so that the user can control whether it or the MediaMonkey main panel is on top. e) The plugin should make all features available if the user has upgraded to Professional. If not, it should only allow support for a single alarm entry in addition to the silence suppression 'AutoPlay' entry (i.e. 2 entries in total). If a non-Gold user attempts to add a third entry, the following message should appear 'MediaMonkey Auto-DJ provides advanced scheduling functionality so that you can create advanced playlist rotations for parties, bars, background music in shopping centers, or radio broadcasts. If you wish to add more than 2 Auto-DJ entries and use MediaMonkey for commercial use, you need to purchase the Professional version. Auto-DJ dialog The dialog should consist of three main sections: 1) List of all jobs (this section is where the user is able to add new jobs) 2) List of jobs on a specified date f) Event list: |--Event--|--------Event Schedule---------------|--Date Limiter--|---------------|Now Playing| | |--Name---|S M T W T F S . . Time(s) . |Priority| . Start - End .|-Playlist------|Queue Depth|--Actions-| |[]-|[][][][][][][]. . . .|---| - | ----| . . . .| | | . --------------------------------------------------------------------------------------------------------------------------- The events list functions similarly to the criteria lists in the advanced autoplaylist panel: -To create a new entry, the user simply clicks and the dialog described in j) appears. -To edit an existing entry, the user clicks it to select it and then clicks again causing j) to appear. -To enable an event, just click the checkbox next to it g) Scheduled Events (set to todays date by default) |----|--Event--|--------Event Schedule---------------|--Date Limiter--|---------------| Now Playing|Fade in|Fade out| |Time|--Name---|S M T W T F S . . Time . .. |Priority| . Start - End .|-Playlist------| Queue depth| (min) | (min) .| |time|- -|[][][][][][][]. .