├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── TODO.txt ├── pyproject.toml ├── setup.py ├── sfzlint ├── __init__.py ├── cli.py ├── errors.py ├── headers.py ├── lint.py ├── opcodes.py ├── parser.py ├── settings.py ├── sfz.lark ├── spec.py ├── syntax.yml └── validators.py ├── tests ├── __init__.py ├── fixtures │ ├── aria_program.xml │ ├── basic │ │ ├── arco │ │ │ ├── arco_c1_ff_down.wav │ │ │ ├── arco_c1_mf_up.wav │ │ │ ├── arco_c1_pp_down.wav │ │ │ └── arco_c1_pp_up.wav │ │ ├── bad.sfz │ │ ├── badcase.sfz │ │ ├── def_path.sfz │ │ ├── nosample.sfz │ │ ├── relsample.sfz │ │ ├── sfzxml.sfz │ │ └── valid.sfz │ ├── include │ │ ├── badfile.sfz │ │ ├── defs.sfz │ │ ├── hasinc.sfz │ │ ├── inbadfile.sfz │ │ └── sub │ │ │ └── relpath.sfz │ └── samples │ │ └── sounds │ │ └── c1_ff_yo.wav ├── test_cli.py ├── test_invalid.py └── test_valid.py └── testsuite.sh /.gitattributes: -------------------------------------------------------------------------------- 1 | *.wav binary 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/README.md -------------------------------------------------------------------------------- /TODO.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/TODO.txt -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/pyproject.toml -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/setup.py -------------------------------------------------------------------------------- /sfzlint/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sfzlint/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/sfzlint/cli.py -------------------------------------------------------------------------------- /sfzlint/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/sfzlint/errors.py -------------------------------------------------------------------------------- /sfzlint/headers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/sfzlint/headers.py -------------------------------------------------------------------------------- /sfzlint/lint.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/sfzlint/lint.py -------------------------------------------------------------------------------- /sfzlint/opcodes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/sfzlint/opcodes.py -------------------------------------------------------------------------------- /sfzlint/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/sfzlint/parser.py -------------------------------------------------------------------------------- /sfzlint/settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import os 3 | 4 | 5 | pickle = bool(os.environ.get('NOPICKLE')) 6 | -------------------------------------------------------------------------------- /sfzlint/sfz.lark: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/sfzlint/sfz.lark -------------------------------------------------------------------------------- /sfzlint/spec.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/sfzlint/spec.py -------------------------------------------------------------------------------- /sfzlint/syntax.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/sfzlint/syntax.yml -------------------------------------------------------------------------------- /sfzlint/validators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/sfzlint/validators.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/fixtures/aria_program.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/aria_program.xml -------------------------------------------------------------------------------- /tests/fixtures/basic/arco/arco_c1_ff_down.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/arco/arco_c1_ff_down.wav -------------------------------------------------------------------------------- /tests/fixtures/basic/arco/arco_c1_mf_up.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/arco/arco_c1_mf_up.wav -------------------------------------------------------------------------------- /tests/fixtures/basic/arco/arco_c1_pp_down.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/arco/arco_c1_pp_down.wav -------------------------------------------------------------------------------- /tests/fixtures/basic/arco/arco_c1_pp_up.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/arco/arco_c1_pp_up.wav -------------------------------------------------------------------------------- /tests/fixtures/basic/bad.sfz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/bad.sfz -------------------------------------------------------------------------------- /tests/fixtures/basic/badcase.sfz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/badcase.sfz -------------------------------------------------------------------------------- /tests/fixtures/basic/def_path.sfz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/def_path.sfz -------------------------------------------------------------------------------- /tests/fixtures/basic/nosample.sfz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/nosample.sfz -------------------------------------------------------------------------------- /tests/fixtures/basic/relsample.sfz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/relsample.sfz -------------------------------------------------------------------------------- /tests/fixtures/basic/sfzxml.sfz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/sfzxml.sfz -------------------------------------------------------------------------------- /tests/fixtures/basic/valid.sfz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/basic/valid.sfz -------------------------------------------------------------------------------- /tests/fixtures/include/badfile.sfz: -------------------------------------------------------------------------------- 1 | 2 | loop_mode=one_shot 3 | pan=100zoom=45 4 | -------------------------------------------------------------------------------- /tests/fixtures/include/defs.sfz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/include/defs.sfz -------------------------------------------------------------------------------- /tests/fixtures/include/hasinc.sfz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/include/hasinc.sfz -------------------------------------------------------------------------------- /tests/fixtures/include/inbadfile.sfz: -------------------------------------------------------------------------------- 1 | 2 | pan_oncc45=3 3 | 4 | #include "badfile.sfz" 5 | -------------------------------------------------------------------------------- /tests/fixtures/include/sub/relpath.sfz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/include/sub/relpath.sfz -------------------------------------------------------------------------------- /tests/fixtures/samples/sounds/c1_ff_yo.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/fixtures/samples/sounds/c1_ff_yo.wav -------------------------------------------------------------------------------- /tests/test_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/test_cli.py -------------------------------------------------------------------------------- /tests/test_invalid.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/test_invalid.py -------------------------------------------------------------------------------- /tests/test_valid.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/tests/test_valid.py -------------------------------------------------------------------------------- /testsuite.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jisaacstone/sfzlint/HEAD/testsuite.sh --------------------------------------------------------------------------------