Welcome Guest. Please Login or Register. Mar 31st, 2018, 11:02pm
ATTENTION MEMBERS: Conforums will be closing it doors and discontinuing its service on April 15, 2018. We apologize Conforums does not have any export functions to migrate data. Ad-Free has been deactivated. Outstanding Ad-Free credits will be reimbursed to respective payment methods.
Thank you Conforums members.
Cross-platform BBC BASIC (Windows, Linux x86, Mac OS-X, Android, iOS, Raspberry Pi)
Re: Irregular timing on RPi ?
« Reply #16 on: Aug 18th, 2017, 2:55pm »
> I suspect it was a case of copying code > found on the web 'by rote' without actually > understanding how it works - > one of my pet hates!
I hate it too but must do it often to achieve my objective. For instance: Back with BBC4W everytime I wanted to do Midi I had to copy and paste your midi setup routine without an iota of understanding. I hated it but with my limited knowledge (and aptitude) for computers had no choice. And I continue to find myself in those situations.
I had to copy and paste your midi setup routine without an iota of understanding.
You could have looked up the Windows API functions it uses at MSDN, where everything would have been explained in great detail. It's sometimes a little harder to do the same for Linux API functions, because there isn't one central reference in the same way, but nevertheless Google will usually find it.
There is no reason at all not to understand code you are using, given the wealth of resources on the internet and the search engines that are so good at finding things. Two days ago I knew literally nothing at all about MIDI on Linux, but Google found everything I needed to know, and at no point did I find myself having to copy code that I didn't understand.
The most useful reference I found was here. It explains about the card index - which is how I discovered your mistake - device numbers and routing. It has allowed me to write BBC BASIC code (which will hopefully eventually go into MIDILIB) which is entirely self-contained - no need to issue commands in a terminal for example - and runs correctly whatever the pre-existing system configuration, whether timidity has already been run or not etc.