-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support For Other Parameter Types #1
Comments
Adding more OSC types is foreseen, it's a goal to support / cover the full standard. |
Well, when you add param_c here's a sample input file http://fundamental-code.com/tmp/tmp2.xml This subset of parameters might also start to give you a better idea of the enumerated paths which I mentioned on the ML. |
This is another interesting oschema instance i like to use as a test file. I take one of the messages:
It is absolutely legitimate to use enumerated paths that reflect the structure of the unit.
Your program could then even allow to map a context "/part0/kit0/adpars/voice*/VoiceFilter/Pvowels[4-8]/Pformants9" or similar to the respective components. So or so, the missing datatypes will be added.. |
Feel free to use any section of any of the test files for your own uses. As per the API design I grant you full rights to make fun of it if you like. The aliases might make sense, but it does dodge the job of the oschema/oscdoc actually documenting the API in full (at least in my view) because the context is rather important. If somehow the aspects or another bit of information makes defining "/part[0-7]/kit[0-15]/adpars/voice[0-7]/VoiceFilter/Pvowels[0-15]/Pformants[0-9]/amp" practical, it would be great. |
If a lot is expressed in the path it would even be thinkable to have an XML dialect that allows any nesting of any elements to represent the structure of the program and then derive the message signatures from that and validate it somehow. That said the process of creating an oschema document can be generative. If the unit has a large internal structure expressed in the path it could dump that as message_[in|out] rather than doing that by hand. txl (https://github.com/7890/txl) has some support for templates, execution and include functions that would allow to define repetitive definitions in a more "human" way too. We could see two sides, the side of defining things and the side of using the definitions. Using reusable aspects (mounting a set of messages of another oschema instance) is something that makes most sense for things that are reusable by other units. It can be used also for making the definition of a domain only of interest for one program easier, while i would see the generative approach as more convenient in that scenario. Reusable aspects create a dependency hell as far as i can tell and break the above "evaluated/precise" rule to some degree. tools like oscdoc need to combine referenced aspects. This can be a timeconsuming task and a lot of things can go wrong. I think one goal is that program clients can be served with a complete (currently valid) API definition of the described unit in a flat / linear to filesize speedy way while not loosing the abstract rule-based definition. |
For param_c, it will be an unsigned 8-bit char, decimal 0-255. Does make sense? |
also available now: |
The OSC 1.0 spec only indicates that "c" is an ascii character which only uses 7/8 of the bits, so the standard doesn't indicate if it is signed or not. That said, the code I have to handle it does treat it like a uint8_t. |
I would like to prevent any ambiguity. Most of the ascii char tables do not show a negative DEC value. |
The type_osc_param hierarchy appears to be incomplete.
Currently it addresses "ihfdsb" where as the OSC 1.1 standard is composed of type classes "isbfhtdSrmcTFNI" (and the rather useless IMHO "[]").
Could the missing type classes be added to the schema?
The text was updated successfully, but these errors were encountered: