Discussion:
[LAU] c++ library for reading/writing MIDI files
Jeanette C.
2018-07-29 16:10:37 UTC
Permalink
Hey hey,
sorry for posting this here, but my mail(s) to LAD seem to get lost without
trace.

I am looking for a platform independent c++ library to read/write MIDI files.
I have seen a couple of them, but found only a few in the Arch Linux AUR (user
repositories).

So what would be a more or less common library, if possible easy to use. If
it has an influence on recommendations, I plan to use RtMidi for realtime MIDI
I/O.

Best wishes and thanks for any hints,

Jeanette

--------
* Website: http://juliencoder.de - for summer is a state of sound
* SoundCloud: https://soundcloud.com/jeanette_c
* Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
* GitHub: https://github.com/jeanette-c
* Twitter: https://twitter.com/jeanette_c_s

We still move to a rhythm just like this
We still dream of sharing our first kiss <3
(Britney Spears)
Paul Davis
2018-07-29 16:16:51 UTC
Permalink
we use libsmf (a C library) inside ardour.

it's fairly good.

we wrap it in a fairly thin C++ layer in a single source code module in
libevoral, and internal ardour library.

we have found bugs in libsmf that we have not pushed upstream for various
reasonably defensible reasons. they are not serious and you are not that
likely to encounter them.
Post by Jeanette C.
Hey hey,
sorry for posting this here, but my mail(s) to LAD seem to get lost
without trace.
I am looking for a platform independent c++ library to read/write MIDI
files. I have seen a couple of them, but found only a few in the Arch Linux
AUR (user repositories).
So what would be a more or less common library, if possible easy to use.
If it has an influence on recommendations, I plan to use RtMidi for
realtime MIDI I/O.
Best wishes and thanks for any hints,
Jeanette
--------
* Website: http://juliencoder.de - for summer is a state of sound
* SoundCloud: https://soundcloud.com/jeanette_c
* Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
* GitHub: https://github.com/jeanette-c
* Twitter: https://twitter.com/jeanette_c_s
We still move to a rhythm just like this
We still dream of sharing our first kiss <3
(Britney Spears)
_______________________________________________
Linux-audio-user mailing list
https://lists.linuxaudio.org/listinfo/linux-audio-user
Jeanette C.
2018-07-29 16:54:59 UTC
Permalink
Post by Paul Davis
we use libsmf (a C library) inside ardour.
Thanks for the tip. It sounds fine and I suppose I might always look at
the relevant c++ wrapper source in the Ardour code?
...

Thanks and best wishes,

Jeanette

--------
* Website: http://juliencoder.de - for summer is a state of sound
* SoundCloud: https://soundcloud.com/jeanette_c
* Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
* GitHub: https://github.com/jeanette-c
* Twitter: https://twitter.com/jeanette_c_s

We still move to a rhythm just like this
We still dream of sharing our first kiss <3
(Britney Spears)
David Kastrup
2018-07-29 16:58:22 UTC
Permalink
Post by Paul Davis
we have found bugs in libsmf that we have not pushed upstream for
various reasonably defensible reasons.
Without wanting to dwell on it and just out of personal curiosity (sort
of having been on either side): what class of reasons would that be?

Would it be a variant of "after trying to find some sort-of responsive
contact, we tried the following mail/mailing list but it appeared like
our mail ended up with some black hole." Or one of another color.

Basically, unclear and unfun to figure out what kind of effort would
have made a difference.

That's the variant I tend to come across (or end up being a part of)...
--
David Kastrup
Paul Davis
2018-07-29 18:31:54 UTC
Permalink
Post by David Kastrup
Post by Paul Davis
we have found bugs in libsmf that we have not pushed upstream for
various reasonably defensible reasons.
Without wanting to dwell on it and just out of personal curiosity (sort
of having been on either side): what class of reasons would that be?
libsmf has been written with a clear tendency toward "if the SMF is not
perfect, we cannot load it". Ardour wants a somewhat more tolerant
behaviour, so quite a few of our changes have involved making that the case.

on top of that, we wanted to treat libsmf as a genuinely internal library
that so if we wanted to amend it in more fundamental ways, we wouldn't need
to stop and think about that for even a second. the first thing that we
ever did with it, back in 2009, was to strip the code down to suit that
purpose.

we probably could have/should have tried to push a few of our fixes in the
direction of libsmf's current maintainer. that's my fault, but also a
function of time overload.

Loading...