Идеи:
1. Не развязавать (возможно пока) автосмену частоты от полноэкранного режима. Возможны проблемы в двух-мониторной конфигурации, которые не смогу решить до отъезда.
2. Сделать не одно, а 4 поля для выбора режима в зависимости от частоты контента, пусть сам пользователь выбирает какой нужен. Так закрываются потребности и чрезстрочников, и пользователей мониторов, и телевизора.
3. Если галка "Автосмена параметров монитора" не установлена, то combobox-ы не активны, и в них подчтавляются текущие параметры по выбранному для полноэкранного вывода монитора (собственно, как сейчас, но только не на 1 box, а на 4.)
4. Если галка "Автосмена параметров монитора" установлена, то combobox-ы активны, и в них записываются доступные параметры для выбранного полноэкранного вывода монитора (собственно, как сейчас, но только не на 1 box, а на 4.)
5. Выбранные параметры записываются в 4 переменные типа dispmode в структуре AppSettings.
6. В функции ChangeMonitorMode() определяется частота контента, и вызывается функция с SetDispMode(dm, mf_hmonitor), где dm - значения одной из 4-х переменных из AppSettings описанных выше.
7. При открытии нового медиа-файла в полноэкранном режиме проверять установлен ли режим "Автосмена параметров монитора", и запускается функция на смену параметров ChangeMonitorMode().
8. Defualt нужен в следующих случаях
- Частота контента оказалась не равной ни 23.97, ни 24.00, ни 25.00, ни 29.97, ни 30.00Гц. В одном медиа файле в PIN я видел частоту 160Гц.
- Именно эта частота будет выставляться по завершению программы.
Функция ChangeMonitorMode() мной уже написана, но потребует определенной переработки.
В такой реализации будут использоваться только доступные в системе параметры.
Aleksoid1978 Главный не будет против изменения структуры AppSettings?