Skip to content

WIP: Enable drawing of dialogue text over audio display #333

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

m-krastev
Copy link
Contributor

@m-krastev m-krastev commented Feb 23, 2025

Suggestion

A (crude) version of line text overlaid on the audio waveform display.

Welcoming suggestions/criticism.

Problem

There is a display for the karaoke mode, but not for regular mode. The goal is to slightly improve the UX of timing directly audio waveforms. It also fills some of the empty space in the audio display.

Further Work

Maybe it would benefit from a user setting to turn it on and off?

Screenshot
image

@petzku
Copy link
Contributor

petzku commented Feb 23, 2025

How do you envision this looking with overlapping lines?

@m-krastev
Copy link
Contributor Author

m-krastev commented Feb 23, 2025

How do you envision this looking with overlapping lines?

It just draws on top of all the overlapping lines.

  • If the lines are identical (or at least have identical text in the same capitalization) and have the same timing (such as some typesets), it will look clean.
  • If multiple lines are overlapping each other and have different timings, it will look noisy.
  • If there is overlap of different lines, then it can look like quite the mess, however, I justify this to myself with that you don't really need to be able to see the audio display. More often than not, you will want to look at the video display.

A possible solution to this would be to rewrite the label and marker drawing itself so that overlapping labels are instead stacked vertically on top of each other (with some reasonable threshold, e.g. 4 shown at the same time). Filtering can also be applied. There are many potentially aesthetically pleasing solutions to this, but I am gauging interest.

@petzku
Copy link
Contributor

petzku commented Feb 23, 2025

rewrite the label and marker drawing itself so that overlapping labels are instead stacked vertically on top of each other

This is more or less what I imagined would happen. I also agree that this would probably be chaotic with many TS lines.

If the lines are identical (or at least have identical text in the same capitalization) and have the same timing (such as some typesets), it will look clean.

I think in this case (does apply to e.g. gradient typesets) it would be ideal to somehow combine the lines, even if using the above logic for "shifting down" overlapping texts.


I'm not convinced I would personally use this, but your idea does sound useful. I too would like to hear feedback especially from timers, though. Could you show how this looks with the spectrum display, as I understand this is the one much more commonly used by timers?

@bucket3432
Copy link

My first thought here is that there should absolutely be a way toggle that off easily because of typesetting, maybe with a button in the audio toolbar bindable by hotkey. It needs to be somewhere easily accessible because you may encounter a file that has sections where the preview is unusable, and you'll want to be able to toggle that on and off easily.

As for utility, I think its usefulness is limited by the inability to jump to a line using the audio preview. Since you always go from the subtitle grid to the audio preview in the current workflows and the current line gets highlighted, I don't think there's much useful information gained by having the text preview. Maybe it's marginally more useful if you have lines that aren't ordered consecutively, but I imagine that's fairly rare for timing.

However, if Aegisub does gain the ability to jump from the audio preview to the corresponding line in the subtitle grid or otherwise activate non-active lines directly from the preview, then this would be very useful since you now have the necessary context to pick out which line you want.

Looking at this from another role, would this be useful for QC purposes? Possibly. I can see it maybe saving a tiny bit of time if you're jumping to a time in the window and inspecting lead-ins and lead-outs because you wouldn't have to interact with the subtitle grid.

I think this might be one of those features that, although I may or may not use it myself, someone might find it useful. If the cost of maintenance is low and it doesn't cause issues, it might be worth considering for inclusion with enough polish.

@9vult
Copy link

9vult commented Feb 23, 2025

I'm an editor primarily, not a timer. I could see this being useful in some scenarios provided overlapping is handled gracefully.
I think it would be best implemented with a karaoke mode-like toggle button, probably next to the karaoke button itself:
image

@CoffeeFlux
Copy link
Member

The replies on here saying "this might be kind of useful, but idk, I wouldn't use it" are reflective of a broken understanding of the development process. I'm not concerned with whether any random feature can be made useful if you look hard enough; I need to see a concrete problem or significant vision for the future, and a solution directly responding to that. Every feature merged is additional code to maintain and additional bloat in the app itself.

With that in mind, @m-krastev can you talk more about the motivation for this PR? I've only ever timed with the spectrum and personally I don't think this would be useful for me at all, so I'd like to better understand your workflow.

@m-krastev m-krastev changed the title Enable drawing of dialogue text over audio display WIP: Enable drawing of dialogue text over audio display May 19, 2025
@m-krastev m-krastev marked this pull request as draft May 19, 2025 07:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants