so does the moral of the story here state that i was supposed to compile pitches.h?
I'm guessing you're rather new to the world of compiled programming languages1
. When you Verify or Upload, various bits are combined together ultimately becoming an "upload image"2
. In compiled language parlance this is called a "build". While both the sketch tab and the pitches.h tab are included in the build, only the sketch tab is fed directly to the compiler. pitches.h is included indirectly / by reference.
In other words, it makes no difference which tab has the focus. Only the sketch (the "main" tab) gets fed to the compiler. You do not need to compile the other tabs (like pitches.h) before compiling the sketch tab.
would that have anything to do with it?
No. At this point my suspicion is that the error message you encountered was a bit different than the original error message. Precision with error messages is very (annoyingly!) important.
thanks a bunch for your help!
You are welcome! Enjoy!
This is not meant as an insult but merely an observation and precursor.2
Other names are also used. HEX-file is a fairly common synonym.