User:Contribution/Chanopif Project: Difference between revisions

Contribution (talk | contribs)
No edit summary
Contribution (talk | contribs)
No edit summary
Line 46: Line 46:


=== Exemple ===
=== Exemple ===
An example line might be:
An example line might be:


Line 62: Line 63:


=== File identification and version declaration ===
=== File identification and version declaration ===
The first line of a Chanopif file must declare the format and version to ensure compatibility:
The first line of a Chanopif file must declare the format and version to ensure compatibility:
  <code>chanopif version ?.?.?</code>
  <code>chanopif version ?.?.?</code>


=== Metadata support ===
=== Metadata support ===
Metadata is optional but, if included, should appear on the second line for quick identification without needing to scan the entire file. YAML is used, and fields are open-ended.
Metadata is optional but, if included, should appear on the second line for quick identification without needing to scan the entire file. YAML is used, and fields are open-ended.
  <code><meta>
  <code><meta>
Line 72: Line 75:


=== Comments ===
=== Comments ===
Use # to insert a comment. Comments are ignored by the parser and do not affect the file's execution. They can be used to provide explanations or annotations within the file.
Use # to insert a comment. Comments are ignored by the parser and do not affect the file's execution. They can be used to provide explanations or annotations within the file.


Line 78: Line 82:


=== Tuning control ===
=== Tuning control ===
As described above:
As described above:
  <code>channel_base10  noteNumber_base16  pitch_base16.fractionalPitch_base32</code>
  <code>channel_base10  noteNumber_base16  pitch_base16.fractionalPitch_base32</code>
Line 96: Line 101:


{{todo|Generate both files|inline=1|comment=Upload the files and insert their respective links here.}}
{{todo|Generate both files|inline=1|comment=Upload the files and insert their respective links here.}}
== Simple Chanopif generator, validator, and parser in Python ==
Below is a minimal example demonstrating how to create, parse, and validate Chanopif (<code>.cnpf</code>) files using Python. It’s not intended as a complete or professional-grade solution—the author doesn’t have much time and isn’t a full-time developer. However, this sample code can serve as a helpful starting point for those who wish to explore Chanopif or refine it into a more robust implementation.
{{todo|Implement a basic Chanopif generator, validator, and parser in Python|inline=1|comment=Share the completed code here.}}


== Implementation ==
== Implementation ==
Line 122: Line 121:


=== Simple Chanopif generator, validator, and parser in Python ===
=== Simple Chanopif generator, validator, and parser in Python ===
Below is a minimal example demonstrating how to create, parse, and validate Chanopif (<code>.cnpf</code>) files using Python. It’s not intended as a complete or professional-grade solution—the author doesn’t have much time and isn’t a full-time developer. However, this sample code can serve as a helpful starting point for those who wish to explore Chanopif or refine it into a more robust implementation.
{{todo|Implement a basic Chanopif generator, validator, and parser in Python|inline=1|comment=Share the completed code here.}}


== Roadmap ==
== Roadmap ==