Closed philj404 closed 3 years ago
I think all my libraries work with PlatformIO - I get no complaints, in any case :) - so it would be consistent if this one does as well.
I don't use PlatformIO or know much about it, so if someone from the community wants to tell me they think needs to be fixed, I'll look at it.
The fix may be all on the PlatformIO side -- it was that way for my library. I can make the request -- or at least confirm it is fixed -- if you wish.
I'm not really sure how PlatformIO picked up your library. Maybe the PlatformIO library indexer iterates over github repositories (so it finds interesting code), but it doesn't completely understand/support an Arduino library's release structure.
I thought my SimpleSerialShell library was picked up because I published it for the Arduino platform. I requested the Arduino team add it to "Manage libraries...". But I do not see MD_MIDIFile is available through "Manage libraries...", so I suspect you have not published the library like that.
PlatformIO seems to scan all the Arduino libraries that are in the Managed Libraries list. MD_MIDIFile used to be on the list but now seems to have dropped off the list. That could be an issue for PlatformIO as well. I'll raise a ticket on the Arduino site and see what they say..
Back on the list for them to include it in the Managed Libraries. Apparently they have no record of it ever being listed. It should be back in a few days.
The library is now listed. Does this make a difference to PlatformIO?
I see the recent MD_Midifile v2.5.1 in the Arduino IDE. Thanks!
So far I can only see the older MD_Midifile v2.5 picked up in PlatformIO.
(At this point PlatformIO will not pick up v2.5.1 even when I explicitly tell it to look.)
Now that you have the Arduino library manager behaving correctly (again), I will ask the PlatformIO folks to resynchronize their connection.
By the way, thanks for your writing your
about playing MIDI files with Arduino! That is how I discovered your library, even when the Library Manager lost track of it.
I've submitted a request asking for help synchronizing Arduino library updates on PlatformIO.
I will let you know how things turn out.
PlatformIO now shows v2.5.1 as expected. Thanks for your help!
Thank you for creating this library. I'm trying to get it working -- and I am getting closer -- but I am running into problems under PlatformIO.
First of all, _are you expecting MDMIDIFile to work with PlatformIO? If not, you can just mark this issue as "WILL NOT FIX".
If you would like I can ask the PlatformIO people to help fix this. It is not the first time this has happened, and I am sure it will not be the last.
I had a similar issue with my library. I think PlatformIO has trouble changing default branch names (like you I changed my base branch from "master" to "main"). See https://community.platformio.org/t/latest-versions-of-simpleserialshell-lib-are-not-showed-in-platformio-repos/19387 (changes were in https://github.com/philj404/SimpleSerialShell/pull/7)
Subject of the issue
The symptom I see is exactly the same as the one which should have fixed issue #15 -- that is, I get the compile time error because the SdFat library changed its public interface. I see you made changes to address this in MD_MIDIFile for the v2.5.1 release. It looks like PlatformIO only installs v2.5, and does not find the later version.
Your Environment
VS Code 1.54.3/PlatformIO core: 5.1.1 home: 3.3.4
Library Version: "default version" -- v2.5 Arduino IDE version: (see PlatformIO) Hardware model/type: Arduino UNO OS and Version: Windows 10
Steps to Reproduce
Expected Behaviour
The build should be successful. SDFat v2.0.4 and MD_MIDIFile v2.5.1 should be compatible with each other (at this time).
Actual Behaviour
Instead I get a build error just as described in #15.
Looking at the libraries that are pulled in it looks like I do get the latest SDFat version, but I only get MD_MIDIFile v2.5.
I can fix the problem by explicitly rolling back the versions of both libraries in platform.ini:
No matter what, PlatformIO cannot pull in MD_MIDIFile 2.5.1.