ardour/libs/evoral/libsmf
Paul Davis 65332e603b libsmf: speed up ridiculous design of smf_save()
This would realloc a buffer for every event, making it absurdly slow for
large MIDI files (say, 10k events). Use the somewhat standard heuristic
of doubling the requested allocation every time we need to increase the size.

This results in a speedup of 40-100x when saving SMF to disk
2025-11-17 16:05:03 -07:00
..
COPYING move evoral/src/* to evoral/ 2019-11-02 16:32:18 -06:00
README move evoral/src/* to evoral/ 2019-11-02 16:32:18 -06:00
smf.c add smf_length_is_explicit() to libsmf 2025-02-28 16:49:15 -07:00
smf.h libsmf: speed up ridiculous design of smf_save() 2025-11-17 16:05:03 -07:00
smf_decode.c move evoral/src/* to evoral/ 2019-11-02 16:32:18 -06:00
smf_load.c Significantly speed up loading SMF tempo-maps 2022-02-05 17:33:21 +01:00
smf_private.h Make header files more self-contained - add missing Ardour and lib includes 2024-10-20 03:30:46 +02:00
smf_save.c libsmf: speed up ridiculous design of smf_save() 2025-11-17 16:05:03 -07:00
smf_tempo.c Remove unused libsmf seconds/time API 2020-07-16 18:38:03 +02:00
smfsh.c move evoral/src/* to evoral/ 2019-11-02 16:32:18 -06:00

This is a stripped down version of libsmf 1.2 by Edward Tomasz Napiera
for internal use by Evoral.  See COPYING for licensing information.

The complete version can be found at <http://libsmf.sf.net>.