ok...well, it's now a much bigger question if you add all that stuff in, but here are some tips:
0 2 4 5 7 9 11
that's what a major scale looks like in terms of intervals from the root note. (sorry if my terminology is off a bit). So, you can write those into a table. Firstly then, create the table:
(you need the leading zero there to tell the table to write from the beginning)
anyway... i have put this in an edit of your patch, so you should see the idea. Also, that makenote was basically not doing anything the way you had it set up, so it has been removed.
As long as you are getting data IN from the [udpreceive] object, then if you just use that gui bang, or preferably replace it with a [t b] object, then whatever comes in will be converted to a bang. There shouldn't be a problem with that. If you need to filter note on/off messages or something like that, then you can just insert a simple conditional after the [unpackOSC] object.
Good luck, and come back when you get stuck again. :0)
http://www.pdpatchrepo.info/hurleur/Synth_Prototype_edit.pd