- Added inline helper methods to create ports of the correct type
- Had to move `jack_port_uuid` to the top because we still can't use methods declared below in 2019
- I'd like to add helper methods that automatically set the metadata but C has no method overloading?!
- Improved metadata documentation
- Registering a port with the `JACK_DEFAULT_MIDI_TYPE` will automatically change it to `JACK_DEFAULT_MESSAGE_TYPE` for forward compatibility.
* Fix generation of client uuid
Signed-off-by: falkTX <falktx@falktx.com>
* Remove all client properties when removed; Cleanup a few things
Signed-off-by: falkTX <falktx@falktx.com>
* Make all uuid function arguments use jack_uuid_t type; Fix warnings
Signed-off-by: falkTX <falktx@falktx.com>
* Rework uuids to never be int, more cleanup
Signed-off-by: falkTX <falktx@falktx.com>
When building with MXE, the macro expansion of PRIu64 fails:
../common/JackAPI.cpp: In function 'int jack_uuid_parse(const char*, jack_uuid_t*)':
../common/JackAPI.cpp:2119:24: error: expected ')' before 'PRIu64'
if (sscanf (b, "%" PRIu64, u) == 1) {
^
../common/JackAPI.cpp:2119:33: warning: spurious trailing '%' in format [-Wformat=]
if (sscanf (b, "%" PRIu64, u) == 1) {
^
../common/JackAPI.cpp:2119:33: warning: too many arguments for format [-Wformat-extra-args]
../common/JackAPI.cpp: In function 'void jack_uuid_unparse(jack_uuid_t, char*)':
../common/JackAPI.cpp:2134:45: error: expected ')' before 'PRIu64'
snprintf (b, JACK_UUID_STRING_SIZE, "%" PRIu64, u);
^
../common/JackAPI.cpp:2134:54: warning: spurious trailing '%' in format [-Wformat=]
snprintf (b, JACK_UUID_STRING_SIZE, "%" PRIu64, u);
^
../common/JackAPI.cpp:2134:54: warning: too many arguments for format [-Wformat-extra-args]
This could be resolved by adding those two lines:
#define __STDC_FORMAT_MACROS 1
#include <inttypes.h>
References:
https://stackoverflow.com/questions/14535556/why-doesnt-priu64-work-in-this-codehttps://stackoverflow.com/questions/8132399/how-to-printf-uint64-t-fails-with-spurious-trailing-in-format
* [metadata] Metadata properties implementation.
* [metadata] Fixed for shared server metadata-base accessor; alsofixed coding/naming style.
* [metadata] Fixed a tab for space.
* [metadata] Use of Berkeley DB is now truly optional on configure time.
* [metadata] Fixed tabs for spaces, again.
* [metadata] Fixed for shared metadata-base initialization and external clients.
* [metadata] Blind-fix for windows codebase.
* [metadata] Metadata API moved into client-side library only.
* [metadata] Fixed jack_port_uuid() stubbiness, now returning a proper UUID from port index.
* [metadata] Uniform method names.
* [metadata] Fixed PropertyChangeNotify through server async call.