frontengine 1.0.49__tar.gz → 1.0.51__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {frontengine-1.0.49 → frontengine-1.0.51}/PKG-INFO +1 -20
- {frontengine-1.0.49 → frontengine-1.0.51}/README.md +0 -19
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/main_ui.py +0 -8
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/tools/tools_setting_ui.py +3 -2
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/user_setting/user_setting_file.py +0 -6
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/multi_language/english.py +1 -25
- frontengine-1.0.51/frontengine/utils/multi_language/france.py +552 -0
- frontengine-1.0.51/frontengine/utils/multi_language/germany.py +555 -0
- frontengine-1.0.51/frontengine/utils/multi_language/italy.py +552 -0
- frontengine-1.0.51/frontengine/utils/multi_language/russian.py +552 -0
- frontengine-1.0.51/frontengine/utils/multi_language/simplified_chinese.py +554 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/multi_language/traditional_chinese.py +0 -24
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine.egg-info/PKG-INFO +1 -20
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine.egg-info/SOURCES.txt +1 -23
- {frontengine-1.0.49 → frontengine-1.0.51}/pyproject.toml +1 -1
- frontengine-1.0.49/frontengine/show/gaming/crosshair_widget.py +0 -161
- frontengine-1.0.49/frontengine/show/teleprompter/teleprompter_widget.py +0 -171
- frontengine-1.0.49/frontengine/ui/dialog/save_file_dialog.py +0 -26
- frontengine-1.0.49/frontengine/ui/page/stream/stream_setting_ui.py +0 -351
- frontengine-1.0.49/frontengine/utils/file/open/__init__.py +0 -1
- frontengine-1.0.49/frontengine/utils/file/open/open_file.py +0 -36
- frontengine-1.0.49/frontengine/utils/file/save/__init__.py +0 -1
- frontengine-1.0.49/frontengine/utils/file/save/save_file.py +0 -33
- frontengine-1.0.49/frontengine/utils/json_format/__init__.py +0 -1
- frontengine-1.0.49/frontengine/utils/json_format/json_process.py +0 -42
- frontengine-1.0.49/frontengine/utils/multi_language/france.py +0 -147
- frontengine-1.0.49/frontengine/utils/multi_language/germany.py +0 -147
- frontengine-1.0.49/frontengine/utils/multi_language/italy.py +0 -147
- frontengine-1.0.49/frontengine/utils/multi_language/russian.py +0 -147
- frontengine-1.0.49/frontengine/utils/multi_language/simplified_chinese.py +0 -147
- frontengine-1.0.49/frontengine/utils/obs/obs_client.py +0 -148
- frontengine-1.0.49/frontengine/utils/obs/obs_protocol.py +0 -140
- frontengine-1.0.49/frontengine/utils/obs/websocket_frames.py +0 -147
- frontengine-1.0.49/frontengine/utils/soundboard/soundboard.py +0 -172
- frontengine-1.0.49/frontengine/utils/theme_schedule/__init__.py +0 -0
- frontengine-1.0.49/frontengine/utils/usage_tracking/__init__.py +0 -0
- frontengine-1.0.49/frontengine/utils/virtual_camera/__init__.py +0 -0
- frontengine-1.0.49/frontengine/utils/weather/__init__.py +0 -0
- frontengine-1.0.49/frontengine/utils/window_pin/__init__.py +0 -0
- frontengine-1.0.49/frontengine/utils/workshop/__init__.py +0 -0
- frontengine-1.0.49/frontengine/worker/__init__.py +0 -0
- frontengine-1.0.49/frontengine/worker/qthread_worker.py +0 -60
- {frontengine-1.0.49 → frontengine-1.0.51}/LICENSE +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/__main__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/base_widget.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/camera/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/camera/camera_widget.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/canvas/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/canvas/whiteboard_widget.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/capture/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/capture/region_capture.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/focus_shield/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/focus_shield/focus_shield_widget.py +0 -0
- {frontengine-1.0.49/frontengine/show/gaming → frontengine-1.0.51/frontengine/show/gif}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/gif/paint_gif.py +0 -0
- {frontengine-1.0.49/frontengine/show/gif → frontengine-1.0.51/frontengine/show/image}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/image/paint_image.py +0 -0
- {frontengine-1.0.49/frontengine/show/image → frontengine-1.0.51/frontengine/show/load}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/load/load_someone_make_ui.py +0 -0
- {frontengine-1.0.49/frontengine/show/load → frontengine-1.0.51/frontengine/show/measure}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/measure/measure_widget.py +0 -0
- {frontengine-1.0.49/frontengine/show/measure → frontengine-1.0.51/frontengine/show/monitor}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/monitor/monitor_widget.py +0 -0
- {frontengine-1.0.49/frontengine/show/monitor → frontengine-1.0.51/frontengine/show/notes}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/notes/sticky_note_widget.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/overlay_factory.py +0 -0
- {frontengine-1.0.49/frontengine/show/notes → frontengine-1.0.51/frontengine/show/particle}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/particle/particle_ui.py +0 -0
- {frontengine-1.0.49/frontengine/show/particle → frontengine-1.0.51/frontengine/show/pet}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/pet/desktop_pet.py +0 -0
- {frontengine-1.0.49/frontengine/show/pet → frontengine-1.0.51/frontengine/show/presentation}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/presentation/annotation_overlay.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/presentation/cursor_effects.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/presentation/keystroke_display.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/presentation/magnifier.py +0 -0
- {frontengine-1.0.49/frontengine/show/presentation → frontengine-1.0.51/frontengine/show/scene}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/scene/extend_graphic_scene.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/scene/extend_graphic_view.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/scene/scene.py +0 -0
- {frontengine-1.0.49/frontengine/show/scene → frontengine-1.0.51/frontengine/show/screen_care}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/screen_care/color_vision_widget.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/screen_care/screen_filter.py +0 -0
- {frontengine-1.0.49/frontengine/show/screen_care → frontengine-1.0.51/frontengine/show/sound_player}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/sound_player/sound_effect.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/sound_player/sound_player.py +0 -0
- {frontengine-1.0.49/frontengine/show/sound_player → frontengine-1.0.51/frontengine/show/spectrum}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/spectrum/spectrum_widget.py +0 -0
- {frontengine-1.0.49/frontengine/show/spectrum → frontengine-1.0.51/frontengine/show/text}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/text/draw_text.py +0 -0
- {frontengine-1.0.49/frontengine/show/teleprompter → frontengine-1.0.51/frontengine/show/toast}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/toast/toast_widget.py +0 -0
- {frontengine-1.0.49/frontengine/show/text → frontengine-1.0.51/frontengine/show/video}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/video/video_player.py +0 -0
- {frontengine-1.0.49/frontengine/show/toast → frontengine-1.0.51/frontengine/show/wallpaper}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/wallpaper/wallpaper_widget.py +0 -0
- {frontengine-1.0.49/frontengine/show/video → frontengine-1.0.51/frontengine/show/web}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/web/webview.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/show/window_helpers.py +0 -0
- {frontengine-1.0.49/frontengine/show/wallpaper → frontengine-1.0.51/frontengine/system_tray}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/system_tray/extend_system_tray.py +0 -0
- {frontengine-1.0.49/frontengine/show/web → frontengine-1.0.51/frontengine/ui}/__init__.py +0 -0
- {frontengine-1.0.49/frontengine/system_tray → frontengine-1.0.51/frontengine/ui/color}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/color/global_color.py +0 -0
- {frontengine-1.0.49/frontengine/ui → frontengine-1.0.51/frontengine/ui/dialog}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/app_profile_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/choose_file_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/clipboard_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/hotkey_settings_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/reminder_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/remote_control_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/screen_privacy_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/screen_text_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/signage_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/smart_pause_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/usage_report_dialog.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/dialog/window_pin_dialog.py +0 -0
- {frontengine-1.0.49/frontengine/ui/color → frontengine-1.0.51/frontengine/ui/menu}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/menu/help_menu.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/menu/how_to_menu.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/menu/language_menu.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/menu/preset_menu.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/menu/settings_menu.py +0 -0
- {frontengine-1.0.49/frontengine/ui/dialog → frontengine-1.0.51/frontengine/ui/page}/__init__.py +0 -0
- {frontengine-1.0.49/frontengine/ui/menu → frontengine-1.0.51/frontengine/ui/page/control_center}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/control_center/control_center_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page → frontengine-1.0.51/frontengine/ui/page/focus}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/focus/focus_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/control_center → frontengine-1.0.51/frontengine/ui/page/gif}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/gif/gif_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/focus → frontengine-1.0.51/frontengine/ui/page/image}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/image/image_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/gif → frontengine-1.0.51/frontengine/ui/page/particle}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/particle/particle_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/image → frontengine-1.0.51/frontengine/ui/page/pet}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/pet/pet_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/particle → frontengine-1.0.51/frontengine/ui/page/presentation}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/presentation/presentation_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/pet → frontengine-1.0.51/frontengine/ui/page/scene_setting}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/scene_setting/scene_manager.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/presentation → frontengine-1.0.51/frontengine/ui/page/scene_setting/scene_page}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/scene_setting/scene_page/base_scene_page.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/scene_setting/scene_page/gif.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/scene_setting/scene_page/image.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/scene_setting/scene_page/registry.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/scene_setting/scene_page/sound.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/scene_setting/scene_page/text.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/scene_setting/scene_page/video.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/scene_setting/scene_page/web.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/scene_setting/scene_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/scene_setting → frontengine-1.0.51/frontengine/ui/page/screen_care}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/screen_care/screen_care_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/scene_setting/scene_page → frontengine-1.0.51/frontengine/ui/page/sound_player}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/sound_player/sound_player_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/screen_care → frontengine-1.0.51/frontengine/ui/page/text}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/text/text_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/sound_player → frontengine-1.0.51/frontengine/ui/page/tools}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/utils.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/stream → frontengine-1.0.51/frontengine/ui/page/video}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/video/video_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/text → frontengine-1.0.51/frontengine/ui/page/wallpaper}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/wallpaper/wallpaper_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/tools → frontengine-1.0.51/frontengine/ui/page/web}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/web/web_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/video → frontengine-1.0.51/frontengine/ui/page/widgets}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/ui/page/widgets/widgets_setting_ui.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/wallpaper → frontengine-1.0.51/frontengine/user_setting}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/user_setting/preset_repository.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/user_setting/scene_setting.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/web → frontengine-1.0.51/frontengine/utils}/__init__.py +0 -0
- {frontengine-1.0.49/frontengine/ui/page/widgets → frontengine-1.0.51/frontengine/utils/app_profile}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/app_profile/app_profile_service.py +0 -0
- {frontengine-1.0.49/frontengine/user_setting → frontengine-1.0.51/frontengine/utils/audio_meter}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/audio_meter/audio_envelope.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/audio_meter/loopback_capture.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/audio_meter/microphone_meter.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/audio_meter/screen_audio.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/audio_meter/spectrum_analyzer.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/audio_meter/system_audio_meter.py +0 -0
- {frontengine-1.0.49/frontengine/utils → frontengine-1.0.51/frontengine/utils/autostart}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/autostart/autostart_service.py +0 -0
- {frontengine-1.0.49/frontengine/utils/app_profile → frontengine-1.0.51/frontengine/utils/break_reminder}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/break_reminder/break_reminder.py +0 -0
- {frontengine-1.0.49/frontengine/utils/audio_meter → frontengine-1.0.51/frontengine/utils/browser}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/browser/browser.py +0 -0
- {frontengine-1.0.49/frontengine/utils/autostart → frontengine-1.0.51/frontengine/utils/clipboard}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/clipboard/clipboard_history.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/clipboard/clipboard_watcher.py +0 -0
- {frontengine-1.0.49/frontengine/utils/break_reminder → frontengine-1.0.51/frontengine/utils/color_vision}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/color_vision/color_vision.py +0 -0
- {frontengine-1.0.49/frontengine/utils/browser → frontengine-1.0.51/frontengine/utils/critical_exit}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/critical_exit/check_key_is_press.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/critical_exit/critical_exit.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/critical_exit/win32_vk.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/exception/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/exception/exception_tags.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/exception/exceptions.py +0 -0
- {frontengine-1.0.49/frontengine/utils/clipboard → frontengine-1.0.51/frontengine/utils/focus_shield}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/focus_shield/focus_shield.py +0 -0
- {frontengine-1.0.49/frontengine/utils/color_vision → frontengine-1.0.51/frontengine/utils/focus_timer}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/focus_timer/focus_timer.py +0 -0
- {frontengine-1.0.49/frontengine/utils/critical_exit → frontengine-1.0.51/frontengine/utils/hotkey}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/hotkey/hotkey_service.py +0 -0
- {frontengine-1.0.49/frontengine/utils/file → frontengine-1.0.51/frontengine/utils/input_watch}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/input_watch/input_watch_service.py +0 -0
- {frontengine-1.0.49/frontengine/utils/focus_shield → frontengine-1.0.51/frontengine/utils/json}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/json/json_file.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/json/json_repository.py +0 -0
- {frontengine-1.0.49/frontengine/utils/focus_timer → frontengine-1.0.51/frontengine/utils/logging}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/logging/loggin_instance.py +0 -0
- {frontengine-1.0.49/frontengine/utils/hotkey → frontengine-1.0.51/frontengine/utils/measure}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/measure/measure.py +0 -0
- {frontengine-1.0.49/frontengine/utils/input_watch → frontengine-1.0.51/frontengine/utils/midi}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/midi/midi_input.py +0 -0
- {frontengine-1.0.49/frontengine/utils/json → frontengine-1.0.51/frontengine/utils/multi_language}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/multi_language/language_wrapper.py +0 -0
- {frontengine-1.0.49/frontengine/utils/logging → frontengine-1.0.51/frontengine/utils/now_playing}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/now_playing/now_playing.py +0 -0
- {frontengine-1.0.49/frontengine/utils/measure → frontengine-1.0.51/frontengine/utils/pet_chat}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/pet_chat/pet_chat_service.py +0 -0
- {frontengine-1.0.49/frontengine/utils/midi → frontengine-1.0.51/frontengine/utils/platform_info}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/platform_info/platform_info.py +0 -0
- {frontengine-1.0.49/frontengine/utils/multi_language → frontengine-1.0.51/frontengine/utils/playlist}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/playlist/playlist.py +0 -0
- {frontengine-1.0.49/frontengine/utils/now_playing → frontengine-1.0.51/frontengine/utils/plugins}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/plugins/plugin_loader.py +0 -0
- {frontengine-1.0.49/frontengine/utils/obs → frontengine-1.0.51/frontengine/utils/power_mode}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/power_mode/power_mode.py +0 -0
- {frontengine-1.0.49/frontengine/utils/pet_chat → frontengine-1.0.51/frontengine/utils/preset_schedule}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/preset_schedule/preset_schedule_service.py +0 -0
- {frontengine-1.0.49/frontengine/utils/platform_info → frontengine-1.0.51/frontengine/utils/recording}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/recording/frame_recorder.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/recording/gif_writer.py +0 -0
- {frontengine-1.0.49/frontengine/utils/playlist → frontengine-1.0.51/frontengine/utils/redirect_manager}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/redirect_manager/redirect_manager_class.py +0 -0
- {frontengine-1.0.49/frontengine/utils/plugins → frontengine-1.0.51/frontengine/utils/reminder}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/reminder/reminder_service.py +0 -0
- {frontengine-1.0.49/frontengine/utils/power_mode → frontengine-1.0.51/frontengine/utils/remote}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/remote/remote_server.py +0 -0
- {frontengine-1.0.49/frontengine/utils/preset_schedule → frontengine-1.0.51/frontengine/utils/screen_privacy}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/screen_privacy/capture_affinity.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/screen_privacy/share_watch.py +0 -0
- {frontengine-1.0.49/frontengine/utils/recording → frontengine-1.0.51/frontengine/utils/screen_text}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/screen_text/screen_text_service.py +0 -0
- {frontengine-1.0.49/frontengine/utils/redirect_manager → frontengine-1.0.51/frontengine/utils/signage}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/signage/signage_service.py +0 -0
- {frontengine-1.0.49/frontengine/utils/reminder → frontengine-1.0.51/frontengine/utils/smart_pause}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/smart_pause/pause_rules.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/smart_pause/smart_pause_service.py +0 -0
- {frontengine-1.0.49/frontengine/utils/remote → frontengine-1.0.51/frontengine/utils/system_stats}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/system_stats/system_stats.py +0 -0
- {frontengine-1.0.49/frontengine/utils/screen_privacy → frontengine-1.0.51/frontengine/utils/text_source}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/text_source/text_source.py +0 -0
- {frontengine-1.0.49/frontengine/utils/screen_text → frontengine-1.0.51/frontengine/utils/theme_schedule}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/theme_schedule/theme_schedule_service.py +0 -0
- {frontengine-1.0.49/frontengine/utils/signage → frontengine-1.0.51/frontengine/utils/usage_tracking}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/usage_tracking/usage_service.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/usage_tracking/usage_tracker.py +0 -0
- {frontengine-1.0.49/frontengine/utils/smart_pause → frontengine-1.0.51/frontengine/utils/virtual_camera}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/virtual_camera/camera_feed.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/virtual_camera/virtual_camera.py +0 -0
- {frontengine-1.0.49/frontengine/utils/soundboard → frontengine-1.0.51/frontengine/utils/weather}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/weather/weather_service.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/web_url.py +0 -0
- {frontengine-1.0.49/frontengine/utils/system_stats → frontengine-1.0.51/frontengine/utils/window_pin}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/window_pin/window_layout.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/window_pin/window_pin.py +0 -0
- {frontengine-1.0.49/frontengine/utils/text_source → frontengine-1.0.51/frontengine/utils/workshop}/__init__.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine/utils/workshop/workshop_content.py +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine.egg-info/dependency_links.txt +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine.egg-info/entry_points.txt +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine.egg-info/requires.txt +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/frontengine.egg-info/top_level.txt +0 -0
- {frontengine-1.0.49 → frontengine-1.0.51}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: frontengine
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.51
|
|
4
4
|
Summary: FrontEngine is use-define frontview or only use like screen saver
|
|
5
5
|
Author-email: JE-Chen <jechenmailman@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/FrontEngine
|
|
@@ -185,25 +185,6 @@ that caps every overlay's refresh rate and drops its render resolution.
|
|
|
185
185
|
|
|
186
186
|
---
|
|
187
187
|
|
|
188
|
-
## Stream and gaming
|
|
189
|
-
|
|
190
|
-
Four things on the **Stream** tab, for playing and for going live:
|
|
191
|
-
|
|
192
|
-
- **Crosshair** — a cross, dot, circle or T shape in the middle of the screen,
|
|
193
|
-
in your colour and size. It is **only drawn on top**: nothing is injected,
|
|
194
|
-
no memory is read, no game file is touched. An exclusive-fullscreen game will
|
|
195
|
-
cover it, which is how the OS stacks windows.
|
|
196
|
-
- **Teleprompter** — scroll a script at an adjustable speed and size, with a
|
|
197
|
-
mirror option for prompter glass. It stops at the last line rather than
|
|
198
|
-
snapping back mid-read.
|
|
199
|
-
- **Soundboard** — up to twelve slots, each with a sound and an optional
|
|
200
|
-
hotkey. A file that has gone missing is dropped rather than kept as a dead
|
|
201
|
-
button.
|
|
202
|
-
- **OBS** — switch scenes and toggle recording or streaming through OBS's own
|
|
203
|
-
WebSocket (built in since OBS 28). The password stays in your local settings.
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
188
|
## Signage, whiteboard and lip-sync
|
|
208
189
|
|
|
209
190
|
- **Signage mode** (Settings) — rotate through a list of presets on a timer and
|
|
@@ -161,25 +161,6 @@ that caps every overlay's refresh rate and drops its render resolution.
|
|
|
161
161
|
|
|
162
162
|
---
|
|
163
163
|
|
|
164
|
-
## Stream and gaming
|
|
165
|
-
|
|
166
|
-
Four things on the **Stream** tab, for playing and for going live:
|
|
167
|
-
|
|
168
|
-
- **Crosshair** — a cross, dot, circle or T shape in the middle of the screen,
|
|
169
|
-
in your colour and size. It is **only drawn on top**: nothing is injected,
|
|
170
|
-
no memory is read, no game file is touched. An exclusive-fullscreen game will
|
|
171
|
-
cover it, which is how the OS stacks windows.
|
|
172
|
-
- **Teleprompter** — scroll a script at an adjustable speed and size, with a
|
|
173
|
-
mirror option for prompter glass. It stops at the last line rather than
|
|
174
|
-
snapping back mid-read.
|
|
175
|
-
- **Soundboard** — up to twelve slots, each with a sound and an optional
|
|
176
|
-
hotkey. A file that has gone missing is dropped rather than kept as a dead
|
|
177
|
-
button.
|
|
178
|
-
- **OBS** — switch scenes and toggle recording or streaming through OBS's own
|
|
179
|
-
WebSocket (built in since OBS 28). The password stays in your local settings.
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
164
|
## Signage, whiteboard and lip-sync
|
|
184
165
|
|
|
185
166
|
- **Signage mode** (Settings) — rotate through a list of presets on a timer and
|
|
@@ -29,7 +29,6 @@ from frontengine.ui.page.scene_setting.scene_setting_ui import SceneSettingUI
|
|
|
29
29
|
from frontengine.ui.page.presentation.presentation_setting_ui import PresentationSettingUI
|
|
30
30
|
from frontengine.ui.page.screen_care.screen_care_setting_ui import ScreenCareSettingUI
|
|
31
31
|
from frontengine.ui.page.sound_player.sound_player_setting_ui import SoundPlayerSettingUI
|
|
32
|
-
from frontengine.ui.page.stream.stream_setting_ui import StreamSettingUI
|
|
33
32
|
from frontengine.ui.page.text.text_setting_ui import TextSettingUI
|
|
34
33
|
from frontengine.ui.page.tools.tools_setting_ui import ToolsSettingUI
|
|
35
34
|
from frontengine.ui.page.video.video_setting_ui import VideoSettingUI
|
|
@@ -150,7 +149,6 @@ class FrontEngineMainUI(QMainWindow):
|
|
|
150
149
|
self.focus_setting_ui = FocusSettingUI()
|
|
151
150
|
self.widgets_setting_ui = WidgetsSettingUI()
|
|
152
151
|
self.tools_setting_ui = ToolsSettingUI()
|
|
153
|
-
self.stream_setting_ui = StreamSettingUI()
|
|
154
152
|
|
|
155
153
|
# 控制中心
|
|
156
154
|
# Control Center
|
|
@@ -362,9 +360,6 @@ class FrontEngineMainUI(QMainWindow):
|
|
|
362
360
|
for attribute in ("measure_widget_list", "capture_widget_list", "camera_widget_list"):
|
|
363
361
|
self.control_center_ui.register_overlay_source(
|
|
364
362
|
lambda attribute=attribute: getattr(self.tools_setting_ui, attribute, []))
|
|
365
|
-
for attribute in ("crosshair_widget_list", "teleprompter_widget_list"):
|
|
366
|
-
self.control_center_ui.register_overlay_source(
|
|
367
|
-
lambda attribute=attribute: getattr(self.stream_setting_ui, attribute, []))
|
|
368
363
|
|
|
369
364
|
def _add_tabs(self) -> None:
|
|
370
365
|
"""加入所有內建與擴充的 Tab / Add all built-in and extended tabs"""
|
|
@@ -384,7 +379,6 @@ class FrontEngineMainUI(QMainWindow):
|
|
|
384
379
|
(self.focus_setting_ui, "tab_focus_text"),
|
|
385
380
|
(self.widgets_setting_ui, "tab_widgets_text"),
|
|
386
381
|
(self.tools_setting_ui, "tab_tools_text"),
|
|
387
|
-
(self.stream_setting_ui, "tab_stream_text"),
|
|
388
382
|
(self.control_center_ui, "tab_control_center_text"),
|
|
389
383
|
]
|
|
390
384
|
|
|
@@ -681,8 +675,6 @@ class FrontEngineMainUI(QMainWindow):
|
|
|
681
675
|
self.tools_setting_ui.release_pinned_windows()
|
|
682
676
|
self.tools_setting_ui.stop_camera()
|
|
683
677
|
self.tools_setting_ui.stop_virtual_camera()
|
|
684
|
-
if getattr(self, "stream_setting_ui", None) is not None:
|
|
685
|
-
self.stream_setting_ui.soundboard.stop_all()
|
|
686
678
|
|
|
687
679
|
def _clear_overlays(self) -> None:
|
|
688
680
|
"""清空各分頁記著的覆蓋層清單。"""
|
|
@@ -52,6 +52,7 @@ from frontengine.utils.window_pin.window_layout import capture_layout, restore_l
|
|
|
52
52
|
# The English fallback shared by three call sites, seen only when a
|
|
53
53
|
# translation is missing.
|
|
54
54
|
_RECORD_AREA = "Record area"
|
|
55
|
+
_RECORD_AN_AREA = "Record an area"
|
|
55
56
|
|
|
56
57
|
|
|
57
58
|
def _t(key: str, fallback: str) -> str:
|
|
@@ -191,7 +192,7 @@ class ToolsSettingUI(QWidget):
|
|
|
191
192
|
self.record_seconds_spinbox.setRange(1, 120)
|
|
192
193
|
self.record_seconds_spinbox.setValue(DEFAULT_MAX_SECONDS)
|
|
193
194
|
self.record_camera_checkbox = QCheckBox(_t("tools_record_camera", "Include camera"))
|
|
194
|
-
self.record_button = QPushButton(_t("tools_record_start",
|
|
195
|
+
self.record_button = QPushButton(_t("tools_record_start", _RECORD_AN_AREA))
|
|
195
196
|
self.record_button.clicked.connect(self.toggle_recording)
|
|
196
197
|
|
|
197
198
|
def _build_virtual_camera_row(self) -> None:
|
|
@@ -497,7 +498,7 @@ class ToolsSettingUI(QWidget):
|
|
|
497
498
|
def finish_recording(self) -> Optional[str]:
|
|
498
499
|
"""停止錄製並存成 GIF,回傳檔案路徑。"""
|
|
499
500
|
self.recorder.stop()
|
|
500
|
-
self.record_button.setText(_t("tools_record_start",
|
|
501
|
+
self.record_button.setText(_t("tools_record_start", _RECORD_AN_AREA))
|
|
501
502
|
if not self.recorder.frames:
|
|
502
503
|
return None
|
|
503
504
|
target = QFileDialog.getSaveFileName(
|
|
@@ -81,12 +81,6 @@ user_setting_dict: Dict[str, Any] = {
|
|
|
81
81
|
# 是否同意把擷取畫面送到 Anthropic 讀取文字(預設不同意)
|
|
82
82
|
# Consent to send captures to Anthropic for reading text (off by default).
|
|
83
83
|
"screen_text_consent": False,
|
|
84
|
-
# 音效板:[{label, path, hotkey, volume}]
|
|
85
|
-
# Soundboard slots: [{label, path, hotkey, volume}]
|
|
86
|
-
"soundboard": [],
|
|
87
|
-
# OBS WebSocket 連線設定(密碼只留在本機設定檔)
|
|
88
|
-
# OBS WebSocket connection; the password stays in the local settings file.
|
|
89
|
-
"obs": {"host": "127.0.0.1", "port": 4455, "password": "", "scene": ""},
|
|
90
84
|
# 覆蓋層畫質檔位:high / balanced / saver
|
|
91
85
|
# Overlay quality tier: high / balanced / saver.
|
|
92
86
|
"quality_tier": "high",
|
|
@@ -500,7 +500,7 @@ english_word_dict = {
|
|
|
500
500
|
"tools_layout_save": 'Save layout',
|
|
501
501
|
"tools_layout_restore": 'Restore',
|
|
502
502
|
"tools_record_label": 'Record area',
|
|
503
|
-
"tools_record_start": 'Record area',
|
|
503
|
+
"tools_record_start": 'Record an area',
|
|
504
504
|
"tools_record_stop": 'Stop recording',
|
|
505
505
|
"tools_record_camera": 'Include camera',
|
|
506
506
|
"tools_record_save": 'Save recording',
|
|
@@ -518,30 +518,6 @@ english_word_dict = {
|
|
|
518
518
|
"screen_text_consent_body": "Reading text needs the captured area sent to Anthropic's API. It leaves this machine, and anything visible in the selection goes with it. Your own ANTHROPIC_API_KEY is used. Send captures?",
|
|
519
519
|
"screen_text_no_key": 'Set {env} in your environment to use this.',
|
|
520
520
|
"screen_text_ready": 'Captures are sent to Anthropic only while the box above is ticked.',
|
|
521
|
-
"tab_stream_text": 'Stream',
|
|
522
|
-
"stream_crosshair_label": 'Crosshair',
|
|
523
|
-
"stream_crosshair_cross": 'Cross',
|
|
524
|
-
"stream_crosshair_dot": 'Dot',
|
|
525
|
-
"stream_crosshair_circle": 'Circle',
|
|
526
|
-
"stream_crosshair_t": 'T shape',
|
|
527
|
-
"stream_crosshair_start": 'Show crosshair',
|
|
528
|
-
"stream_crosshair_stop": 'Hide crosshair',
|
|
529
|
-
"stream_teleprompter_label": 'Teleprompter',
|
|
530
|
-
"stream_teleprompter_script": 'Paste your script here',
|
|
531
|
-
"stream_teleprompter_mirror": 'Mirror',
|
|
532
|
-
"stream_teleprompter_start": 'Start prompter',
|
|
533
|
-
"stream_teleprompter_stop": 'Stop prompter',
|
|
534
|
-
"stream_sound_label": 'Soundboard',
|
|
535
|
-
"stream_sound_add": 'Add sound',
|
|
536
|
-
"stream_sound_remove": 'Remove',
|
|
537
|
-
"stream_sound_play": 'Play',
|
|
538
|
-
"stream_obs_label": 'OBS',
|
|
539
|
-
"stream_obs_password": 'WebSocket password', # NOSONAR - a field label, not a credential
|
|
540
|
-
"stream_obs_scene": 'Scene name',
|
|
541
|
-
"stream_obs_switch": 'Switch scene',
|
|
542
|
-
"stream_obs_record": 'Toggle recording',
|
|
543
|
-
"stream_obs_stream": 'Toggle streaming',
|
|
544
|
-
"stream_hint": 'The crosshair is only drawn on top - no game is modified. OBS control uses its own WebSocket; the password is kept in your local settings.',
|
|
545
521
|
"control_center_hide_from_capture": 'Hide from capture',
|
|
546
522
|
"control_center_show_in_capture": 'Show in capture',
|
|
547
523
|
"settings_menu_screen_privacy": 'Screen-sharing privacy...',
|