Графік комітів

8649 Коміти

Автор SHA1 Повідомлення Дата
odrling 6bd3a9121c
fix version.sh when building from a git worktree
In a git worktree .git is a regular file that contains a reference to
its git directory
2024-03-04 13:15:59 +01:00
odrling d2400ac6d0
add missing includes
my gentoo ebuild seems to die on these includes... unlike a manual build
2024-03-04 13:15:59 +01:00
odrling a6d72882ff
copy all automation scripts to install dir 2024-03-04 13:15:59 +01:00
odrling f74cdca4b6
add automation scripts back 2024-03-04 13:15:58 +01:00
odrling 75f929020f
force git directory in version.sh 2024-03-04 13:15:58 +01:00
odrling 93ef90635a
osx-fix-libs: log link path 2024-03-04 13:15:58 +01:00
odrling a4eae07108
osx-fix-libs: fix relative symlinks with same name 2024-03-04 13:15:58 +01:00
odrling 2f00aa2176
force dependency on libresrc 2024-03-04 13:15:57 +01:00
odrling df565be3f2
don't delay audio on matroska files 2024-03-04 13:15:57 +01:00
odrling fe9d6e90cd
add option to disable tests 2024-03-04 13:15:57 +01:00
odrling 512433cf6a
fix vfr nonzero start time test 2024-03-04 13:15:57 +01:00
odrling 10abf37f80
[style] increase default font size 2024-03-04 13:15:56 +01:00
odrling cf1afe9983
[Karaoke] disable drag timing
disables "Left-click drag moves end marker"
2024-03-04 13:15:56 +01:00
odrling d0ea66a4f9
[style] change default style 2024-03-04 13:15:56 +01:00
odrling a4f207aa95
[Karaoke] Autocommit and autofocus 2024-03-04 13:15:56 +01:00
Vincent Wong fb19ebf65b
Audio/timing: minor style, comment
A bit more clarification of code logic. Follow predominant if/else style
2024-03-04 13:15:56 +01:00
Vincent Wong 4d12bbfb21
Audio/Timing: implement tap-to-time
Tap-to-time provides the user the ability to tap to the lyrics/syllables
of the song in order to time lines or karaoke. It consists of these
extra UI interactions:

- **Indicator**: tap marker: a designated marker that can be moved to
  the current audio position; indicated in:
  - the audio display by a green arrow underneath a marker
  - the karaoke display by a green-colored syllable
- **Control**: tap marker: the tap marker can be changed by selecting
  syllables on audio display in karaoke mode, or clicking the markers on
  audio display in dialogue mode
- **Control**: ctrl-right-click audio display: starts playing the audio
  from that exact position until the end of the file
- **Option**: Timing/Tap To Time: enables the tap marker indicator and
  commands
- **Button**: time_opt_tap_to_time: toggles the Timing/Tap To Time option
- **Button**: time_tap_connect (hotkey I): a command that:
  - moves the tap marker's position to the current playing audio
    position
  - sets the next marker to be the tap marker
  - if the tap marker is already the last marker AND BOTH autocommit AND
    next-line-on-commit is ON, will move onto the next line
  - if moved on to the next line, also sets the start marker to the current
    audio position, so the two lines are connected, and moves to the
    next tap marker (essentially reinvoking time_tap_connect once)
- **Button**: time_tap_no_connect (hotkey O): similar to
  time_tap_connect, except it will not set the next line's start
  position even if moved to the next line

Expected workflow:
1) User loads song lyrics
2) User splits each line into syllables
3) User turns on tap-to-time, autocommit, and next-line-on-commit
4) User plays audio from beginning, tapping time_tap_connect to each
syllable, occasionally tapping time_tap_no_connect when a break between
lines is desired
5) If user messes up a line, they can set the tap marker to where they
want to restart from, and ctrl-right-click to start the audio a few
seconds before it
6) Syllables can be split/merged at will, and adjustments to timing can
be done using normal karaoke timing controls
2024-03-04 13:15:55 +01:00
Vincent Wong c48150008b
AudioTimingControllerKaraoke: move timing correction above MoveMarker
Having the timing correction in MoveMarker is extremely surprising
behavior if any other part of the code uses MoveMarker expecting it to
work correctly as advertised
2024-03-04 13:15:55 +01:00
Vincent Wong 860c917833
audio_timing: add missing param comment for OnLeftClick
Missing the alt_click param in comment
2024-03-04 13:15:55 +01:00
odrling c259805b8e
normalize timecodes for every formats except matroska 2024-03-04 13:15:55 +01:00
odrling bbb65ee93b
shift video instead of subtitles
This is probably wrong in some cases. This is probably what we want with
matroska files.
2024-03-04 13:15:54 +01:00
odrling 7d22873dd8
fix mks file parsing 2024-03-04 13:15:54 +01:00
odrling c6fde6299a
fix sub timing in mkv files with video delay
Some matroska files have audio start at timestamp 0 and video later.
In this case mkvtoolnix seems to use the first block of the first
cluster to the audio track (I would assume this is only an
implementation detail and not really from the matroska specs. And also
could happen in other cases without the video being delayed, but that's
not the point). Aegisub used to read this first block and use its
timestamp as the starting point of the video track.

With this commit, Aegisub tries to read all the blocks until it can read
the first timestamp of the video track and use it for the subtitles'
timestamps. Audio tracks don't seem to be impacted by these changes.
2024-03-04 13:15:54 +01:00
Pierre Jeanjean b70bcde603
Fix charset detection and conversion issues 2024-03-04 13:15:45 +01:00
arch1t3cht e2e3906d15 Merge branch 'vapoursynth' into feature 2024-02-27 20:40:47 +01:00
arch1t3cht deb0f19b1b vapoursynth: Ensure vscache directory is created
Match the other video providers for consistency.
2024-02-27 20:39:41 +01:00
petzku abff2365d3 vapoursynth: Recursively create directories 2024-02-27 20:36:21 +01:00
arch1t3cht dcca721543 Merge branches 'lua_api' and 'misc' into feature 2024-02-20 15:04:04 +01:00
arch1t3cht f52b699493 lua: Add function to get raw frame data
This can be useful when scripts want to read the entire frame
and pass it on somewhere else (say, write it to a file or use some
library function on it).
2024-02-20 15:02:59 +01:00
arch1t3cht 1515c77438 Fix widths of time columns for fonts with proportional figures
This still breaks when the 0 digit is narrower than some other
digit, but that's unlikely and the current behavior now matches
the original behavior when all times are < 10h.

Fixes arch1t3cht/Aegisub#111 .
2024-02-19 14:22:27 +01:00
arch1t3cht 63bbdc32d3 lua: Make frame:getPixel return three values
This is what users will want in the majority of cases, and switching
to this makes using this function much easier.

However, this does break backwards compatibility. Luckily to my
knowledge this function is not actually used in any existing published
script (all scripts using get_frame just use getPixelFormatted instead)
so the damage shouldn't be too large. But this is also why I'd rather
rip off the band-aid of breaking backwards compatibility now than later.
2024-02-18 02:34:18 +01:00
arch1t3cht c11f17b9e6 lua: Correct refcount handling in get_frame
When destroying a frame handle, the previous logic would copy the
shared_ptr in the userdata and then free it twice (once explicitly
and once at the end of the function), which is actually UB, even
if if worked fine so far. This commit now ensures that it's the
actual userdata's shared_ptr that's freed in the gc function.
2024-02-18 02:34:18 +01:00
arch1t3cht 48855787a1 lua: Fix FrameDestroy function name 2024-02-18 02:34:18 +01:00
arch1t3cht ba9f48a0e5 Merge branch 'misc' into feature 2024-02-08 21:26:04 +01:00
arch1t3cht eaf09b2850 Fix widths of time columns for times >10h
An unfortunate consequence of this is that the grid widths have to
be computed on every change to line timing, which will probably
have an impact on timing performance when autocommit is enabled.
It's probably not a huge impact but it's worth keeping an eye on.
2024-02-08 21:22:35 +01:00
arch1t3cht e67fe10c4b Merge branch 'misc' into feature 2024-02-08 20:43:59 +01:00
Oneric 8fcb7c61e8 Stop truncating parsed times to <10h
All current renderers and muxers have no issues with longer timestamps.
However, classic VSFilter keeping track of time with a 32-bit int,
leads to a more meaningful limit at 596h, so enforce that instead.

Since the stringification code for SRT and ASS (but not SMPTE) relied on
hours being single digit, replace them with a simple format string.

GUI inputs are still limited to <10h, but at least
pre-existing timestamps no longer get mangled.
2024-02-08 20:43:32 +01:00
arch1t3cht 069cd48cac Merge branch 'bugfixes' into feature 2024-01-20 00:13:37 +01:00
arch1t3cht 7e24a5f3a5 Fix compilation error for assdraw command
This broke on wxWidgets master.
Really this command could just be removed entirely but I'll keep it
around for now.
2024-01-20 00:12:43 +01:00
arch1t3cht 6af7c6bddf Merge branches 'workarounds' and 'bestsource' into feature 2023-12-27 06:53:22 +01:00
0tkl 167b4add50 bestsource: Update ffmpeg API usage for keyframes 2023-12-27 06:52:56 +01:00
0tkl 29c8054b50 Update ffmpeg wrap to 6.1 2023-12-27 06:50:37 +01:00
arch1t3cht b0c77beef6 Merge branch 'bugfixes' into feature 2023-12-26 16:54:47 +01:00
arch1t3cht 8650e12364 Download hunspell dictionaries from GH repo
Since the download from SourceForge frequently fails,
the English dictionaries are now hosted in a TypesettingTools
repository.
2023-12-26 16:53:32 +01:00
arch1t3cht eca52e4166 Merge branch 'workarounds' into feature 2023-12-26 16:20:07 +01:00
arch1t3cht 8e60a46c01 Work around double buffering issue in wx master
See https://github.com/wxWidgets/wxWidgets/issues/23585 .
This patch reverts commit fb4f0b590c42a66263debf926617c00b157c9a in
wxWidgets.
2023-12-26 16:16:12 +01:00
arch1t3cht 1eea4ca69c Remove stray BOM in dav1d patch 2023-12-26 16:15:39 +01:00
arch1t3cht 7f928e8d6d Merge branch 'bugfixes' into feature 2023-12-02 18:08:47 +01:00
arch1t3cht 592bd993d7 Remove iconv's stdbool.h
This was breaking things (libass) and doesn't seem to be
needed any more.
2023-12-02 18:08:36 +01:00
arch1t3cht 160cf46b98 Merge branch 'bugfixes' into feature 2023-12-02 17:27:55 +01:00