Effects (KFX) - xIceArcher/lyricsheets GitHub Wiki
Effects provide a powerful way to apply complex, custom karaoke animations (KFX) to songs using Python scripts, going beyond the default simple fill effect.
Effects are defined in separate Python files and need to be loaded before they can be used.
-
Arguments:
-
,Filename
= Description: Loads all effect functions defined within the specified Python file (.py
). The script looks for this file relative to the location of the.ass
file being processed by default. Always uses-
for the line range. -
Usage: You only need to import a file once per
.ass
file processing run. Once imported, any effect within that file can be used by any KFX modifier later in the same.ass
file. Example:
{\lyricsmodify(import,-,chase)}CHASE!
(Loads effects from the file chase.py)
-
Arguments:
-
,Effect Name
-
Description: Applies the specified effect function to the current song. The
Effect Name
must correspond to an effect function either built-in (located inlyricsheets/effects/
) or loaded via anImport
modifier earlier in the file. Always uses-
for the line range. Example:
Comment: 0,0:38:27.51,0:38:27.51,Song,,0,0,0,,{\lyricsmodify(import,-,chase;kfx,-,chase_effect)}CHASE!
Loads effects from chase.py
, then applies the specific effect named chase_effect
to the song "CHASE!".
You can also apply effects globally via command-line arguments when running populate_songs.py
:
-
--effect <name>
: Specifies a default effect (name
) to use for all songs processed in the run. This will be overridden if a song has its own KFX modifier. -
--force-effect <name>
: Forces the specified effect (name
) to be used for all songs, ignoring any KFX modifiers present in the .ass files.
WIP