Автоматический backup настроек и плейлиста?

Список разделов foobar2000 Общая информация

Описание: Общее обсуждение по аудиоплееру foobar2000

Сообщение #1 Boomman » 21.11.2008, 02:39

Практически после каждого бсода у фубара слетают все настройки вместе со всеми плейлистами. Каждый раз с нуля перенастраивать весь плеер ОЧЕНЬ раздражает. Руками каждый час бекапить не хочу. Есть ли какое-то решение этой проблемы с нестабильностью фубара?
Я желаю, чтобы при выключении фубара все его настройки бекапились в какую-нибудь директорию. Можно, конечно, накатать простой батник, но есть ли что-нибудь встроенное?
Boomman
Автор темы
Репутация: 0
С нами: 16 лет

Сообщение #2 Mishail » 21.11.2008, 06:31

нет
Mishail M
Аватара
Репутация: 5
С нами: 17 лет 10 месяцев

Сообщение #3 zencd » 27.11.2008, 22:43

А что нужно бэкапить — foobar2000.cfg, database.fpl и playlists/ ?
Последний раз редактировалось zencd 28.11.2008, 05:52, всего редактировалось 1 раз.
zencd M
Аватара
Откуда: spb
Репутация: 1
С нами: 17 лет 6 месяцев

Сообщение #4 zencd » 28.11.2008, 06:11

Сделал пробную версию.

Перед каждым выходом сохраняет копии файлов foobar2000.cfg и database.fpl в директорию backup.

В меню добавлен специальный пункт Edit/Crash foobar 2000! чтобы проверить на падениях, но что-то не особо проверяется, хотя и падает.

Совместимо с веткой 0.9, но проверял только с версией 0.9.5.6.

http://zencd.spb.ru/foo/foo_backup_0.1.zip

P. S. Море впечатлений, особенно от работы со строками
Последний раз редактировалось zencd 28.11.2008, 06:21, всего редактировалось 1 раз.
zencd M
Аватара
Откуда: spb
Репутация: 1
С нами: 17 лет 6 месяцев

Сообщение #5 Boomman » 28.11.2008, 21:14

Вот спасибо, хорошо. Только сейчас перед закрытием у меня выскакивает окно "Не удается найти указанный файл". Видимо, оно ищет database.fpl и не находит, потому что плейлист называется у меня 00000001.fpl (я не использую Library). Но фубар.кфг копирует удачно.

Вообще, по-хорошему, проблему нужно решать в самом фубаре. Оно же, видимо, сохраняя настройки, тупо пишет, затирая, в файл настроек с тем же именем. В результате, при внезапном падении во время этой операции получается испорченный файл. Я думаю, проблема решабельна путём записи во временный файл и мгновенной операцией переименования до нормального имени.

Код фубара не видел и если там не всё так просто, то аддон будет кстати.
Boomman
Автор темы
Репутация: 0
С нами: 16 лет

Сообщение #6 zencd » 29.11.2008, 01:08

Окей, подправлю чтобы в случае отсутствия файлов не ругался.

А код фубара никто не видел :))
Последний раз редактировалось zencd 01.12.2008, 03:00, всего редактировалось 1 раз.
zencd M
Аватара
Откуда: spb
Репутация: 1
С нами: 17 лет 6 месяцев

Сообщение #7 evil » 29.11.2008, 22:54

Даже автор.
evil M
Репутация: 67
С нами: 17 лет 10 месяцев

Сообщение #8 zencd » 01.12.2008, 03:49

Подправил. Теперь бэкапит эти файлы:

foobar2000.cfg
playlists\00000001.fpl
playlists\00000002.fpl — да, вот так вот (-:
playlists\index.dat

Лишних сообщений больше не выдаёт.

http://zencd.spb.ru/foo/foo_backup.zip (ver. 2008.12.01)
__________

Хм… Щас дошло что нынешняя схема работы с компонентом не так проста:
1) Фубар завершился корректно, папка «backup» обновлена
2) Фубар упал
3) Запустили его снова, видим что настройки слетели
4) Теперь нужно не закрывая фубар скопировать эту папку «backup» куда подальше иначе затрётся плохим конфигом.

Непросто… Держать что ли две версии: «последнюю» и «предпоследнюю»…
Последний раз редактировалось zencd 01.12.2008, 06:43, всего редактировалось 1 раз.
zencd M
Аватара
Откуда: spb
Репутация: 1
С нами: 17 лет 6 месяцев

Сообщение #9 evil » 01.12.2008, 11:26

2zencd
Ещё файл PlaybackStatistics.dat. И почему бы не бекапить тогда уж playlists\*.*?
А вообще, я не понял зачем такой плагин нужен? Всё равно от дополнительных действий не избавиться. А для того, чтобы ничего не терялось, нужно просто сразу после настройки закрыть фубар. Он сохранит. Если следующий запуск завершится падением, то и конфиг не затрётся.
Последний раз редактировалось evil 01.12.2008, 11:29, всего редактировалось 1 раз.
evil M
Репутация: 67
С нами: 17 лет 10 месяцев

Сообщение #10 Boomman » 01.12.2008, 18:39

evil:А вообще, я не понял зачем такой плагин нужен? Всё равно от дополнительных действий не избавиться. А для того, чтобы ничего не терялось, нужно просто сразу после настройки закрыть фубар. Он сохранит. Если следующий запуск завершится падением, то и конфиг не затрётся.
Затрётся. В этом и проблема, что оно иногда ломает ВСЕ конфиги со ВСЕМИ плейлистами.

2zencd
Плагин работает.
Вообще, можно сравнивать размеры. Я сомневаюсь, что размер файла с конфигом может ВНЕЗАПНО уменьшиться в нормальных условиях самостоятельно. Так вот, сравнивать, и если на сильно много отличается, то либо начинать бекапить в другую папку, либо выдавать диалоговое окно, которое будет спрашивать "сломалось ли у вас сейчас что-нибудь?", и если да, то продолжать бекапить туда же.
Ну уж а был краш или нет проверяется одним флагом.
Boomman
Автор темы
Репутация: 0
С нами: 16 лет

Сообщение #11 zencd » 01.12.2008, 21:26

А как проверяется «был краш или нет» «одним флагом»?

У меня пока только такая идея: если появился новый (по сравнению с другими) файлик «failure_000001.log» (или как там они именуются), значит был краш.
zencd M
Аватара
Откуда: spb
Репутация: 1
С нами: 17 лет 6 месяцев

Сообщение #12 Boomman » 02.12.2008, 10:16

Ну эм. Плагин же может где-то хранить свои настройки, да? Вот и писать туда единицу при старте и сбрасывать на ноль при выключении, после бэкапа. Если плагин сразу после включения видит единицу, значит фубар падал или терминейтился in unusual way.
Boomman
Автор темы
Репутация: 0
С нами: 16 лет

Сообщение #13 Boomman » 02.12.2008, 10:28

Да, совсем забыл! Из-за клёвой нестабильности фубара мне приходится перезапускать фубар, чтобы оно сохранило плейлист каждый раз, когда я добавляю какие-нибудь файлы.
Можно ли как-нибудь зафорсить сохранение плейлиста на диск на кнопочку в меню, чтобы не приходилось перезапускать?
Boomman
Автор темы
Репутация: 0
С нами: 16 лет

Сообщение #14 evil » 02.12.2008, 15:48

2Boomman
Фубар стабилен. Удалите глючные компоненты.
evil M
Репутация: 67
С нами: 17 лет 10 месяцев

Сообщение #15 Boomman » 02.12.2008, 19:10

Дело в том, что даже если предположить, что фубар стабилен, то нестабильна винда, которая всё-таки падает с бсодом раз в месяц из-за того, что я использую винду не только как проигрыватель. И в этот момент есть шанс схлопотать полный вайп всех настроек фубара.
Кстати, насчет стабильности: родной KS плагин у меня тупо падает, пытаясь выводить звук на ESI Juli@, выводить через директсаунд я не хочу, потому делаю через ASIO, который был ну ваще нестабилен до последней версии дров, где более-менее ситуация нормализировалась.
Все не используемые мной плагины удалены.
Boomman
Автор темы
Репутация: 0
С нами: 16 лет

Сообщение #16 zencd » 02.12.2008, 21:43

Boomman, хорошая идея насчёт флага в настройках (-:

А насчёт плейлиста, сохранять плейлист на выходе (как делаю я) не помогает потому что будет восстановлен предыдущий плейлист. Для конфига нормально, восстановить предыдущую версию, а для плейлиста не очень (-: Возможно, сохранение по таймауту спасёт.
zencd M
Аватара
Откуда: spb
Репутация: 1
С нами: 17 лет 6 месяцев

Сообщение #17 Boomman » 02.12.2008, 23:16

zencd:Boomman, хорошая идея насчёт флага в настройках (-:

А насчёт плейлиста, сохранять плейлист на выходе (как делаю я) не помогает потому что будет восстановлен предыдущий плейлист. Для конфига нормально, восстановить предыдущую версию, а для плейлиста не очень (-: Возможно, сохранение по таймауту спасёт.
Эм. Я имел в виду что вот если добавить песню в плейлист и убить процесс фубара, то при открытии его заново этой песни в плейлисте не будет. Но плейлист в подавляющем большинстве случаев не слетает в ноль, если убивать процесс. Просто когда оно падает после того, как я добавил несколько файлов, мне приходится опять сортировать торренты по дате закачки, опять перетаскивать...
И я имел в виду не бекап плейлиста а чтобы фубар сбрасывал его на диск сам. Ну то есть сохранял как при выходе в свой файл 00000001.fpl, но не выходя. Есть там возможность сделать такую кнопочку?
А насчёт бекапа по таймеру, лично я считаю, что он не нужен, а иногда вреден, например когда ты нечаянно затёр себе плейлист каким-нибудь простым способом и нужно его восстановить.
Boomman
Автор темы
Репутация: 0
С нами: 16 лет

Сообщение #18 zencd » 06.12.2008, 03:38

Идеология поменялась. Теперь, foo_backup сам обнаруживает что в прошлый раз был крэш, директория с последним хорошим бэкапом переименовывается в уникальную и открывается (выскакивает) в Explorer.exe — всегда можно восстановиться.

http://zencd.spb.ru/foo/foo_backup.zip version 2008.12.06

Файлы бэкапятся такие:
"foobar2000.cfg",
"PlaybackStatistics.dat",
"playlists\\00000001.fpl",
"playlists\\00000002.fpl",
"playlists\\index.dat"
Это пока толком не поправил.

Закрэшить фубар можно принудительно этим компонентом (появляется пункт в меню «File»):
http://zencd.spb.ru/foo/foo_crash.zip
_________

С плейлистами эта идеология не прокатит — поймать изменения случившиеся в рамках последней «плохой» сессии не получится — фубар скидывает плейлист только на выходе. Значит восстановятся  только плейлисты с последней «хорошей» сессии, что малоактуально.

Единственный вариант — следить за изменениями в плейлистах и бэкапить их в таких случаях (или по таймауту — то же самое). Такая идеология (детали можно допилить). В возможность проинструктировать фу делать то же самое «изнутри»  мне как-то слабо верится.
Последний раз редактировалось zencd 06.12.2008, 04:06, всего редактировалось 1 раз.
zencd M
Аватара
Откуда: spb
Репутация: 1
С нами: 17 лет 6 месяцев

Сообщение #19 meDveD » 09.01.2009, 03:11

появился плагин
Autosave 0.0.1 (foo_jesus.dll)
meDveD M
Откуда: SPb
Репутация: 52
С нами: 17 лет 3 месяца


Вернуться в Общая информация