Commit graph

8458 commits

Author SHA1 Message Date
arch1t3cht
ca462c2a24 Merge branch 'info' into feature 2022-07-27 15:26:37 +02:00
arch1t3cht
0926f84d0e Merge branch 'spectrum-frequency-mapping' into feature 2022-07-27 15:26:36 +02:00
arch1t3cht
8ca6ec1884 Merge branches 'vector_clip_actions' and 'color_picker_fix2' into feature 2022-07-27 15:26:34 +02:00
arch1t3cht
9cc3fe9e71 Merge branches 'video_panning_option', 'bugfixes' and 'avisynth' into feature 2022-07-27 15:26:33 +02:00
arch1t3cht
e65e55833c Fix compilation for older C++ 2022-07-27 15:23:47 +02:00
arch1t3cht
818fcd51f4 Folding: Toggling folds by clicking the indicator 2022-07-27 15:23:47 +02:00
arch1t3cht
2176954aee Folding: Pass fold data through Lua
This way, automation scripts won't nuke the fold data on any lines they
modify.
This is done as userdata for now, so scripts that don't know what
they're doing don't break the folds even further. If scripts get more
access to folds, it should be with a safer and simpler API.
2022-07-27 15:23:47 +02:00
arch1t3cht
56cc1a6873 Add line folding
Line folds are managed using metadata of AssDialogue elements, and
saved in the project properties. They only affect the appearance of the
subtitle grid, and have no impact on other line operations.
2022-07-27 15:23:47 +02:00
arch1t3cht
1772dd17ae Use std::this_thread everywhere
The previous logic wouldn't compile on linux using clang.

With the meson build requiring c++14, there's no need for platform
specific code. Really, the entire agi::util::sleep_for function could be
removed entirely, but I'll keep the patch minimal for now.
2022-07-27 15:20:03 +02:00
arch1t3cht
4f9b23ab1f Readme 2022-07-27 02:00:23 +02:00
arch1t3cht
2234068202 Allow vertical audio zoom with Shift+Mouse Wheel 2022-07-26 23:38:27 +02:00
arch1t3cht
ff46b860a2 Add option toggling behaviour of Ctrl+Zoom 2022-07-20 14:38:31 +02:00
arch1t3cht
7ea9b95fe0 Clean up pointer code
The previous one was remnant of scrapped code.
2022-07-19 02:45:04 +02:00
arch1t3cht
2c296afdb8 Add option to restrict color picker to window 2022-07-19 02:41:50 +02:00
arch1t3cht
238dbb386d Restrict color picker's screenshot to window
This fixes issues like Aegisub/Aegisub#264 with taking
screenshots on linux, especially with wxgtk3 or wayland.
2022-07-18 20:21:04 +02:00
arch1t3cht
eb07b3f9b8 Show hotkeys for vector clip tools
Move the function to generate toolbar tooltips listing hotkeys to the
command class, so it can be used outside of toolbar.cpp .
2022-07-12 16:54:04 +02:00
arch1t3cht
7da4493a0f Use command metadata for vector clip toolbar
This cuts down on the data duplication for the command names and help
texts, at the expense of copying a bit of code from the general toolbar
logic.

Modifying the toolbar Populate() function to also add additional buttons
appears very hard or impossible.
2022-07-12 16:49:22 +02:00
arch1t3cht
10d233d3e2 Add bindable commands for visual vector clip tools 2022-07-12 16:49:22 +02:00
arch1t3cht
77af0c40dc Use public enum for visual clip tool modes 2022-07-12 16:49:22 +02:00
arch1t3cht
86354050f3 meson: Use depend_files for files in respack manifest 2022-07-10 23:00:52 +02:00
arch1t3cht
ba0db4da70 Also add Video Pan option on OSX 2022-07-10 22:57:55 +02:00
arch1t3cht
21591b3e88 meson: Use depend_files for files in respack manifest 2022-07-07 10:33:36 +02:00
Eli Schwartz
8336c7d97c meson: use best practices lookup for iconv support
Meson 0.60.0 adds support for an "iconv" dependency that always does the
right thing for you, so that you don't need to think about it. It also
has some side advantages:
- you can do dependency fallback, and --force-fallback-for=iconv works
- it logs one line, not two, and that is "dependency found? yes or no"

Since Aegisub doesn't mandate the use of such new versions of Meson, we
cannot assume the dependency works. Instead, adapt to the version of
Meson being used: on new enough versions of Meson, use the new
dependency, but on older versions of Meson, use the pre-existing logic,
which isn't as nice but has been producing correct results so far.
2022-07-07 00:08:24 -07:00
arch1t3cht
e644227e95 avisynth: Remove option to allow ancient versions
- This refers to AviSynth < 2.5.6, which is from before 2005
- With the current setup (using GetAVSLinkage, these versions wouldn't
  work anyway)
- The latest AviSynthPlus is bundled with the installer anyway
2022-07-05 02:01:35 +02:00
arch1t3cht
635503affe meson: Add files in manifest as respack.py input
This makes meson detect changes to files like default_config.json
and rebuild libresrc.cpp when necessary.
2022-07-05 01:35:08 +02:00
arch1t3cht
e240a5fdc2 avisynth: Update headers and fix playback
- Build the latest AviSynth headers using CMake, as proposed in #134
- Add and initialize AVS_Linkage to fix video loading

Video and audio playback now works in most cases, but still crashes for
some files.
2022-07-05 01:12:10 +02:00
arch1t3cht
142605cf41 meson: Add files in manifest as respack.py input
This makes meson detect changes to files like default_config.json
and rebuild libresrc.cpp when necessary.
2022-07-04 22:22:01 +02:00
arch1t3cht
fdcb0ee75f meson: Fix compliation with avisynth enabled
Still crashes when loading a video.
2022-07-03 17:49:46 +02:00
arch1t3cht
5bde34ff3e macos: attempt to fix the installer build
Try and fix an issue when a symlink would link to a path with the same
basename, without actually having a mac system available to test.
2022-07-02 19:58:43 -07:00
arch1t3cht
2bf4f17e58 ci: Don't abort if one of the matrix runs fails 2022-07-02 19:58:43 -07:00
arch1t3cht
cfd93ce81b meson: Use latest git version for ffms2
This is to include the fix for FFMS/ffms2#394 .
2022-07-02 19:58:43 -07:00
arch1t3cht
6e811ef6a7 Fix compile error on linux 2022-07-02 19:58:43 -07:00
arch1t3cht
9fef97a5bb installer: update paths to mo files
Meson's i18n module changed its output paths here:
487d45c1e5
2022-07-02 19:58:43 -07:00
arch1t3cht
75db50b6ed installer: update paths to Avisynth libaries
The folder structure of the release archives changed with
AviSynth+ 3.7.1.
2022-07-02 19:58:43 -07:00
TRAMBO
4776ca9dd1
Fix errors when automation scripts being loaded and os.execute not working (#156)
* fix errors when automation scripts being loaded and os.execute not working

* Update unicode-monkeypatch.lua
2022-06-08 08:36:49 -07:00
Oneric
e5dee3fbe2 meson: bump ffmpeg wrap
meson-4.4 contains a fix regarding the prefix kwarg
with newer Meson versions not present in the 4.3 branch.
2022-06-08 01:10:11 -07:00
Oneric
85ce9663a6 Pass storage size to libass to fix rendering
Since ASS rendering depends on the storage size of the video libass
needs to know about it to render the subtitles correctly. If it isn't
told about the storage size libass uses the value from PlayRes{X,Y} as
a guess, but this isn't always correct.
With Aegisub currently always rendering at storage resolution
this ends up the same as the frame size.
2022-06-08 01:10:11 -07:00
Sodra
03ffce8a89 Fixing zoom when panning is off 2022-03-02 19:02:21 -08:00
Sodra
bb5081189e Fix video panning option. Oops teehee ptep~ 2022-03-02 18:36:38 -08:00
Sodra
b332181937 Added option to enable video panning 2022-03-02 18:24:17 -08:00
moex3
36f7e102e2 Revert "Add reset hotkey as Ctrl-R" / Not needed
This reverts commit 3d525d9938790211b02a31a16d716498957891fc.
The default hotkey is not required. People can just add a custom one
from the hotkey settings if they want this.
2022-03-02 15:02:02 -08:00
moex3
0b8586e90d Add reset hotkey as Ctrl-R
I'm not entirely sure, that this is how it's supposed to be added.
This requires editing the already existing hotkey.json file (shows path
in log, if it exists).
Should this also be added to hotkey.cpp?
2022-03-02 15:02:01 -08:00
moex3
14d078fb9f Fix a zooming bug on linux
The preview window would change in width, when the video was being zoomed.
Possibly, because on windows, zooming only calls UpdateSize once, but on
linux, it gets called multiple, like 8 times.
Rounding fixed it.
2022-03-02 15:02:01 -08:00
moex3
09ea0f54d3 Make zooming feel more linear
with a "good enough" implementation
2022-03-02 15:02:00 -08:00
moex3
db6297c8c3 Make zooming center around the cursor position 2022-03-02 15:01:59 -08:00
moex3
4f6836da9c Make video zoom different from preview window zoom 2022-03-02 15:01:59 -08:00
moex3
70ddf3c7f5 Respect min. zoom value when changing pan coords 2022-03-02 15:01:58 -08:00
moex3
d73dfe9c18 Change pan values with the zoom level changes 2022-03-02 15:01:58 -08:00
moex3
808ead65bf Fix crosshair drawing
I'm not sure about that scale_factor, i don't know how to test that
2022-03-02 15:01:57 -08:00
moex3
0ec0f20695 Fix mouse position bug when videoAr > displayAr
Crosshair drawing is broken when videoAr != displayAr
2022-03-02 15:01:56 -08:00