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

F bgm loop #127

Draft
wants to merge 2 commits into
base: mod
Choose a base branch
from
Draft

F bgm loop #127

wants to merge 2 commits into from

Conversation

drojf
Copy link
Contributor

@drojf drojf commented Jul 15, 2024

This branch implements "properly" looping BGM/SFX (well, the engine side of it. Each file needs to be prepared for looping if it doesn't already loop seamlessly.).

Background

brotherelric on discord approached me last year, basically saying they wanted to implement proper looping for Higurashi, and asked if I could do the engine side of things, and they could do the BGM/SFX processing side of things.

Work stopped for a long time while they were busy, but now we're back into it. I decided to make this PR to keep track of the branch where I had added the BGM/SFX looping function.

Overview (to be completed)

Each BGM has:

Below to be filled in properly later...

  • Zero or more introduction sections, which are only played once (?)
  • At least one looping section, which is looped after the introductions play
  • All transitions are seamless (at least enough that you shouldn't be able to hear the seams between sections)

Below is my comment from discord. But it's not finalized, may have other changes

Notes

Insert google sheets we're using to keep track of BGM/SE here

Details

Ok so I've tested what we discussed, and everything seems to work, however I would like to use a slightly different naming scheme:

  • The main looping BGM should just be the filename with no suffix at all. Eg msys02.ogg
  • The intro files will be played in numeric order starting from 0, according to the suffix. Eg msys02_0.ogg, msys02_1.ogg will play in that order one after another, then it will play msys02.ogg (no suffix) forever.
  • For intro files which 'play fully', I decided to use the suffix f rather than y, eg f stands for full
  • Numbering starts at 0 always

To make it clear, the two files you sent me should be renamed:

msys02_0.ogg (intro)
msys02.ogg (loop, starts with offset = len(intro) the first time only)

msys04_0.ogg (intro)
msys04.ogg (loop, starts with offset = len(intro) the first time only)

And some more hypothetical examples:

msys99_0.ogg (intro 1, played first)
msys99_1.ogg (intro 2, played second)
msys99.ogg (loop, starts with offset = len(intro 2) the first time only)

And for doing 'full' playback with the f suffix:

msys99_0f.ogg (intro 1)
msys99.ogg (loop, starts with offset = 0)

@drojf drojf marked this pull request as draft July 15, 2024 13:05
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.

1 participant