firstly, thanks for all the work you and the porter are doing with milkdrop!
after listening to some music today and watching milkdrop in action, i started thinking and i'd like to ask for/propose some feature enhancements (as my coding ability is nil) which i think would make for the ultimate music vis on xbmc.
i know i'm dreaming for all of my suggestions/features to be implemented, but i hope my suggestions/details get some ideas flowing amongst the coders and users.
many, many thanks once again for the great work on porting/expanding this amazing audio/visual program.
suggested code enhancements:
vis 'playlist' - a setting to switch between a preset 'playlist' or selecting one of all available vis's in a directory/zip would be great.
vis 'memory' - code to write out the previous and the current vis name to a .ini or .xml file would also be great. (on init, the current and previous vis settings are set to the first vis loaded, then when each new vis is loaded, the 'old' current is written to 'previous', and the 'new' current is written to the 'current' setting). if this can be stored in the xbox memory, than that would be even better to save wear and tear to the hdd.
'static' vis - an option to not automatically new vis settings would be great. maybe changing the 'time between presets' (in vis.xml) to '0' could mean 'don't load new vis settings'.
user interactivity - allow the user to control various functions using the joypad/remote control (seems to be in place already!
, with suggested keymappings for the remote control (all suggested keys are currently unused when playing music with milkdrop vis enabled):
select key - toggle 'load new vis' on/off, see 'static vis' mentioned above.
back key - check the 'memory.xml' file (mentioned above) and load in the previous vis (useful if you have a vis you like, then it changes to one you don't like, you can go back to it). this overrides the 'static vis' function.
title key - toggle display of vis name at top, slightly to the right hand side of (full) screen (where the second grey band in the xbmc logo would be when the song name is displayed on screen).
up arrow cursor - toggle between select 'load vis settings from a zip file or directory', and 'only load vis settings from the vis playlist'.
down arrow cursor - toggle 'random vis' playback on/off. if enabled then new vis settings are randomly selected from either all available vis settings, or vis settings in a playlist. if disabled, then the next sequential vis setting from all available vis settings, or the vis playlist is loaded.
right/left cursor arrows - load a new vis. randomly select one if the random feature is enabled, otherwise go forward or backward through the list of available vis settings (if the playlist feature is enabled, then step forward/backward through the playlist of favourite vis settings, ignoring null entries in the playlist and wrapping around to the start of the playlist if needed). this overrides the 'static vis' setting.
numbers 1-0 - switch between favourite vis settings in the playlist (hey, if the playlist can handle up to 100 settings that would be fantastic. ie: '1' by itself selects vis preset 1, '26' selects preset 26, '00' selects preset 100)
menu - save currently visible preset to playlist. ie: menu + '1' would save the current vis to position 1 in the vis playlist, menu + '5' in playlist position 5 etc. a text message on screen should say something like 'saving vis to favourites'. when in this mode, if the menu key is pressed again this should cancel saving the current preset to the vis playlist (the 'oh bugger, i pressed the wrong button' option).
playlist - the playlist(.xml ?) file should ideally have some data already entered into it before for distribution, so that users do not get a crash the first time they access the vis playlist. or the playlist code needs to be able to recognise null data in the playlist and not try to load the null value as a valid vis setting.
overwrite the playlist - if all positions in the vis playlist are full or the user wants to overwrite a setting then a query should appear on screen, something like 'overwrite setting in vis playlist?' with the menu key= yes, back key=no.
if the playlist is to support more than 10 different vis settings (ie: '1', '35', '99', '00' on keypad instead of just '1'-'0') then the user needs to be able to see (on screen) which positions in the vis playlist are empty.
a quick way to do this would be to overlay numbers in the middle of the screen (01-00 - say in a 10x10 grid) with 'empty' playlist positions either a different colour (green?) or with a tick or some other visual indicator next to them to indicate that playlist position has not been filled.