1
0

winampconfig.mi 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. //----------------------------------------------------------------------------------------------------------------
  2. // winampconfig.mi
  3. //
  4. // your best way to get winamp config states
  5. //----------------------------------------------------------------------------------------------------------------
  6. #ifndef __WINAMPCONFIG_MI
  7. #define __WINAMPCONFIG_MI
  8. extern class @{B2AD3F2B-31ED-4e31-BC6D-E9951CD555BB}@ Object _predecl WinampConfig;
  9. extern class @{FC17844E-C72B-4518-A068-A8F930A5BA80}@ Object WinampConfigGroup;
  10. // WinampConfig
  11. extern WinampConfigGroup WinampConfig.getGroup(String config_group_guid);
  12. // WinampConfigGroup
  13. extern Boolean WinampConfigGroup.getBool(String itemname);
  14. extern WinampConfigGroup.setBool(String itemname, Boolean itemvalue);
  15. extern Int WinampConfigGroup.getInt(String itemname);
  16. extern WinampConfigGroup.setInt(String itemname);
  17. extern String WinampConfigGroup.getString(String itemname);
  18. extern WinampConfigGroup.setString(String itemname);
  19. /*
  20. BENSKI:
  21. basically, make a WinampConfig object, and call getGroup with a guid (see below) and then you can get & set values from the WinampConfigGroup object it returns.
  22. I plan on adding more types to get/set in the WinampConfigGroup object later... these were just the minimum number to get you your two video options. Once we get this working, I'll add getString, getInt, etc.
  23. The WinampConfig stuff differs from system.setPrivateString (and family). It sets/gets Winamp configuration items directly. Some items are read-only. You can not store your own values, and it does not save the values to studio.xnf (they are saved wherever the underlying configuration value is saved, normally winamp.ini). There's also no callback if items change.
  24. Some values to get you started
  25. Video config group guid: {2135E318-6919-4bcf-99D2-62BE3FCA8FA6}
  26. The two config items you requested are named:
  27. autoopen
  28. autoclose
  29. Other interesting groups/items (these are read-only for now... If there are any you'd like to have modifiable, let me know)
  30. more items in the video group:
  31. name: "overlay"
  32. name: "YV12"
  33. name: "vsync"
  34. name: "ddraw"
  35. name: "gdiplus"
  36. description: experimental GDI+ video renderer. Used mainly for video on Vista
  37. Internet Config Group: {C0A565DC-0CFE-405a-A27C-468B0C8A3A5C}
  38. name: "proxy"
  39. description: proxy server setting. Won't be retrievable until I make a "getString" function which I will shortly
  40. name: "proxy80"
  41. description: boolean value as to whether the proxy is only required for port 80
  42. Playback Config Group: {B6CB4A7C-A8D0-4c55-8E60-9F7A7A23DA0F}
  43. name: "bits"
  44. name: "mono"
  45. name: "surround"
  46. name: "dither"
  47. name: "replaygain"
  48. name: "replaygain_mode"
  49. name: "replaygain_source"
  50. name: "replaygain_preferred_only"
  51. name: "non_replaygain"
  52. */
  53. #endif