Skip to content

Commit

Permalink
Merge pull request #1 from Himura2la/master
Browse files Browse the repository at this point in the history
Upstream merge
  • Loading branch information
SAMOXA authored Feb 4, 2019
2 parents 152876a + 44a9046 commit 3c2877e
Show file tree
Hide file tree
Showing 13 changed files with 242 additions and 171 deletions.
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

Сидел я однажды на региональном Аниме-фесте, смотрел как на проекторе мышкой таскают файлы и осознал что *хватит это терпеть!*

Миру нужна система, через которую можно одновременно показывать картинку на проекторе (задник), включать аудио и при необходимости включать видео вместо картинки.
Миру нужна простая и бесплатная система, через которую можно одновременно показывать картинку на проекторе (задник), включать аудио и при необходимости включать видео вместо картинки.

На одном компьютере.

В одном приложении.

Приехал домой и начал писать **Fest Engine**. Давно хотел что-нибудь полезное назвать **Fest Engine**. Вроде норм звучит.

## Как было раньше у меня:
## Как было раньше:

- AIMP для аудио на первом компе/операторе без проектора.
- Cosplay2 Timer для обратного отсчета на втором компе, который на проекторе.
Expand All @@ -23,6 +23,14 @@

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

Есть, конечно, такой софт как [Resolume Arena](https://resolume.com/), но:

1. Это сверх-мега-убер-дорого (если не пиратить)
2. Это сильно менее гибко. Каждую сцену надо настраивать отдельно вручную, задники и треки на разных слоях держать, никаких переносов и поиска, от названий видны только номера и превьюхи...
4. Каждую сцену надо настраивать отдельно вручную! Еще раз! С этим очень легко ошибиться и впилить кому-нибудь неверный задник или трек. В FestEngine абсолютно всё завязано на именах файлов, так что можно довериться продуманным скриптам и включать номера спокойно.
3. Управление завязано на мышку. Я даже не уверен, что MIDI-контроллер спасёт, ибо на фестах никогда всё не идёт по плану, гибкость крайне важна. Просто включать сцены подряд не прокатит.


# Как это теперь:

![так](etc/scr.png)
Expand Down
9 changes: 6 additions & 3 deletions USES.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@
| [СROSSxOVER 2017](https://vk.com/crossover_42) | Кемерово | 9 сентября 2017 г. | [@Oreolek](https://github.com/Oreolek) |
| [Интерактивный аниме показ "Танец духов"](https://vk.com/tulaanime11) | Тула | 10 декабря 2017 г. | [@Himura2la](https://github.com/Himura2la) |
| [Седьмой Тульский Аниме-фестиваль Yuki no Odori](https://vk.com/tulaanimefest) | Тула | 17 февраля 2018 г. | [@Himura2la](https://github.com/Himura2la) |
| [Косплей-дефиле на UnityCon 2018](https://vk.com/unityconcosplay) | Москва | 11 марта 2018 г. | [@Himura2la](https://github.com/Himura2la) |
| [Косплей-дефиле на UnityCon 2018](http://unitycon.ru) | Москва | 11 марта 2018 г. | [@Himura2la](https://github.com/Himura2la) |
| [AtomCosCon 2018](https://vk.com/cosfest) | Дубна (МО) | 5 мая 2018г. | [destinyx](https://vk.com/destinxxx) |
| [СROSSxOVER 2018](https://vk.com/crossover_42) | Кемерово | 30 июня 2018 г. | [@Oreolek](https://github.com/Oreolek) |
| [ANI-SHINAI 2018](http://ani-shinai.ru/) | Калуга | 14 июля 2018г. | [@Himura2la](https://github.com/Himura2la) |
| [GAC-fest 2018](https://vk.com/gacfest2018) | Тула | 21 июля 2018г. | [@Himura2la](https://github.com/Himura2la) |
| [ГРЕЧА-фест 2018](https://vk.com/grechafest2018) | Брянск | 18 августа 2018г. | [@Himura2la](https://github.com/Himura2la) |
| [Gakko 10](https://vk.com/club85877017) | Белгород | 26 августа 2018г. |

| [Gakko 10](https://vk.com/club85877017) | Белгород | 26 августа 2018г. | [@Himura2la](https://github.com/Himura2la) |
| [Главная сцена на DatFest 2018](http://datfest.ru) | Москва | 2 сентября 2018г. | [@Himura2la](https://github.com/Himura2la) |
| [Mira Kamen Convention 2018](https://vk.com/mkfest) | Калуга | 17 ноября 2018г. | [Toki-chan](https://vk.com/toki__chan) |
| [Tatakae! 3+1](https://vk.com/tata4old) | Старый Оскол | 12 января 2019г. | [@Himura2la](https://github.com/Himura2la) |
| [Yuki no Odori 8](https://vk.com/tulaanimefest) | Тула | 2 февраля 2019г. | [@Himura2la](https://github.com/Himura2la) |
17 changes: 7 additions & 10 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ environment:
- ARCH: '32'
VLC: '2.2.8'

# init:
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
#init:
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

# on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
#on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

install:
- ps: |
Expand All @@ -31,7 +31,6 @@ install:
}
- cmd: |
set PATH=%PYTHON_PATH%;%PYTHON_PATH%\Scripts;%PATH%
python -m pip install --upgrade pip
pip install pyinstaller python-vlc wxpython pywinauto
choco install -y --no-progress %VLC_INSTALL_FLAGS% vlc
Expand All @@ -53,12 +52,10 @@ after_build:
del MSVCP140.dll VCRUNTIME140.dll api-ms-* # GPL does not allow...
before_test:
- ps: |
- cmd: |
echo "--- before_test (Downloading test data) ---"
cd "$env:APPVEYOR_BUILD_FOLDER\test\data"
git submodule init; git submodule update
7z x .\data.7z
mv .\data\* .
cd "%APPVEYOR_BUILD_FOLDER%\test\data"
git submodule update --init
test_script:
- cmd: python -m unittest discover "%APPVEYOR_BUILD_FOLDER%\test"
Expand Down
4 changes: 4 additions & 0 deletions bin/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,4 +95,8 @@
print("--- Removing:", libs_to_exclude)
[os.remove(lib) for lib in libs_to_exclude]

plugins_cache = os.path.join(bin_path, name, 'plugins', 'plugins.dat')
if os.path.isfile(plugins_cache):
os.remove(plugins_cache)

print("--------------- Ready! ---------------")
6 changes: 3 additions & 3 deletions src/background_music_player.py
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ def __init__(self, main_window):
self.top_toolbar.Add(self.fade_in_out_switch, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, border=3)
self.fade_in_out_switch.Bind(wx.EVT_CHECKBOX, self.main_window.fade_switched)

self.play_btn = wx.Button(self, label="Play (^+F4)", size=(80, toolbar_base_height + 2))
self.play_btn = wx.Button(self, label="Play (F4)", size=(80, toolbar_base_height + 2))
self.play_btn.Enable(False)
self.top_toolbar.Add(self.play_btn, 0)
self.play_btn.Bind(wx.EVT_BUTTON, lambda e: main_window.background_play(from_grid=True))
Expand Down Expand Up @@ -275,8 +275,8 @@ def select_row(e):

f3_id, f4_id, shift_f4_id, esc_id, shift_esc_id = wx.NewId(), wx.NewId(), wx.NewId(), wx.NewId(), wx.NewId()
self.Bind(wx.EVT_MENU, main_window.play_pause_bg, id=f3_id)
self.Bind(wx.EVT_MENU, main_window.background_play, id=f4_id)
self.Bind(wx.EVT_MENU, lambda e: main_window.background_play(from_grid=True), id=shift_f4_id)
self.Bind(wx.EVT_MENU, lambda e: main_window.background_play(from_grid=True), id=f4_id)
self.Bind(wx.EVT_MENU, main_window.background_play, id=shift_f4_id)

self.Bind(wx.EVT_MENU, main_window.end_show, id=esc_id)
self.Bind(wx.EVT_MENU, main_window.emergency_stop, id=shift_esc_id)
Expand Down
2 changes: 1 addition & 1 deletion src/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@ class Colors:


class FileTypes:
video_extensions = {'avi', 'mp4', 'mov', 'wmv', 'mkv'}
video_extensions = {'avi', 'mp4', 'mov', 'wmv', 'mkv', 'm3u'}
audio_extensions = {'mp3', 'wav', 'flac', 'ogg', 'm4a', 'aac'}
img_extensions = {'jpeg', 'png', 'jpg'}
4 changes: 2 additions & 2 deletions src/locale/gettext.bat
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
set PYTHON_PATH=C:\Python36
python %PYTHON_PATH%\Tools\i18n\pygettext.py -o main.pot ..\main.pyw ..\settings.py
set PYTHON_PATH=%PROGRAMFILES%\Python37
py -3 "%PYTHON_PATH%\Tools\i18n\pygettext.py" -o main.pot ..\main.pyw ..\settings.py
4 changes: 2 additions & 2 deletions src/locale/msgfmt.bat
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
set PYTHON_PATH=C:\Python36
python %PYTHON_PATH%\Tools\i18n\msgfmt.py -o .\ru\LC_MESSAGES\main.mo .\ru\LC_MESSAGES\main.po
set PYTHON_PATH=%PROGRAMFILES%\Python37
py -3 "%PYTHON_PATH%\Tools\i18n\msgfmt.py" -o .\ru\LC_MESSAGES\main.mo .\ru\LC_MESSAGES\main.po
Loading

0 comments on commit 3c2877e

Please sign in to comment.