Tom Rothamel
e41a4f85e9
reorg: Eliminate use of the module directory.
...
This directory contained a mix of both c/cython source code, scripts,
and build information. Now, source is in src, scripts are in scripts,
and setup.py is in the root.
2024-12-15 18:14:26 -05:00
Tom Rothamel
8a4a811a4c
cy3: Add noexcept annotations.
...
These allow Ren'Py to be compiled by cython 3.0.
2024-12-14 19:59:04 -05:00
Tom Rothamel
2ba27b5549
Add the location class.
...
This class stores a filename, linenumber, and a column. Storing the
data as C inside the object is intended to reduce the amount of
RAM used.
2024-12-12 22:54:59 -05:00
Tom Rothamel
ddf7b35160
Merge pull request #5687 from onitake/patch/ffmpeg-7
...
Replace deprecated APIs when compiling against newer FFmpeg
2024-10-10 23:15:05 -04:00
Ren'Py Bot
8e21bcbc00
Merge branch 'fix'
2024-09-29 04:30:30 -04:00
Tom Rothamel
ad690d8a16
audiofilter: Make the time the filter changes well defined.
2024-09-28 23:47:12 -04:00
Tom Rothamel
deb959a1e7
Change some of the build process to support Python 3.12.
2024-09-12 00:44:29 -04:00
Tom Rothamel
d3c827fc55
py2: Remove support for PY2 in the compat module.
...
The compat module still needs to exist to keep support for older
games and saves, but a lot of it went away.
2024-09-08 19:40:13 -04:00
Tom Rothamel
1336b5cfb8
Remove the gl, gles, and angle renderers.
2024-09-06 00:34:14 -04:00
Tom Rothamel
17935743bb
audio: Start channels unpaused.
2024-08-17 22:46:48 -04:00
Tom Rothamel
487fc1c9f2
audio: Reimplement synchro_start in renpysound.
...
This is a more principled implementation than we had before. Syncro
start now consists of audio about to play being delayed until:
* All audio about to play with the synchro_start flag set is
ready to play. (Has samples decoded.)
* There is no queued audio with the synchro_start flag set.
2024-08-15 00:51:03 -04:00
Tom Rothamel
0081d80c44
audio: Remove the existing implementation of synchro start.
2024-08-14 22:36:32 -04:00
Gregor Riepl
b120f82f98
Replace deprecated APIs when compiling against newer FFmpeg
2024-08-08 23:56:16 +02:00
Tom Rothamel
98615653e0
ffmedia: Call media_pause for each channel during a global pause.
...
This adjust the times on movies so that there isn't a pause when
we come back. Fixes #5667 .
2024-08-04 14:28:40 -04:00
Tom Rothamel
1e91cd28a0
Work on box_justify and box_align.
...
Some 'cleanups' on #5404 .
* Integrate it with the style system.
* Rename justify to box_justify.
2024-07-31 02:00:22 -04:00
Tom Rothamel
850f2705bd
Merge branch 'master' into box-updates
2024-07-30 23:18:43 -04:00
Tom Rothamel
7fafea3a5c
Move to a different approach to pausing on Android and iOS.
...
This is a (more or less) direct call of SDL_PauseAudio, without
any locking.
Per #5292 .
2024-05-26 20:40:49 -04:00
Tom Rothamel
7a6f6385e1
textshader: Improve getting shaders.
...
Add config.textshader_callbacks to make it possible to change the
textshader each time it is access.
Cache text shaders once parsed.
2024-05-06 02:28:33 -04:00
Tom Rothamel
ae81022b0c
textshader: Move shaders into a dedicated file.
2024-05-02 01:23:23 -04:00
Tom Rothamel
9fbfd99cca
textshader: Read text shader config out of an object.
2024-04-28 14:35:33 -04:00
Tom Rothamel
3d717ed39b
textshader: Add style.
2024-04-27 14:52:00 -04:00
Tom Rothamel
79ec01fe1a
filter: Pad channels with silence.
...
This ensures that Delay, Comb, and Reverb filters generally have
time to complete.
2024-03-27 00:44:48 -04:00
Tom Rothamel
7b3fb20ae6
filter: Process audio in chunks.
...
To allow .01s delays.
2024-03-20 20:25:19 -04:00
Tom Rothamel
b29ef94141
filter: Add a function to expose the audio sample rate.
2024-03-16 02:07:57 -04:00
Tom Rothamel
42e3b2600c
filter: Include filter in the build process.
2024-03-15 17:08:32 -04:00
Tom Rothamel
6e532f1b08
filter: Add set_audio_filter(replace=True)
...
To give the option of effects where the filter is replaced
while music is playing.
2024-03-15 03:01:36 -04:00
Tom Rothamel
d25bbaa01c
filter: Store and use the audio filter.
2024-03-14 01:21:48 -04:00
Tom Rothamel
aa0925d1db
filter: Basic audio filtering.
...
This converts the sound to float, and sends it to the audio filter
before mixing. This also includes the initial implementation of the
AudioFilters, using SoundBuffers to store the audio.
2024-03-13 02:04:53 -04:00
Tom Rothamel
44145febf4
Add an empty renpy.audio.filter module.
2024-03-12 01:29:07 -04:00
Tom Rothamel
dbdb439ccb
Fix the one non-deprecation warning.
2024-03-12 01:03:37 -04:00
Tom Rothamel
457ad4ddb5
Add a way of hiding ffmpeg deprecations.
...
While we're stuck on an old version that supports Win7.
2024-03-12 00:00:02 -04:00
Tom Rothamel
229b80a76c
filter: Accept audio_filter as an argument to renpysound.play.
...
And renpysound.queue, and propagate it through the system. This
lets an audiofilter defined in Python and Cython be available to
the C.
2024-03-11 23:16:47 -04:00
Tom Rothamel
96e77332a2
Move to F32 audio.
...
We'll be doing audio processing in F32 anyway, so if conversion is
necessary, let's let SDL do it. And if it's not, we have extra
headroom.
2024-03-10 21:10:42 -04:00
shawna-p
744b503e84
Add box_align and justify for boxes
2024-03-09 20:15:37 -05:00
Tom Rothamel
ce58c4e4b1
Add keyboard_focus_insets.
...
The keyboard_focus_insets style property makes it possible to
have keyboard focus work with overlapping buttons, by artificially reducing
the size of the buttons to remove the overlap, when determining keyboard focus.
Closes #4620 .
2024-03-06 21:51:49 -05:00
Tom Rothamel
69d3a85597
Add ruby_line_leading.
...
This allow lines with ruby to get additional leading, while
non-ruby lines do not.
Fixes #4997 .
2024-01-05 01:48:08 -05:00
Tom Rothamel
113a60faa5
Update the copyright for 2024.
2024-01-05 00:31:12 -05:00
Tom Rothamel
9d0c347c0f
ffmedia: Return AVERROR_EOF for end of file.
...
Fixes #5207 .
2023-12-28 02:09:22 -05:00
Tom Rothamel
00c03b137f
alt: Add the group_alt property.
...
This specifies a group prefix that is spoken the first time a
displayable with the first group prefix is spoke, but won't
be spoken again until a displayable with a different group
prefix is spoken.
2023-11-22 00:37:51 -05:00
Tom Rothamel
bf0bc1d837
Update to Emoji 15.1.
2023-09-16 18:44:36 -04:00
Tom Rothamel
a73082df6f
hb: Add styles to support variable fonts.
2023-09-13 01:21:17 -04:00
Tom Rothamel
6422153ce1
hb: Allow instances and axis values of variable fonts to be specified.
2023-09-12 23:32:46 -04:00
Tom Rothamel
9d1263d7c3
hb: Add the first support for font instances and variations.
2023-09-12 00:38:35 -04:00
Tom Rothamel
2096c691ce
Implement the auto-light hinting mode.
...
This isn't going to be the default, but it is available if creators
want it.
2023-09-10 00:46:17 -04:00
Tom Rothamel
54b4406974
Support building without harfbuzz on Ren'Py 7 web.
2023-08-08 22:45:16 -04:00
Tom Rothamel
4b3561d821
harfbuzz: Build by default.
2023-08-07 23:32:22 -04:00
Tom Rothamel
ff177d0dae
harfbuzz: Allow the text shaper to be set by style.
...
This allows harfbuzz and non-harfbuzz text to coexist in the same
game, which is useful for testing during development. It will also
provide backwards compatibility when we change the default.
2023-08-01 22:01:15 -04:00
Tom Rothamel
0b937fdea6
hb: Add ability to create a font and use it to shape text.
2023-07-26 01:37:42 -04:00
Tom Rothamel
802652d579
py2: Add an encoding for the emoji trie.
2023-07-25 11:10:11 -04:00
Tom Rothamel
bcd4fd4d2c
harfbuzz: New font rendering module.
...
This will support harfbuzz, eventually. It will not support Python 2.
2023-07-25 02:06:37 -04:00