make VLQ save+restore functions publically accessible, for use with meta-events
[ardour.git] / libs / evoral / src / libsmf / smf.h
index 5e3e2d1859d837fcb3f4f269e79e14e93f4a3b26..7f4aa402c05d1ae93ae13e1f53a792dde95de548 100644 (file)
@@ -386,6 +386,12 @@ int   smf_event_is_textual(const smf_event_t *event) WARN_UNUSED_RESULT;
 char *smf_event_decode(const smf_event_t *event) WARN_UNUSED_RESULT;
 char *smf_event_extract_text(const smf_event_t *event) WARN_UNUSED_RESULT;
 
+/* Routines for dealing with Variable Length Quantities (VLQ's). 
+   Slightly odd names reflect original static names within libsmf
+ */
+int smf_format_vlq (unsigned char *buf, int length, unsigned long value);
+int smf_extract_vlq(const unsigned char *buf, const size_t buffer_length, uint32_t *value, uint32_t *len);
+
 /* Routines for loading SMF files. */
 smf_t *smf_load(FILE *) WARN_UNUSED_RESULT;
 smf_t *smf_load_from_memory(const void *buffer, const size_t buffer_length) WARN_UNUSED_RESULT;