Commit graph

988 commits

Author SHA1 Message Date
arch1t3cht
2bcf0c7555 Merge branch 'video_panning_option' into feature 2022-10-11 18:55:11 +02:00
arch1t3cht
b38493ee68 video zoom: Fix crash on windows when making detached video too small 2022-10-11 18:54:55 +02:00
arch1t3cht
0e89f32cfb video zoom: Fix detached video with DPI scaling 2022-10-11 18:31:46 +02:00
arch1t3cht
17831ca0f4 video zoom: Fix visual tools with DPI scaling 2022-10-11 15:15:40 +02:00
arch1t3cht
b8b85eb580 Merge branch 'wangqr_gui' into feature 2022-10-10 01:43:27 +02:00
IbarakiKasen
049c1c08d1 Fix wxFlexGridSizer flex grow
Fix wangqr/Aegisub#143
2022-10-10 01:17:35 +02:00
wangqr
e69c4e9a86 Expand all widgets in SubsEditBox to get a consistent height 2022-10-10 01:17:35 +02:00
wangqr
53cc316e6f Expand layer SpinCtrl a little
to compensate wxMac bug with GetSizeFromText
2022-10-10 01:17:35 +02:00
wangqr
d55922d3cf Don't shrink the size of layer SpinCtrl on GTK3 2022-10-10 01:17:35 +02:00
wangqr
7fe4382d38 Remove hardcoded height of the slider
Before this the slider is only partially displayed
2022-10-10 01:17:35 +02:00
wangqr
ed15252d69 Add workaround for wrong initial wxTextCtrl size in about dialog
See https://trac.wxwidgets.org/ticket/18507

Fix wangqr/Aegisub#19
2022-10-10 01:17:35 +02:00
wangqr
af7cbb7730 Set the height of sub box to the same as secondary_editor
The secondary_editor is a wxTextCtrl, whose height is calculated from 2 rows of text. Using this height gives better consistency on screens with different DPIs, instead of using hard coded value like 50px
2022-10-10 01:17:35 +02:00
wangqr
0e0e04c943 Set the height of sub box back to 50px
Revert the change made in ad15c53fb1.
As a temporary solution for wangqr/Aegisub#4.
2022-10-10 01:17:35 +02:00
wangqr
6cb1a49943 Fix High DPI issue on GTK
* Use icon size in the config
2022-10-10 01:17:35 +02:00
wangqr
5f3757525a Add DPI awareness
* Removed most hard coded wxSize
* Sub edit box now have DPI aware icons

Co-authored-by: sepro <4618135+seproDev@users.noreply.github.com>
2022-10-10 01:17:34 +02:00
sepro
e2ef1eb77f windows: enable DPI awareness in manifest 2022-10-10 01:17:34 +02:00
arch1t3cht
cc9d13d21a fix 2022-10-10 01:17:34 +02:00
sepro
1469f1499b meson: apply custom manifest on windows
Co-authored-by: arch1t3cht <arch1t3cht@gmail.com>
2022-10-09 01:30:39 +02:00
arch1t3cht
ccc5f44a5f Merge branches 'info', 'bugfixes', 'workarounds', 'fixes', 'folding', 'bestsource', 'avisynth' and 'vapoursynth' into feature 2022-09-27 23:37:18 +02:00
arch1t3cht
40a9344d44 vapoursynth: Check if file exists before creating provider
Since FileNotFound exceptions don't abort the provider search, opening
an invalid path would show errors such as "vapoursynth not found" when
VapourSynth wasn't installed, even if VapourSynth wasn't selected as the
default video provider.
2022-09-27 23:17:54 +02:00
arch1t3cht
febce3ecdc vapoursynth: Add configurable default script
This default script will be executed to load any file whose file name
extension is not .py or .vpy .

The gui code for setting the default script is still a bit wonky as it
doesn't fit the rest of the preferences pages nicely, but it works for
now.
2022-09-27 23:14:30 +02:00
arch1t3cht
fe77a1a0b8 avisynth: Check if file exists before creating provider
Since FileNotFound exceptions don't abort the provider search, opening
an invalid path would show errors such as "avisynth not found" when
Avisynth wasn't installed, even if Avisynth wasn't selected as the video
provider.
2022-09-27 22:59:01 +02:00
arch1t3cht
38efde92e3 folding: Fix selections jumping around 2022-09-14 11:31:50 +02:00
arch1t3cht
a394aefd1a Fix crash when cancelling automation scripts
When cancelling an automation macro from the progress dialog, the dialog
throws a UserCancelException. If the macro still runs to the end
afterwards (instead of calling aegisub.cancel or causing an exception),
the two return values are left on the stack. This causes assertion errors
due to check_stack when those are enabled.
2022-09-13 22:41:18 +02:00
arch1t3cht
7ea1d650a9 bestsource: Fixes to fps and colorspace conversion
Some of these got lost in the process before.
For now, default to 709 if the colorspace is unkown. More detailed
colorspace guessing can be added in the future.
2022-08-29 11:11:05 +02:00
arch1t3cht
3fedc88641 Include strings.rc as resource file on Windows
This was included here:
6f546951b4/build/Aegisub/Aegisub.vcxproj.filters (L1094)
in the MSVC build.
2022-08-28 01:38:41 +02:00
arch1t3cht
bb16cdf7fe Merge branches 'folding', 'misc' and 'bestsource' into feature 2022-08-23 20:16:55 +02:00
arch1t3cht
9ea7808a30 bestsource: Mark video provider as slow
Looks like this wasn't clear enough, so let's make it clear to users
that BestVideoSource should only be used if absolutely necessary.
2022-08-23 20:13:45 +02:00
arch1t3cht
6b43e643cb Merge branch 'wangqr_time_video' into feature 2022-08-23 19:59:24 +02:00
arch1t3cht
c7c874acc4 Add commands to reload audio or video
This is mostly useful for reloading Avisyth or VapourSynth scripts.
2022-08-23 19:53:40 +02:00
arch1t3cht
b2fbc84335 AlignToVideo: Reexport the new icon files
Some metadata of these files was triggering the assertion errors in #6 .
Reexporting the icons using ffmpeg fixed this.

Fixes #6 .
2022-08-23 19:30:41 +02:00
arch1t3cht
c8d4df1355 Add option to sort subtitles by text 2022-08-23 16:11:23 +02:00
arch1t3cht
9b920c7892 folding: Always write fold data to file 2022-08-23 15:55:26 +02:00
arch1t3cht
2e78b9cfde Merge branch 'video_panning_option' into feature 2022-08-23 04:51:41 +02:00
arch1t3cht
98d476102e video zoom: Fix aspect ratio forcing
Do this by partially reverting the changes to UpdateSize in favor of
just multiplying by videoZoomValue *after* setting all the window sizes.
2022-08-23 04:48:33 +02:00
arch1t3cht
1dbd3b3cc7 Merge branches 'fixes' and 'ffmpeg_build' into feature 2022-08-22 02:26:03 +02:00
arch1t3cht
5a0bfdd775 Remove unnecessary flags in SelectedChoices dialog
These alignment flags would cause an assertion error
"Horizontal alignment flags are ignored in horizontal sizers"
when opening the dialog (mainly when importing styles from another
script).
As the assertion error says, the flags are ignored anyway, so they're
safe to remove.
2022-08-21 02:31:33 +02:00
arch1t3cht
7f7f5c8385 Merge branch 'misc' into feature 2022-08-19 21:18:48 +02:00
arch1t3cht
732c5c7654 Copy subitles: Fix wxBitmap usage
UseAlpha turned out to be unnecessary and doesn't even exist in some
wxWidgets ports.
2022-08-19 21:17:29 +02:00
arch1t3cht
3b8cc6deb1 Merge branches 'misc', 'xa2-ds' and 'info' into feature 2022-08-19 02:31:59 +02:00
arch1t3cht
aadf6b32b9 Add option to copy or save subtitles with transparent background 2022-08-19 01:46:19 +02:00
arch1t3cht
819d90e9b0 Stereo playback on Linux audio players
After the audio provider rework, adjust the audio players to not
use the int16 mono downmixed audio unless necessary. Furthermore,
the pulseaudio-based player now controls the volume directly through
pulseaudio instead of by modifying the buffer. This also reduces latency
when changing the volume.

The entire set of GetAudio functions is quite messy now. After wangqr's
audio rework, it was split into GetAudio and GetInt16MonoAudio
functions, but now volume scaling is also necessary. Really, this should
go back to a type constructor based system with audio players being
allowed to choose what properties out of mono / 16 bytes / int samples /
volume they need.
2022-08-18 22:48:40 +02:00
arch1t3cht
8169f0c6dc Merge branch 'xa2-ds' into feature 2022-08-18 18:10:26 +02:00
arch1t3cht
144860eb59 Remove format assertion after audio rework 2022-08-18 18:09:32 +02:00
arch1t3cht
e7e87f5584 Merge branch 'xa2-ds' into feature 2022-08-16 21:04:44 +02:00
arch1t3cht
0b8f5ad8fa XAudio PR: Revert some changes and fix on linux
Mostly synchronizing with the updates made to the ffmpeg audio provider
and removing the CMakeLists.txt
2022-08-16 21:03:59 +02:00
arch1t3cht
17d827c88a Merge branch 'misc_dc' into feature 2022-08-16 19:59:42 +02:00
arch1t3cht
6cdf360e76 Add downmix option on OSX
This fixes wangqr's commit dabd9f that adds an option to enable or
disable downmixing
2022-08-16 19:58:11 +02:00
arch1t3cht
24ac0647ac Merge branch 'vapoursynth' into feature 2022-08-16 19:57:22 +02:00
arch1t3cht
ff43f3d601 vapoursynth: Add audio source 2022-08-16 19:22:54 +02:00
arch1t3cht
4a5a212f35 bestsource: Switch to GetPackedAudio()
After vapoursynth/bestsource#7 , BestSource now has a function to
get the packed audio instead, so we just use that directly.
2022-08-16 19:22:54 +02:00
arch1t3cht
3f298bf03a Add vapoursynth video provider 2022-08-16 19:22:54 +02:00
arch1t3cht
6af0b41f47 bestsource: Add audio provider 2022-08-16 19:22:54 +02:00
arch1t3cht
70fd08aabe bestsource: Expose some options 2022-08-16 19:22:54 +02:00
arch1t3cht
e41647c78c bestsource: Detect audio and color space 2022-08-16 19:22:54 +02:00
arch1t3cht
4c6e3527d4 bestsource: Switch to manual sws_scale
This was to work with ffmpeg 4.4, but it also saves one frame copy
operation. It does, however, lose the slice threading.
2022-08-16 19:22:54 +02:00
arch1t3cht
33b9a6e395 Add bestsource video provider
Co-authored-by: Asada shinon <joshwoo71@gmail.com>
2022-08-16 19:22:54 +02:00
arch1t3cht
44888d9b70 Merge branch 'color_picker_fix2' into feature 2022-08-16 16:09:13 +02:00
arch1t3cht
25bd040494 Fix color picker option 2022-08-16 16:07:25 +02:00
arch1t3cht
64ecc490be Merge branch 'fixes' into feature 2022-08-16 15:51:37 +02:00
wangqr
d75e49653a Fix syntax error in e2ea84541f 2022-08-15 21:01:09 +02:00
Oneric
57841a0a34 AlignToVideo: Handle tolerance = 0 correctly
Checking if the diff is '>' instead of '>=' will always fail if
tolerance=0, even if the colours are identical. This will cause the line
to get a startime greter than its end time, which is not desireable.

Rounding errors and limits of floating type precision might still affect
the comparison. An additional sanity check before calculation is added
to ensure the selected position and colour match within tolerance.
This allows us to refactor the search code to never check the starting
frame and guanrantees valid timings with start<end even with
rounding errors.
2022-08-15 21:01:09 +02:00
Oneric
f1cfd480c4 AlignToVideo: Improve rgb->lab precision 2022-08-15 21:01:09 +02:00
Oneric
2300988613 dialog_align: Remove point at the end of the tooltips
No other tooltips end with points, even if they're a sentence.These
ones aren't even sentences.
Also updates all *.po files accordingly, with an hacked in
POT-Creation-Date due to issues with make_pot.sh.
2022-08-15 21:01:09 +02:00
wangqr
b2ba1feb28 Submit "align to video" on double click
Fix wangqr/Aegisub#34
2022-08-15 21:01:09 +02:00
wangqr
60dcc35830 Remove the trailing period in help text of time/align
Fix wangqr/Aegisub#7
2022-08-15 21:01:09 +02:00
wangqr
2b3df72c75 Fix missing config option for Align on macOS 2022-08-15 21:01:09 +02:00
wangqr
37380658bb Fix errors in AlignToVideo
* Call TimeAtFrame with correct parameter
* Fix syntax error
2022-08-15 21:01:09 +02:00
Charlie Jiang
cc8e857849 Merge remote-tracking branch 'origind-dev/master'
Add align to video function
2022-08-15 21:01:09 +02:00
arch1t3cht
9ebe154964 Fix width of lua float edits
Float edits with a spinner are by default sized to fit their full
min-max range of possible values, so this makes min and max default to 0
and 100 (like it'd done internally in wx) instead of -DOUBLE_MAX and
DOUBLE_MAX.

Note that this does change the behavior of lua dialogs, but does not
contradict existing documentation or specification. It should only
affect scripts who either disobey the specification by specifying only
one value out of max/min, or scripts displaying these large float edits
by specifing a step, but no max or min.
2022-08-14 16:24:50 +02:00
arch1t3cht
53466be0ca Merge branch 'avisynth' into feature 2022-08-13 23:03:33 +02:00
arch1t3cht
ad443dd118 avisynth: Properly destruct the IScriptEnvironment
Starting with AVISYNTH_INTERFACE_VERSION=5, this is how script
environments should be deleted. The previous code was causing crashes
when unloading AviSynth in certain scenarios, such as when failing to
open a file due to an incorrect path.
2022-08-13 22:53:58 +02:00
arch1t3cht
ce1b3a0158 avisynth: Validate downmix option
Because... let's maybe not let users make Aegisub call arbitrary
symbols in avisynth.dll/so just by editing the config.json.
2022-08-13 01:06:24 +02:00
arch1t3cht
fe285678a3 avisynth: Allow compilation on Linux
Co-authored-by: wangqr <wangqr@wangqr.tk>
2022-08-13 01:06:24 +02:00
Ristellise
6906b6e5d7 [Shinon] Enable Directsound2 player to use more than 1 channel audio.
- DS2 Player has a similar structure to XAudio, so I don't see any reason why not to enable 1 channel+ audio.
 - Haven't tried with 5.1 channel sources but I believe it should be the same as 2 channel (As in, Directsound will downmix the audio to 2 channel)
 - Moved the volume setting to using the player directly and from some quick audio tests, -10000 is too soft. I tried with -5000 instead which seems to be alright.
2022-08-11 12:28:35 +08:00
Ristellise
994e50048a Finish up XAudio with a round of bugfixes 2022-08-10 21:23:56 +08:00
Ristellise
fd28458ed8 Implement wangqr Audio Changes:
- To allow for XAudio2 to work properly, we need to rework how does provider work since they only are used to be able to take in mono audio.
 - Other providers have been dumbed down to accept single channel audio since originally aegisub only accepted 1 channel audio.
 - meson.build has been modified to accommodate for xaudio, as we currently don't accept redistributable forms of xaudio, we need to work around the WinNT version.
 - There has been 1 more fix to res.rc to allow for compiling on non tagged releases.
2022-08-10 21:09:41 +08:00
Ristellise
3dfea0c315 Add XAudio2 2022-08-10 16:31:02 +08:00
arch1t3cht
80e8ad0103 Merge branch 'folding' into feature 2022-08-08 16:40:24 +02:00
arch1t3cht
663112ba03 folding: Don't drop folds starting at the very first line 2022-08-08 16:38:43 +02:00
arch1t3cht
17d50d49ef Merge branch 'lua_api' into feature 2022-08-08 02:19:40 +02:00
wangqr
e2a49b3313 Avisynth audio provider: add option to allow no downmix 2022-08-08 01:38:20 +02:00
wangqr
691ab820b8 Handle exceptions from AviSynthWrapper ctor 2022-08-08 01:38:01 +02:00
sepro
8e1cc6228e Add automation function to get frame 2022-08-08 01:30:15 +02:00
arch1t3cht
bde149fd30 lua: Function returning if the file is modified 2022-08-08 01:00:08 +02:00
arch1t3cht
e8493975e2 Merge branch 'lua_api' into feature 2022-08-01 23:24:16 +02:00
arch1t3cht
69d79ac0cf Merge branch 'wangqr_time_video' into feature 2022-08-01 22:09:29 +02:00
arch1t3cht
84d90ce80b Merge branch 'video_panning_option' into feature 2022-08-01 21:56:24 +02:00
wangqr
c232ef6bb6 Fix syntax error in e2ea84541f 2022-08-01 21:43:26 +02:00
Oneric
61c6303a14 AlignToVideo: Handle tolerance = 0 correctly
Checking if the diff is '>' instead of '>=' will always fail if
tolerance=0, even if the colours are identical. This will cause the line
to get a startime greter than its end time, which is not desireable.

Rounding errors and limits of floating type precision might still affect
the comparison. An additional sanity check before calculation is added
to ensure the selected position and colour match within tolerance.
This allows us to refactor the search code to never check the starting
frame and guanrantees valid timings with start<end even with
rounding errors.
2022-08-01 21:43:26 +02:00
Oneric
7a729532b4 AlignToVideo: Improve rgb->lab precision 2022-08-01 21:43:26 +02:00
Oneric
e098342f54 dialog_align: Remove point at the end of the tooltips
No other tooltips end with points, even if they're a sentence.These
ones aren't even sentences.
Also updates all *.po files accordingly, with an hacked in
POT-Creation-Date due to issues with make_pot.sh.
2022-08-01 21:43:24 +02:00
wangqr
b5e7bbc5ad Submit "align to video" on double click
Fix wangqr/Aegisub#34
2022-08-01 21:43:17 +02:00
wangqr
42248eabad Remove the trailing period in help text of time/align
Fix wangqr/Aegisub#7
2022-08-01 21:43:17 +02:00
wangqr
68166c7581 Fix missing config option for Align on macOS 2022-08-01 21:43:17 +02:00
wangqr
c71e140c41 Fix errors in AlignToVideo
* Call TimeAtFrame with correct parameter
* Fix syntax error
2022-08-01 21:43:17 +02:00
Charlie Jiang
3dcab8b9bd Merge remote-tracking branch 'origind-dev/master'
Add align to video function
2022-08-01 21:43:15 +02:00
arch1t3cht
c07a648270 Add options to commit or reverse video zoom 2022-08-01 21:21:24 +02:00
arch1t3cht
fa33b07c7f Add option toggling behaviour of Ctrl+Zoom 2022-08-01 21:00:53 +02:00
arch1t3cht
b61f8946c1 Merge branch 'folding' into feature 2022-08-01 20:06:24 +02:00
arch1t3cht
fd1a92d627 Folding: Fix default hotkeys 2022-08-01 20:05:55 +02:00
arch1t3cht
c0fa794e45 Lua: Functions to set text selection and cursor
Putting this logic for delaying changes in the TextSelectionController
isn't the cleanest, but all attempts at saving this state somewhere in
the Lua API instead turned out even worse. Also, the logic for inverted
selections probably does belong in there.
2022-08-01 19:56:53 +02:00
arch1t3cht
4a928674cd Merge branch 'folding' into feature 2022-07-31 21:31:44 +02:00
arch1t3cht
7c92e6bbd6 Folding: Dont error on missing _foldinfo 2022-07-31 21:31:34 +02:00
arch1t3cht
4b9c50a702 Merge branch 'vector_clip_actions' into feature 2022-07-30 13:46:04 +02:00
arch1t3cht
af009c4ce7 Make line tool the default vector clip tool again 2022-07-30 13:45:49 +02:00
arch1t3cht
32dda63971 Merge branch 'misc_dc' into feature 2022-07-30 13:07:42 +02:00
Asada shinon
ba3a3dc80a Parse mixin lines as template lines 2022-07-30 00:57:15 +02:00
arch1t3cht
aeaab655eb Fix segfault when stereo downmixing 2022-07-30 00:45:49 +02:00
Ristellise
f06e42a82e [Shinon] Change Mono Downmixing to Stereo Downmixing 2022-07-29 23:21:55 +02:00
wangqr
dabd9f699f Add option to downmix FFMS audio
When enabled, restore FFMS to old behavior, downmixing auduo to S16 mono. This can reduce cache usage.

Fix wangqr/Aegisub#31
2022-07-29 23:18:56 +02:00
Asada shinon
d0efa0494a Save vector clips with two decimal places
Co-authored-by: arch1t3cht <arch1t3cht@gmail.com>
2022-07-29 21:50:10 +02:00
Asada shinon
58a6cf4793 Added new hotkey command to reload current font provider. 2022-07-29 20:51:37 +02:00
arch1t3cht
11b5a80618 Merge branch 'folding' into feature 2022-07-27 15:27:04 +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
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
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
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
moex3
5f95f76671 Change tab to spaces 2022-03-02 15:01:55 -08:00
moex3
f3d796a3e3 Add menu item for resetting the video pan 2022-03-02 15:01:54 -08:00
moex3
e3949cdaa1 Add video panning 2022-03-02 15:01:48 -08:00
EleonoreMizo
bfcd8a3e2c
Merge branch 'master' into spectrum-frequency-mapping 2021-11-29 22:27:26 +01:00
woclass
e58e4a9149
Fix Mac dmg build (#138)
* [mac/build] update build steps

* [macos] bundle app

* [macos] build dmg

* [ci] setup macOS CI

* [i18n] TODO: rm WX locale files

* [deps] set main branch to main

* Fix osx-fix-libs.py

Create symbolic links, to make libicu happy
Rewrite the script in python3, as python2 is deprecated

* Add write permission before install_name_tool when doing osx-bundle

Fix wangqr/Aegisub#39

* Handle @loader_path in libboost on macOS

See wangqr/Aegisub#39

* [tools/mac] use python3

* [ci/mac] install & using system deps

* [ci/win] don't build fribidi:docs

* [ci/mac]  trying openal-soft

* [ci/mac] use pulseaudio in CI

* [ci/win] only run aeg's test

* [ci/win] fix CI

* [ci/win] fix CI: not use dict `{}`

* [ci] run ci

* [ci/win] don't build docs

* [ci/win] remove args tail newline

* [ci/win] false->disabled

* Use md title format

Co-authored-by: Ryan Lucia <ryan@luciaonline.net>

* Recover file permissions.

* [ci/win] disable fontconfig

Co-Authored-By: Ryan Lucia <ryan@luciaonline.net>

* [ci/win] disable libass:fontconfig

Co-authored-by: wangqr <wangqr@wangqr.tk>
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
2021-10-12 03:37:49 -04:00
Myaamori
c43e4fba3c meson: add Hunspell port
This moves the visibility logic (HUNSPELL_STATIC/BUILDING_LIBHUNSPELL)
to the build system. Only relevant on Windows.
2021-05-21 21:09:36 -04:00
Myaamori
3dfc553880 Fix faux bold logic in font collector for Fontconfig
Based on libass's logic (a requested weight of over 150 more than
the matching font).
2021-03-27 12:38:50 -04:00
Myaamori
4b2cd7f170 Convert OpenType weight to Fontconfig weight in font collector
Fixes #108
2021-03-27 12:38:50 -04:00
Ryan
d32ef75cba meson: move executable to the root directory 2021-03-27 09:29:37 -04:00
Ryan
1246534b7b Move AddSeparator to VisualTool::SetToolbar
Co-authored-by: wangqr <wangqr@wangqr.tk>
2021-03-27 08:09:11 -04:00
petzku
19429b0f6e Fix negative margin handling (closes #104)
Previously, margins were clamped to 0..9999, but negative margins are
well supported by most renderers.  In addition, previously lua
automations automations were able to produce these negative margin
values, and they would be saved correctly. However, re-opening the file
would clamp the values, and they could not be edited in the edit box.

This commit changes the clamping to be -9999..99999, and allows entering
(and editing) negative values in all relevant fields. In addition, this
makes the subtitle edit box margin fields take 5 characters instead of 4
to accommodate negative numbers up to 9999 (also the reason for raising
the upper bound).
2021-03-06 14:29:18 -05:00
Ryan Lucia
43751546f4 spectrum view: allow 32-bit wxBitmap
Required on MacOS
2021-02-22 14:29:14 -05:00
Myaamori
c6f4ea45aa Let search field in Hotkeys menu expand horizontally
On Linux with wx 3.1 it was too small to use by default
2021-01-31 19:34:47 -05:00
Myaamori
ca7501c7ed Remove unused alignment flags for combo boxes in resampler
Causes an assertion error with wx 3.1
2021-01-31 19:34:47 -05:00
Ryan
248785d7ad meson: apply manifest on windows 2021-01-30 12:02:34 -05:00
Ryan
36b75b827d meson: fix warnings, cleanup 2021-01-30 12:02:18 -05:00
Ryan
1ac52a24d6 meson: disable gdi_fontselect for now
This one continues to be controversial, so for now the plan will be to report issues upstream that come up as a result of this being removed
2021-01-30 08:58:45 -05:00
Ryan
7d9feca578 meson: add CSRI support 2021-01-30 08:57:39 -05:00
Ryan
d8c348e897 meson: standardized config defines to set integer 1 2021-01-30 08:56:01 -05:00
Ryan
f3958288ac libresrc: put new wxBitmap constructor behind wx version check
Based off https://github.com/Aegisub/Aegisub/pull/175
2021-01-30 07:29:45 -05:00
Ryan
b8d1864a07 aegisub: ifdef wxBitmap constructor to scale on MacOS only
Quick fix to unblock the build; need better HiDPI handling across the board
2021-01-16 13:01:51 -05:00
Myaamori
b42da504a0
Save unexpanded path in font collector (#79)
Fixes #78
2021-01-16 06:13:37 -05:00
Ryan
8b8f4a3925 meson: bump minimum ffms2 version to 2.22
It's been out for 6 years, so this should be fairly safe. Also fix a build error that somehow snuck in during the merge
2021-01-16 05:31:08 -05:00
Ryan
d583744b69 Merge in work from TypesettingTools fork 2021-01-16 02:12:31 -05:00
Ryan
25a62f4f12 libass_gdi_fontselect: don't redefine NOMINMAX
It's now defined in the build system itself
2021-01-16 01:24:19 -05:00
Ryan Lucia
c487dd2bdb Parially revert fffb138b81
I haven't checked whether reverting this breaks IME input, and if it doesn't what changed on wx's end. However, this is the commit that uses private symbols, and so reverting it lets us build against upstream wx. Even if this is a loss in functionality, for now it's fine.
2021-01-10 03:14:12 -05:00
Ryan
8cf4100c87 meson: fix resource file compilation
This enables video to load correctly in Windows builds
2021-01-10 03:14:12 -05:00
Ryan
72edb88982 meson: add Avisynth option, compile libass_gdi_fontselect
Sadly, building with Avisynth is still broken.
2021-01-10 03:14:12 -05:00
Ryan Lucia
89c788a4b3 autotools: remove remaining makefiles 2021-01-10 03:14:12 -05:00
Myaamori
aecf09a64d Use wxSizer::RepositionChildren instead of RecalcSizes on wx 3.1.3+ 2021-01-10 03:14:12 -05:00
Myaamori
93b2794c85 Correct wxStyledTextCtrl::StartStyling for wx 3.1 2021-01-10 03:14:12 -05:00
Ryan Lucia
e3826cb17e meson: initial attempt to generate Aegisub.app on macOS 2021-01-10 03:14:12 -05:00
line0
2e613f5476 meson: flag aegisub as a GUI app 2021-01-10 03:14:12 -05:00
line0
bfdcbdefad meson: add missing link dependencies on windows 2021-01-10 03:14:12 -05:00
line0
37230683fb utils: work around missing C++11 char16_t overload in wx string conversion 2021-01-10 03:14:12 -05:00
line0
b6c0f2d544 meson: don't build fontconfig file lister on windows 2021-01-10 03:14:12 -05:00
line0
b8e2cf83fd fix PCHs on VS2019
* separate PCH for C and C++
* acconf.h now included in PCHs on windows, too
* meson now auto-generates companion source files for PCH headers
2021-01-10 03:14:12 -05:00
Ryan Lucia
5e14a9265b meson: attempt to wrangle dependencies 2021-01-10 03:14:12 -05:00
Ryan Lucia
3b2d770d74 Fix PCH usage
Hopefully this time in a way that doesn't ruin life for Unix folks!
2021-01-10 03:14:12 -05:00
Ryan Lucia
d2d3168904 meson: allow additional include directories for manually located deps 2021-01-10 03:14:12 -05:00
Ryan Lucia
9e284660b1 meson: add DirectSound detection 2021-01-10 03:14:12 -05:00
Ryan Lucia
cde5778283 Make spacing around colons consistent 2021-01-10 03:14:12 -05:00
Martin Herkt
ca3802e82a Meson: respack.lua → respack.py; works out-of-tree 2021-01-10 03:14:12 -05:00
Martin Herkt
97b4dfb7f4 Meson: add install rules 2021-01-10 03:14:12 -05:00
Martin Herkt
8905921a2d Initial port of the build system to Meson
Still some TODOs left. Probably only works on Linux for now.
2021-01-10 03:14:12 -05:00
EleonoreMizo
f9c8a7f6aa Spectrum display improvement
– Selection of different frequency mappings for the spectrum display,
from linear (current default) to logarithmic.
– Field added in the preference page to select the frequency mapping
– New preference key to remember this setting:
Audio/Renderer/Spectrum/FreqCurve
– Consistent display with high sampling rates (> 48 kHz)
– Fixed time shift with high quality settings
2020-12-15 20:11:58 +01:00
Andrew Neth
d0bab1212c
Look for both system fonts and user fonts on Windows (#64)
* Look for both system fonts and user fonts on Windows

* Move repeated font registry reading code to separate function

* Pass the files vector to read_fonts_from_key as a reference

* Allocate a larger filename buffer when necessary while reading fonts from registry
2020-02-08 15:41:03 -05:00
Thomas Goyne
6f546951b4 Use appropriate DPI images in more places on macOS 2019-10-06 12:46:06 -07:00