Per-sample Volume Interpolation
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next timestamp
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu and Index Controls

a
w
s
d
h j k l


Esc Close menu / unfocus timestamp

Quotes and References Menus and Index

Enter Jump to timestamp

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:46Plan for today
0:46Plan for today
0:46Plan for today
2:07Dynamic asset streaming and audio mixing didn't take that much code
2:07Dynamic asset streaming and audio mixing didn't take that much code
2:07Dynamic asset streaming and audio mixing didn't take that much code
3:37Public service announcement: Sometimes, writing your own code is faster than reusing other people's code
3:37Public service announcement: Sometimes, writing your own code is faster than reusing other people's code
3:37Public service announcement: Sometimes, writing your own code is faster than reusing other people's code
5:56Some differences between audio and video animation and their effects on sound mixing architecture
5:56Some differences between audio and video animation and their effects on sound mixing architecture
5:56Some differences between audio and video animation and their effects on sound mixing architecture
9:55We want to change volume over time, while avoiding discontinuities
9:55We want to change volume over time, while avoiding discontinuities
9:55We want to change volume over time, while avoiding discontinuities
12:53Definition of the interface to ChangeVolume
12:53Definition of the interface to ChangeVolume
12:53Definition of the interface to ChangeVolume
14:03Two ways of specifying speed of volume change: time it takes to reach target volume vs rate of change
14:03Two ways of specifying speed of volume change: time it takes to reach target volume vs rate of change
14:03Two ways of specifying speed of volume change: time it takes to reach target volume vs rate of change
21:20Using dimensional analysis to figure out dVolume
21:20Using dimensional analysis to figure out dVolume
21:20Using dimensional analysis to figure out dVolume
30:50Changing resolution back to 960x540 to remain in debug mode at a reasonable framerate
30:50Changing resolution back to 960x540 to remain in debug mode at a reasonable framerate
30:50Changing resolution back to 960x540 to remain in debug mode at a reasonable framerate
34:30Avoiding overshooting the target volume
34:30Avoiding overshooting the target volume
34:30Avoiding overshooting the target volume
44:28Problem of current approach: repeated imprecise floating-point addition may lead to errors
44:28Problem of current approach: repeated imprecise floating-point addition may lead to errors
44:28Problem of current approach: repeated imprecise floating-point addition may lead to errors
45:25Alternative approach: linear interpolation between beginning and end volumes
45:25Alternative approach: linear interpolation between beginning and end volumes
45:25Alternative approach: linear interpolation between beginning and end volumes
46:42Alternative approach: backsolving to hit the target volume at the end of the loop
46:42Alternative approach: backsolving to hit the target volume at the end of the loop
46:42Alternative approach: backsolving to hit the target volume at the end of the loop
48:11Testing ChangeVolume interactively
48:11Testing ChangeVolume interactively
48:11Testing ChangeVolume interactively
53:08Q&A
🗩
53:08Q&A
🗩
53:08Q&A
🗩
53:49constantinopol Can you show again how you skipped a failed assertion, by going to disassembly?
🗪
53:49constantinopol Can you show again how you skipped a failed assertion, by going to disassembly?
🗪
53:49constantinopol Can you show again how you skipped a failed assertion, by going to disassembly?
🗪
1:00:10swampy_butt Would there be any case where you would like to increase volume non-linearly?
🗪
1:00:10swampy_butt Would there be any case where you would like to increase volume non-linearly?
🗪
1:00:10swampy_butt Would there be any case where you would like to increase volume non-linearly?
🗪
1:02:01flyingsand So far you can just change the volume of individual sounds. Should we be able to change the volume of the master output as well?
🗪
1:02:01flyingsand So far you can just change the volume of individual sounds. Should we be able to change the volume of the master output as well?
🗪
1:02:01flyingsand So far you can just change the volume of individual sounds. Should we be able to change the volume of the master output as well?
🗪
1:03:26chronaldragon Will Handmade Hero support spatialization? e.g. sound mostly in left channel if on left side of the screen, sound mostly in right channel if on right side, etc.
🗪
1:03:26chronaldragon Will Handmade Hero support spatialization? e.g. sound mostly in left channel if on left side of the screen, sound mostly in right channel if on right side, etc.
🗪
1:03:26chronaldragon Will Handmade Hero support spatialization? e.g. sound mostly in left channel if on left side of the screen, sound mostly in right channel if on right side, etc.
🗪
1:04:03rpg_ignis How hard would it be to do a fade-out/fade-in for the music when the window loses focus/gets focus back?
🗪
1:04:03rpg_ignis How hard would it be to do a fade-out/fade-in for the music when the window loses focus/gets focus back?
🗪
1:04:03rpg_ignis How hard would it be to do a fade-out/fade-in for the music when the window loses focus/gets focus back?
🗪
1:05:09gasto5 So what did you end up doing to dVolume if it wasn't linear interpolation?
🗪
1:05:09gasto5 So what did you end up doing to dVolume if it wasn't linear interpolation?
🗪
1:05:09gasto5 So what did you end up doing to dVolume if it wasn't linear interpolation?
🗪
1:05:28waterlimon If you implemented Assert using ?: instead of if, you could use it as part of expressions or other such places where you can't have an if statement
🗪
1:05:28waterlimon If you implemented Assert using ?: instead of if, you could use it as part of expressions or other such places where you can't have an if statement
🗪
1:05:28waterlimon If you implemented Assert using ?: instead of if, you could use it as part of expressions or other such places where you can't have an if statement
🗪
1:06:15gasto5 Did you already implement audio clipping?
🗪
1:06:15gasto5 Did you already implement audio clipping?
🗪
1:06:15gasto5 Did you already implement audio clipping?
🗪
1:07:34gasto5 (clarification) Managing audio dynamic range. Yes
🗪
1:07:34gasto5 (clarification) Managing audio dynamic range. Yes
🗪
1:07:34gasto5 (clarification) Managing audio dynamic range. Yes
🗪
1:08:04waterlimon With respect to Assert, I don't know why you would want to put one in an expression, but apparently that's how it's usually implemented... It can't hurt, right?
🗪
1:08:04waterlimon With respect to Assert, I don't know why you would want to put one in an expression, but apparently that's how it's usually implemented... It can't hurt, right?
🗪
1:08:04waterlimon With respect to Assert, I don't know why you would want to put one in an expression, but apparently that's how it's usually implemented... It can't hurt, right?
🗪
1:09:45flyingsand You can't just hard-clip audio, though. If you don't use a compressor/limiter you would have to at least use soft-clipping with tanh or something
🗪
1:09:45flyingsand You can't just hard-clip audio, though. If you don't use a compressor/limiter you would have to at least use soft-clipping with tanh or something
🗪
1:09:45flyingsand You can't just hard-clip audio, though. If you don't use a compressor/limiter you would have to at least use soft-clipping with tanh or something
🗪
1:10:12gasto5 Will you implement audio file compression?
🗪
1:10:12gasto5 Will you implement audio file compression?
🗪
1:10:12gasto5 Will you implement audio file compression?
🗪
1:11:35abnercoimbre What would an audio compressor do?
🗪
1:11:35abnercoimbre What would an audio compressor do?
🗪
1:11:35abnercoimbre What would an audio compressor do?
🗪
1:13:45gasto5 How much optimization would the mixer require?
🗪
1:13:45gasto5 How much optimization would the mixer require?
🗪
1:13:45gasto5 How much optimization would the mixer require?
🗪
1:14:21javajax What is the difference between a limiter and a compressor?
🗪
1:14:21javajax What is the difference between a limiter and a compressor?
🗪
1:14:21javajax What is the difference between a limiter and a compressor?
🗪