46 lines
2.2 KiB
Python
46 lines
2.2 KiB
Python
#!/usr/bin/env python3
|
|
###################################################################################
|
|
## Module Name: gen_sound_header.py ##
|
|
## Project: AurixOS ##
|
|
## ##
|
|
## Copyright (c) 2024-2025 Jozef Nagy ##
|
|
## ##
|
|
## This source is subject to the MIT License. ##
|
|
## See License.txt in the root of this repository. ##
|
|
## All other rights reserved. ##
|
|
## ##
|
|
## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ##
|
|
## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ##
|
|
## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ##
|
|
## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ##
|
|
## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ##
|
|
## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ##
|
|
## SOFTWARE. ##
|
|
###################################################################################
|
|
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
input_file = sys.argv[1]
|
|
output_file = sys.argv[2]
|
|
var_name = Path(input_file).stem
|
|
filesize = os.path.getsize(input_file)
|
|
raw_input = ""
|
|
|
|
with open(input_file, "rb") as f:
|
|
raw_input = f.read()
|
|
f.close()
|
|
|
|
with open(output_file, "w") as f:
|
|
f.write("// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT!\n\n")
|
|
f.write("const unsigned int {var}_len = {size};\n".format(var = var_name, size = filesize))
|
|
f.write("static const unsigned char *{var}_data = {{\n\t".format(var = var_name))
|
|
for i in range(0, filesize):
|
|
f.write("{bytes},".format(bytes = format(raw_input[i], '#04x')))
|
|
if (i % 16) == 15:
|
|
f.write("\n\t")
|
|
else:
|
|
f.write(" ")
|
|
f.write("};\n")
|
|
f.close()
|