tag:blogger.com,1999:blog-53963096786348166732024-03-24T16:31:57.544-07:00MMA - Musical MIDI Accompaniment <a href="http://www.mellowood.ca/mma">Musings on Musical MIDI Accompaniment</a>
Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.comBlogger86125tag:blogger.com,1999:blog-5396309678634816673.post-8229321637479649242022-09-03T10:26:00.005-07:002022-09-03T10:27:10.349-07:00<p> I've been pretty neglectful in keeping this blog up-to-date. Lots of excuses ... but, I'll try to do a bit better!</p><p><br /></p><p>There is a new beta version up. Please give it a run and let me know. I'd like to put a 22.x version up in September.<br /><br />Anything missing that I've forgotten about?<br /><br />As always get it at: </p><p> <a href="https://mellowood.ca/mma/downloads.html#developer">https://mellowood.ca/mma/downloads.html#developer</a></p><p> </p><p><br /><br /></p>Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com1tag:blogger.com,1999:blog-5396309678634816673.post-34997360183891868012021-09-29T15:22:00.001-07:002021-09-29T15:22:12.182-07:00MMA 21.09 waiting for you!<p> After too many days and weeks and months of development version 21.09 is finally up and ready for you!<br /><br />It's available right now for your creative pleasure. Please get it at:<br /><br /> <a href="https://mellowood.ca/mma/downloads.html" target="_blank">https://mellowood.ca/mma/downloads.html</a><br /><br />Kudos, thanks and cheers of wonderment are welcome. Bugs and other thoughts are welcome as well!<br /><br />This new version has lots of new features and fixes, including:<br /><br /> - A number of -x options (GROOVES, PRINT variable, CSPLIT and TSPLIT<br /> for output splitting).<br /> - A -Djs option to print info from a groove file as JSON.<br /> - A number of new harmony options.<br /> - New environment variables MMA_PLUGPATH, MMA_INCPATH & MMA_LIBPATH.<br /> - A number of documentation fixes.<br /> - A number of new chord voicing options.<br /> - More scripting options: EXISTS, ISDIR and ISFILE.<br /> - Lots of bug fixes.<br /><br />For more details please read the CHANGES file in the download.<br /><br />Have fun <img alt="Smiley" border="0" src="http://www.kara-moon.com/forum/Smileys/default/smiley.gif" /></p>Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-91297824203880791012020-12-08T15:28:00.001-07:002020-12-08T15:28:27.223-07:00MMA 20.12 Now Available<p> <br />A stable release, version 20.12, of MMA--Musical MIDI Accompaniment<br />is available for downloading. In addition to a number of bug fixes,<br />documentation reviews and optimizations, MMA now features:<br /><br /> - A number of new macros<br /> - Change to PLECTRUM track behaviour<br /> - TEMPO enhancements<br /> - AFTER enhancements/fixes<br /> - A number of command line additions (-xABC), (-Djs), etc<br /> - SUBROUTINES<br /> - Added environment variables<br /> - Minor bug and documentation fixes<br /> - Other minor enhancements<br /><br />Please read the file text/CHANGES-20 for a complete list of changes.<br /> <br />MMA is a accompaniment generator -- it creates midi tracks<br />for a soloist to perform with. User supplied files contain<br />pattern selections, chords, and MMA directives. For full details<br />please visit:<br /><br /> http://www.mellowood.ca/mma/<br /><br />If you have any questions or comments, please send<br />them to: bob@mellowood.ca</p>Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-59045302282111676652020-04-06T11:48:00.002-07:002020-04-06T11:49:08.701-07:00MMA 20.02a postedI just posted 20.02a to the website:<br />
<br />
https://mellowood.ca/mma/downloads.html#developer<br />
<br />
Some nice little fixes including a bug in plugins with python3, a plectrum track fix that I call "let those strings ring" and a fix to the midi generation to get the key right. And, the continuing saga of minor fixes, doc clean ups, etc.<br />
<br />
This is not a general user update ... I'd love some feedback from users.Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-83443624309642781462020-02-21T11:59:00.002-07:002020-02-21T11:59:55.823-07:00MMA 20.02 now online!I'm pleased to announce that version 20.02 (the palindrome version) is now available. All official downloads are at:<br />
<br />
https://mellowood.ca/mma/downloads.html<br />
<br />
Many thanks to the contributors who have donated code and suggestions!<br />
<br />
If you find a weakness, a new wish or a problem, please let me know.Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-65024625975969162322020-01-20T11:57:00.002-07:002020-01-20T11:57:24.955-07:00The last 19.* test is up on the web site. For details and to download please visit <a href="https://mellowood.ca/mma/downloads.html#developer">https://mellowood.ca/mma/downloads.html#developer</a>Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-37043123466251221602019-10-26T11:47:00.000-07:002019-10-26T11:47:15.083-07:00MMA 19.08b test versionI've posted developer 19.08.b. As always, bash away and let me know if problems. Major changes from 19.08:<br /><br /> The order of arguments in DEFGROOVE has been reversed. This change makes the actual code reflect the documentation.<br /><br /> -xNoCredit, -xChords and -xCheckFile have been added. Fun.<br /><br /> Bunch of debugging, manual fixes, etc.<br /><br /> Fixed summary to show midi file duration as mm:ss.<br /><br /> Changed -g message to Skipped from Existing<br /><br />
The options -xCheckFile and -xChords have been modified from 19.08a.
They now take their args separately. No = sign is needed/permitted.<br /><br /> The code for the zOPTIONS now finds the last chord. The docs for this section (Rests, section 8.4) have been rewritten.<br /><br />Get it at:<br /><br /> <a href="https://mellowood.ca/mma/downloads.html#developer" target="_blank">https://mellowood.ca/mma/downloads.html#developer</a>Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-29502745619764063432019-10-08T19:59:00.000-07:002019-10-08T19:59:27.898-07:00Python 2.x supportThere will be one more (or two) python 2.x releases, probably this year or early
2020. I'm thinking we should remove 2.x support for MMA ... comments
would be appreciated.<br />
<br />
My suggestion at this time is to support it in the
2020 tree and then remove all conditionals, etc. in the 2021 release.
On the other hand, it's probably not a big deal to continue to support
2.x "forever" :)<br />
<br />
I really want to hear from you all about this. Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-45228651082964628432019-10-05T11:09:00.000-07:002019-10-05T11:09:04.911-07:00New developer testing releaseI've just posted a new version for testing. Get it at:<br />
<br />
https://mellowood.ca/mma/downloads.html#developer<br />
<br />
From the "what's new read me" file:<br />
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
<br /></div>
<ul>
<li>RNDSEED - changed to require an integer argument (or none). Now produces</li>
<li> same results in python2 and 3.</li>
<li>More documentation changes. I fear this comment will never stop giving</li>
<li> me grief :)</li>
<li>Fixed debug error reporting.</li>
<li>Added extended groovename option. You can now specify as DIR:Groovename.</li>
<li> As always, see the docs.</li>
<li>GrooveAlias had it arguments reversed in the code. Fixed to match the existing</li>
<li> documentation, debug and error messages.</li>
<li>At some point in the development cycle the check for env. variables</li>
<li> stopped working. It's fixed now.</li>
<li>Added the cmd line option -xNOCREDIT which will supress the insertion</li>
<li> of "Created by MMA ... filename" text into the meta track. PLEASE DO</li>
<li> NOT USE THIS.</li>
<li>Added cmd line option -xCHORDS=a,b,c. This will check each chord and see</li>
<li> if it acceptable to MMA. Displays error lines and list of the valid chords.</li>
<li>Added cmd line option -xCHECKFILE=filename. This will parse (somewhat) the</li>
<li> file listed and report any unknown chords. At this point a 'z' chord in the</li>
<li> format CHORDxTrack will report an error.</li>
<li> Fixed circular import problem when setting debug options from cmd line</li>
</ul>
<br />
Please let me know of any problems, etc.<br />
<br />Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-22011880789340372952019-08-04T11:59:00.002-07:002019-08-04T11:59:52.184-07:00MMA 19.08I'm pleased to announce the long overdue update to MMA stable. Version 19.08 is now online and ready for your musical pursuits. Lots of new fun things, lots of new/updated examples, lots of manual fixes and clarifications. This is really a maintenance release fixing a number of issues in 19.07. So, all I can add is "HAVE FUN". Get it at:<br /><br /> https://mellowood.ca/mma/index.html<br /><br />And, don't forget to visit the new MMA blog at<br /><br /> https://musicalmidiaccompaniment.blogspot.com/<br /><br />Have fun!Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-51976447159204547142019-07-16T14:25:00.001-07:002019-07-16T14:25:29.473-07:00Series 19 updates have startedJust a quick post to let you all know that we're not finished working on MMA. The first enhancement was just completed: in lines being repeated with the * option you can now have the Lyric Chord=ON option set. And, you can have a text lyric as well (even though that will be discarded on line copies).<br />
<br />
No developer post yet, but it should be quicker than the last time around!Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-4965802927443440962019-07-12T09:31:00.002-07:002019-07-16T14:22:04.837-07:00Minor bug in windowsIf you are running MMA on a windows OS you will have a minor problem in that the module fcntl doesn't exist on it. To fix, just do the following:<br />
<br />
1. In the file common.py delete line 34: import fcntl<br />
<br />
2. Replace line 63 in common.py with:<br />
<br />
try: # Windows doesn't know about fcntl and doesn't need it.<br />
import fcntl<br />
fcntl.flock(opath, fcntl.LOCK_EX) # make sure we print in one batch<br />
except:<br />
pass<br />
<br />
For the curious: the fcntl.flock() sets up a lock so that only one process can write to the output file. This is the file used for reporting warnings, etc. if the environment variable MMA_LOGFILE is set. By wrapping it all in a try/except it all works ... just no file lock on windows.<br />
<br />
The next developer release will include this patch.Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-47716324998920273412019-07-10T10:45:00.001-07:002019-07-10T10:45:05.760-07:00MMA 19.07 readyI'm pleased to announce the long overdue update to MMA stable. Version 19.07 is now online and ready for your musical pursuits. Lots of new fun things, lots of new/updated examples, lots of manual fixes and clarifications. So, all I can add is "HAVE FUN". Get it at:<br /><br /> https://mellowood.ca/mma/index.html<br />
<br />
Have fun with this. And, please let me know if you have any requests, questions, etc. And share you plugin and library files!!!Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com4tag:blogger.com,1999:blog-5396309678634816673.post-77267494929847540302019-06-15T17:55:00.001-07:002019-06-15T17:55:24.991-07:00Still working on the next releaseJust want to let you all know that the next version is being worked on! Right now I'm painfully going though the documentation ... finding some interesting grammar and syntax, and a number of issues from the latex to html conversion. Fun ... not really.Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com1tag:blogger.com,1999:blog-5396309678634816673.post-61138760846199761332019-04-22T15:43:00.002-07:002019-04-22T15:43:58.401-07:00Yet another "final" development releaseSorry fans, I know I promised a new stable series over a year ago. Unfortunately life got in the way. Some minor health issues (mostly solved!), busyness, and a lot of music all contributed to a busy life and, unfortunately, new MMA releases have suffered.<br />
<br />
Well, suffer no more! I've just posted a new 16.06 with a "final" extension. Unless someone (most likely me) finds a bug, this will become 19.4 (or 5). Please grab it and take it for a test run!<br />
<br />
https://mellowood.ca/mma/downloads.html#developer<br />
<br />
And, please, please, please ... let me know if you encounter any problems.<br />
<br />
Keep playing music ... it will help the world!Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-39238800780837283092018-12-31T12:03:00.001-07:002018-12-31T12:04:21.686-07:00MMA 16.06.c ... get it nowThis is the last 16.06 that will be posted. Next month I will be releasing 19.01. So there!<br />
<br />
In the meantime could you please grab this version and test it out. Let me know if there are any bugs. Enhancements will be put in a queue and probably not addressed until the next cycle.<br />
<br />
Get it at:<br />
<br />
<a href="https://mellowood.ca/mma/downloads.html#developer">https://mellowood.ca/mma/downloads.html#developer</a><br />
<br />
And to all ... have a great new year! Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com3tag:blogger.com,1999:blog-5396309678634816673.post-68146394879619960802018-12-24T15:48:00.001-07:002018-12-24T15:48:39.101-07:00Happy Holidays, Christmas, music and MMAHope all of you are having a great holiday break!<br />
<br />
This can be a pretty wonderful time of year ... make time to enjoy it all. Especially time with family and loved ones.<br />
<br />
I've had a lot of fun the last little while playing some accordion (yeah, my first instrument) and did a nice gig at a seniors home yesterday with some fellow musicians. Turned out great.<br />
<br />
In the MMA department, I'm still hacking away at it. I'm hoping to get a new release out shortly. Just not decided if it'll be the last ever 18.xx or the first ever 19.xx. Stay tuned. And, I'm getting more and more excited about using plugins to expand MMA instead of expanding the core ... again, stand by for more details.<br />
<br />
Best to all,<br />
<br />
Bob.<br />
<br />Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-29731070942554491752018-07-23T16:04:00.000-07:002018-07-23T16:04:18.648-07:00TruncateI just found a minor bug in the TRUNCATE code. It didn't accept an integer argument for the Side= option. The underlying code all worked, but the test to see if the argument was legit was wrong. Fixed.<br />
<br />
While looking at this, I wondered if we could expand the code and permit the lengthening of a bar ... for example, I had a song in 4/4 time which had a couple of 5/4 bars. I had been using Truncate to generate a 1/4 bar, followed by a 4/4 to create it.<br />
<br />
Well, the short story is that I can't really figure out how to do it and make it useful. Here are some of the problems I ran into:<br />
<ul>
<li>Expanding to a single multiple (4/4 to 8/4) isn't too bad. But, if the code is to be robust, it should work for goofy stuff like 10/4 as well. I could limit to doubling, but read on.</li>
<li>When selecting which patterns to re-create and move into the new slots it becomes difficult to decide which ones to use. A facile implementation might take (for my 4/4 to 5/4 case) patterns in the first beat and copy them to the fifth .... and this is the exact opposite of using Truncate with a 1/4, 4/4 pattern. So, should we copy an existing sequence and insert at the left? Insert what?</li>
<li>It becomes even sillier when patterns not-on-the-beat are involved. </li>
</ul>
<br />
So, unless someone smarter than me can come up with a algorithm for this, I'm going to continue to suggest "use a single short bar followed by a long one" advice.<br />
<br />
Got a great idea? Let me know.Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-20105681122326905402018-04-24T17:59:00.001-07:002018-04-24T18:48:54.620-07:00Mea CulpaIsn't it just plain annoying when you end up wasting most of an afternoon trying to find a bug in your code when there is no bug? Just happened to me ... and the really annoying part is that I've don't something very similar in the past! Guess we don't always learn from past mistakes?<br />
<br />
I was trying to import a MIDI file into a MMA file using MidiInc and a START offset. At first it all seemed to work just fine, but the imported stuff was starting at the wrong point. How come?<br />
<br />
The funny thing is that if I didn't use the offset and had the creator of the Midi file adjust things to what I needed, it worked.<br />
<br />
Well, to make a long story short enough to blog about:<br />
<ul>
<li>I have a .mmarc file which initializes my keyboard to a known state,</li>
<li>The initialize includes a "beatadjust 1" after doing a bunch of ChannelInits,</li>
<li> I, next, imported the MMA generated Midi file into graphical notation programs.</li>
</ul>
Are you seeing the problem? Things are out of sync! Bar lines are in the wrong location!<br />
<br />
But, I'd forgotten about the initialization and figured it was deeply buried bug in my beautiful MMA code. The upside is that I did find a bug when using a START offset, and that is now fixed.<br />
<br />
The solution was pretty simple: In my directory which had the test MMA and Midi files in it I just created an empty file called "mmarc". And all worked. Maybe I've created too many options? Too late to change it all now....<br />
<br />
Hey, if there are no bugs we'd never have to do new releases! <br />
<br />
<br />
<br />
<br />
<br />Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-91014215071805973152018-03-30T09:32:00.000-07:002018-03-30T09:33:41.185-07:00French Translation<span id="m_846057265114405347result_box" lang="en">Christian, one of our French speaking users, has been busy the last while translating the MMA manual to his native language. And, in true open source style, is sharing his work with all of us. </span><br />
<span id="m_846057265114405347result_box" lang="en"><br /></span>
<span id="m_846057265114405347result_box" lang="en">It is free to download from his archive at:</span><br />
<br />
<span id="m_846057265114405347result_box" lang="en"><a href="http://linuxmao.org//tiki-list_file_gallery.php?galleryId=29"> http://linuxmao.org//tiki-list_file_gallery.php?galleryId=29</a> </span><br />
<span id="m_846057265114405347result_box" lang="en"><br /></span>
<span id="m_846057265114405347result_box" lang="en">Christian is asking for you help. If you can do some proof reading it would be a great help. Please contact him directly via: <a href="mailto:cg.clarinette35@laposte.net">cg.clarinette35@laposte.net</a></span><br />
<br />
Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-84618186945394073372018-03-20T15:02:00.002-07:002018-03-20T15:02:49.205-07:00MMA is over 15 years oldI was just looking at some files and noticed that the first beta release of MMA was posted in February 2003. That means that we missed celebrating the birthday of our adolescent program. But, considering that this is the first day or spring, please raise a glass of your favorite fruit wine to our friend.Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-90276312036024903282018-03-09T15:48:00.003-07:002018-03-09T15:48:45.184-07:00New developer version 16.06.b availableHarmonies are done! And a new developer version is now available. Get it at:<br />
<br />
<a href="https://mellowood.ca/mma/downloads.html#developer">https://mellowood.ca/mma/downloads.html#developer</a> <br />
<br />
The biggest change is the addition of interval harmonies. These can be quite useful, but be careful ... they can be quite ugly as well.<br />
<br />
I've changed the syntax a bit from the discussions here by forcing all interval harmonies to include a single ":" in their name. See the fine documentation for details.<br />
<br />
In addition, there are a number of bug fixes (as always) and a number of documentation improvements.<br />
<br />
Have fun. And don't forget to let me know if any of this is useful, your suggestions for improvement, neat grooves you have written, and any bugs you might find.<br />
<br />Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-56187900538532607062018-03-03T16:29:00.000-07:002018-03-03T16:29:20.231-07:00Harmony, revisitedOne of these days I will learn to leave things alone :) But what would the fun in that be?<br />
<br />
I have dumped the Perfect4 harmony out.<br />
<br />
And replaced it with a comprehensive set of interval harmonies. So, now, in addition to the OpenAbove, etc. chord based harmonies that have been in MMA just about forever, we now have an interval notation:<br />
<br />
S[octave]Interval<br />
<br />
The octave modifier can be any value between -4 and 4.<br />
<br />
The interval can be any of Unison, MinorSecond ... PerfectFourth ... etc. And, of course, these can be shorten to Min2 ... Per4, etc.<br />
<br />
The leading S is supposed to signify that this is an interval, not chord based. I'm not sure I like S, but using an I is just ugly and confusing with the digit 1. So, I'm suggesting S for "scalar".<br />
<br />
I think I might also include a "C" option: just indicate the exact number of half steps to use. Again, I'm not sure about "C" since someone might think that it means "chord". Hmmm, maybe "H" for halfsteps?<br />
<br />
I've run a few tests and the harmonies generated this way really don't sound as bad as I thought they would ... some, of course, are awful. But, some are quite pleasing.<br />
<br />
A beta release is coming soon. Promise :)Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-173670391405098862018-02-28T11:56:00.001-07:002018-02-28T11:56:41.224-07:00CopyTo is gone ...Got COPYTO all working and even wrote up some docs.<br />
<br />
But, then I decided that we really didn't need yet-another-command! So, it's gone.<br />
<br />
But, don't despair. The functionality is still there. Instead of a new command COPY has been enhanced with a TO keyword. And, to keep things consistent, a redundant FROM keyword as well. So, now we have:<br />
<br />
Track Copy Other-track ... copies Other-track over Track<br />
Track Copy From Other-track ... same<br />
Track Copy To Other-track ... copies Track over Other-track<br />
<br />
And, my tests here in Western Canada (where the snow just never seems to end) indicate that it all works.<br />
<br />
Back to the documentation cellar when the whips and chains await. Standby for the announcement of a new beta!Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0tag:blogger.com,1999:blog-5396309678634816673.post-2898161146072087492018-02-24T18:33:00.002-07:002018-02-24T18:33:46.794-07:00Harmony works ... and a new command<br />
I've done a bit of testing with the perfect-4 harmonies. Delightful!<br />
<br />
And, today, I added a COPYTO command. This is the reverse of COPY and will be quite useful, especially in Begin/End blocks.So, now when creating a track, you can duplicate it at ease. For example:<br />
<br />
Begin Chord<br />
Octave 5<br />
Articulate 80<br />
.... lots more stuff<br />
Copyto Chord-Quiet<br />
End<br />
<br />
And, alas, Chord and Chord-Quiet will be identical. Now, make some mods to Chord-Quiet and we're off to the races. And, yes, in case you are reading along with the manual in hand, you could have done the same previously by doing:<br />
<br />
Chord-Quiet Copy Chord<br />
<br />
But, that is outside of the begin/end block and just looks awkward.<br />
<br />
I'll be putting up a beta copy (16.6.b) on the website later this week. Just gotta find some time to finish the docs ... I'm really too damned busy for an old retired fellow these days. Between a few music students, my sax/piano/voice duet, a sax trio, community band, and pit orchestra for a amateur musical ... well, you get the idea. Life is grand!<br />
<br />
<br />
<br />Bob van der Poelhttp://www.blogger.com/profile/08743305762950961439noreply@blogger.com0