Fixed a few compiler warnings

This commit is contained in:
Digital Artifex
2025-08-22 21:03:57 -04:00
parent edfae84b55
commit 4bd1b46f7f
2 changed files with 102 additions and 43 deletions

View File

@@ -16,7 +16,7 @@
AudioModel::AudioModel(QObject *parent) : QObject(parent)
{
m_impl_data = { nullptr, nullptr, 0, 1, {}, {}};
m_impl_data = { nullptr, nullptr, {0, 0, {}}, 1, {}, {}, 0.0};
m_impl_data.samples.reserve(4096);
m_impl_data.smoothed.reserve(2048);
@@ -212,11 +212,11 @@ void AudioModel::on_process(void *userdata)
n_samples = buf->datas[0].chunk->size / sizeof(float);
// convert channels to mono
for(int index = 0; index < n_samples; index += n_channels)
for(uint32_t index = 0; index < n_samples; index += n_channels)
{
float average = 0;
for(int channel = 0; channel < n_channels; channel++)
for(uint32_t channel = 0; channel < n_channels; channel++)
average += samples[index + channel];
average /= n_channels;

View File

@@ -2,50 +2,109 @@
# it contains modifications from Neil Panda and myself
import os
import sys
import subprocess
# If they fail to convert, try only converting for 120,150 or 150 instead of 100 es
# otherwise, debug the shader it self
# Paths
source_directory = 'processed'
output_directory = 'build'
# Ensure output directory exists
os.makedirs(output_directory, exist_ok=True)
import shutil
import argparse
# THIS WILL DELETE YOUR ORIGINAL FRAG AFTER COMPILING IF SET TO TRUE
DELETE_AFTER_COMPILATION = False
# Iterate over all .frag files in the source directory
for root, dirs, files in os.walk(source_directory):
for file in files:
if file.endswith('.frag'):
# Construct the full path to the source file
source_file_path = os.path.join(root, file)
# Construct new output path
relative_path = os.path.relpath(root, source_directory)
new_root = os.path.join(output_directory, relative_path)
os.makedirs(new_root, exist_ok=True)
output_file_name = file.replace('.frag', '.frag.qsb')
output_file_path = os.path.join(new_root, output_file_name)
def parse_arguments():
parser = argparse.ArgumentParser(
description='A shader processor for ShaderToy',
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog="""
Examples:
python ShaderToyProcessor.py -i ./src/deadly_halftones
"""
)
parser.add_argument('-i', '--input',
default='processed',
help='Input directory to process')
parser.add_argument('-v', '--verbose',
action='store_true',
help='Enable verbose output')
parser.add_argument('-o', '--output',
default='build',
help='Output Directory')
return parser.parse_args()
# Construct and execute the command
cmd = [
'/usr/lib/qt6/bin/qsb', '--glsl', '330', '--hlsl', '50', '--msl', '12',
'-o', output_file_path, source_file_path
]
try:
subprocess.run(cmd, check=True)
# If the command was successful, delete the source file
if (DELETE_AFTER_COMPILATION):
os.remove(source_file_path)
print(f"Successfully converted and deleted: {file}")
def main():
args = parse_arguments()
if args.output:
output_directory = args.output
if args.input:
source_directory = args.input
if args.verbose:
print(f"Input directory: {source_directory}")
print(f"Output directory: {output_directory}")
last_file = ""
# Ensure output directory exists
os.makedirs(output_directory, exist_ok=True)
try:
# Iterate over all .frag files in the source directory
for root, dirs, files in os.walk(source_directory):
for file in files:
if file.endswith('.frag'):
last_file = file
# Construct the full path to the source file
source_file_path = os.path.join(root, file)
# Construct new output path
relative_path = os.path.relpath(root, source_directory)
new_root = os.path.join(output_directory, relative_path)
os.makedirs(new_root, exist_ok=True)
output_file_name = file.replace('.frag', '.frag.qsb')
output_file_path = os.path.join(new_root, output_file_name)
# Construct and execute the command
cmd = [
'/usr/lib/qt6/bin/qsb', '--glsl', '330', '--hlsl', '50', '--msl', '12',
'-o', output_file_path, source_file_path
]
subprocess.run(cmd, check=True)
# If the command was successful, delete the source file
if (DELETE_AFTER_COMPILATION):
os.remove(source_file_path)
if args.verbose:
print(f"Successfully converted and deleted: {file}")
elif args.verbose:
print(f"Successfully converted: {file}")
# Otherwise, just copy the file
else:
print(f"Successfully converted: {file}")
except subprocess.CalledProcessError:
# If the command failed, do not delete the source file
print(f"Conversion failed for: {file}")
file_path = os.path.join(root, file)
# Construct new output path
relative_path = os.path.relpath(root, source_directory)
new_root = os.path.join(output_directory, relative_path)
os.makedirs(new_root, exist_ok=True)
new_file_path = os.path.join(new_root, file)
if args.verbose:
print(f"Writing to: '{new_file_path}'")
shutil.copy(file_path, new_file_path)
except subprocess.CalledProcessError:
# If the command failed, do not delete the source file
print(f"Conversion failed for: {last_file}")
sys.exit(1)
if __name__ == '__main__':
main()