Zeratool player - Медиа плеер для Windows

Основные возможности:

  • Создание нескольких независимых друг от друга плееров в одном окне (даблклик по пустому месту главного окна). Каждый такой плеер имеет свой ряд настроек и может воспроизводить свой файл.
  • Возможность выбора аудио-/видео декодеров для каждого плеера из тех, что были захардкожены в исходный код.
  • Возможность вывода звука на любое устройство, найденное в системе (для каждого плеера выбирается отдельно).
  • Поддерживаемые форматы: AVI, MPG, MPEG, TS, MP4, MKV, WEBM. Можно и другие, но в текущей версии захардкожены только эти.

Комментарии к коду:

  • Ранние версии этого плеера (с большим функционалом, чем здесь) были написаны на Delphi очень давно и допиливались в течении нескольких лет. За это время плеер пережил несколько реинкарнаций. Но то была лютая непрезентабельная хрень, которая ни разу никуда не публиковалась.
  • Название плеера появилось в результате прикола и так и осталось. Поймут только те, кто знают этот прикол.
  • В текущем состоянии разработки я специально оставил некоторый говнокод, чтобы переписать его в следующих версиях.
  • Я попытался всё сделать так, чтобы попасть на обзор к Роману Сакутину :grin:

Обновление 0.1.1-alpha

  • Сохранение / загрузка позиции и размера окон
  • Сохранение / загрузка состояния видимости заголовка плеера

Это кто, чем знаменит?)


Падает при запуске, видимо какой-то комбобокс пустой

System.ArgumentOutOfRangeException: InvalidArgument=Value of '0' is not valid for 'SelectedIndex'.
Parameter name: value
Actual value was 0.
  at System.Windows.Forms.ComboBox.set_SelectedIndex (System.Int32 value) [0x0006a] in <2736a4f873604bfea9e5f3a0d64b37d6>:0 
  at Zeratool_player.FormSettings.OnFormCreate () [0x00055] in <cb8daa383e114149a8cba899cf55e298>:0 
  at Zeratool_player.FormSettings..ctor () [0x00013] in <cb8daa383e114149a8cba899cf55e298>:0 

Чот вы Гит/Гитхаб неправильно используете.

Это не гугло/яндекс-диск, не надо создавать папки для релизов. Просто менять текущие файлы и будет история изменений с диффом и т.д.

Для фиксации релизов использовать теги, Гитхаб их автоматически создает при создании релиза

image

Изменения надо загружать (commit + push) из локального клиента: либо консольный, либо один из кучи GUI (в IDE часто есть или GitKraken, SmartGit, оф. клиент гитхаба, …). Тогда всё намного удобнее, можно легко коммитить небольшие изменения, части файлов и т.д. В идеале надо коммитить часто: сделал какую-то небольшую штуку (сохранение позиции, …) — закоммитил. Тогда можно будет нормально смотреть историю, откатывать изменения.

Ну так, я ведь ничего не умею использовать правильно :man_shrugging:

Да, надо будет как-нибудь засесть и разобраться. Но тогда всё удалять придётся.

Если в FormSettings.OnFormCreate, то причина может быть только одна - отсутствие устройств вывода аудио. Видимо, wine не даёт получить их список. Эту ошибку я еще не предусмотрел.

Если вкратце, это такой чел с ютуба. Знаменит тем, что продаёт свои божественные курсы по C# и Unity и обозревает код Гоши Дударя.

Я вроде разобрался с коммитами. Как теперь эту тему удалить, чтобы я ее нормально переделать смог?

Зачем удалять, можно просто новую ссылку дать )

Первое сообщение и другие старые сообщения теперь можно редактировать.

Я бы, кстати, дал ссылку на /releases в первом, чтоб не надо было ее менять постоянно.

Итак, товарищи! Всё фигня, давай по-новой!
Я удалил старый проект и заново зарелизил версию 0.1.0, практически без изменений в старом коде.
Надеюсь, что в коммиты не попала никакая порнуха, на которой я тестировал этот плеер :grin:
Однако, один коммит всё-равно зафакапил, случайно сделав Merge.

В текущем релизе, я это, вроде как, пофиксил :man_shrugging: Проверяйте.
Теперь, если аудиовыходы не найдены, он просто должен пропускать рендеринг звука :thinking: И пустой комбобокс теребить не должен.