Skip to content
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

Add "Join as dialogue" concatenation option #323

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

Conversation

m-krastev
Copy link

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

Add a fast way of joining two lines together as dialogue. See arch1t3cht#183

@AuroraMartell
Copy link

Add a fast way of joining two lines together as dialogue. See arch3t1ct/Aegisub#183

Agreed!

@FichteFoll
Copy link
Contributor

FichteFoll commented Feb 14, 2025

Can you elaborate on what inspired the name of this new command? To me, "as dialogue" is not exactly telling about the functionality since – coming from ASS terminology – all non-commented lines are "dialogue" lines. From the functionality, I would lean more towards a name like "Join (different speakers)" or similar.

What inspired the 4 different options for the join patterns? I mostly see - {}\N- {} and I can imagine someone would pick the much more ugly -{}\N-{}, but what about the choices that only add a dash to the second line? Does that actually come up?
Do people always want to use HYPHEN-MINUS or would they also be interested in the EN DASH (I imagine German would prefer this)? Should this perhaps just be a configurable template that the user can modify for their needs and that the two lines' texts are sprintfed into?

Is there a use case for joining more than two lines or rather joining an already joined line with an unjoined line?

@m-krastev
Copy link
Author

m-krastev commented Feb 14, 2025

Can you elaborate on what inspired the name of this new command? To me, "as dialogue" is not exactly telling about the functionality since – coming from ASS terminology – all non-commented lines are "dialogue" lines. From the functionality, I would lean more towards a name like "Join (different speakers)" or similar.

Join as Dialogue loosely comes from SubtitleEdit's conventions, e.g. here. I can agree that it may appear as confusing terminology considering its meaning in the ASS spec, but for most users, I think it makes more sense and is short.

  • Personally, I wouldn't mind either another name such as Join (multiple speakers) or Join (different speakers)as you suggested.

What inspired the 4 different options for the join patterns? I mostly see - {}\N- {} and I can imagine someone would pick the much more ugly -{}\N-{}, but what about the choices that only add a dash to the second line? Does that actually come up?

The 4 different conventions for joining were also wholly inspired from SubtitleEdit. The usecase for dash only to the second line is needed occasionally, e.g. for Bulgarian and Dutch. Initially, I also thought of having a single formatting string that the user may provide themselves, but I thought that it was too annoying to make a formatting string work using something in the standard library like snprintf.

Is there a use case for joining more than two lines or rather joining an already joined line with an unjoined line?

Not very likely. Occasionally, one may want to merge one or (ideally not more than) two additional subsequent lines if they are short, but that's about it.

Edit: I added a branch called userformat which implements user-provided formatting but I would personally still stick with the current implementation.

@CoffeeFlux
Copy link
Member

My initial reaction is that this is somewhat niche and ought to be an automation script, not built-in functionality. I'm open to being convinced otherwise. Regardless, I feel very strongly that it should not be called "Join as dialogue", regardless of SubtitleEdit conventions, due to the confusion with ASS.

@petzku
Copy link
Contributor

petzku commented Feb 16, 2025

My initial reaction is that this is somewhat niche and ought to be an automation script, not built-in functionality.

While I mostly agree, I think it would be nice if this could be put in the right-click menu, like the other join modes are. This is perhaps more a comment on wanting the ability to add automations in that menu, though...

@m-krastev
Copy link
Author

My initial reaction is that this is somewhat niche and ought to be an automation script, not built-in functionality.

This is somewhat of a whataboutism, but the join (as karaoke) command feels the same to me. Different people use Aegisub in different ways. Personally, after using the program for years, I only finally understood how to do automation a few months ago. To my knowledge, there is no official tutorial for this, and the unofficial ones are not easily accessible and digestible.

This is perhaps more a comment on wanting the ability to add automations in that menu, though...

Automations in the menu would be dope.

@CoffeeFlux
Copy link
Member

I agree that it's currently harder than I'd like to get set up with automation scripts. We ship DepCtrl in the installer now at least - it's just not enabled by default. Once the performance problems are dealt with, I'd like to make it default and tutorialize it more properly.

Also, I agree that join (as karaoke) is similar. I'd like to move more functionality like that to Moonscript in general, even for existing features, but this would definitely require having automations in the context menu.

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