October 30, 2020, 10:07:19 pm


IonicWind Snippit Manager 2.xx Released!  Install it on a memory stick and take it with you!  With or without IWBasic!

New Music

Started by GWS, November 15, 2012, 09:29:59 am

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


November 15, 2012, 09:29:59 am Last Edit: November 17, 2012, 06:37:44 pm by GWS
Hi Folks,

Since everyone has been asking what I'm doing in CB  :P .. I thought I'd offer this little experiment I'm trying out.

What the heck is that? I hear you all say ..  :)

Well I'm one of I imagine many people to whom sheet music is not understandable.
I love to try playing music, but I can't get my mind to read the notes, and find the right ones on a keyboard quickly enough.

I'm sure whoever invented the classical sheet music was a fiendish character who never wanted the masses to figure it out.

Just as you think you've got the EGBDF - FACE bit sorted for the treble stave, you find it doesn't work for the bass stave.

Then you find some nice tune you'd like to play, but it's written in the key of D flat - with 5 flats for each of the treble and bass staves (both different remember) ..  ::)

How can anyone with a normal brain decipher which notes are flatted ?   :o

Anyway, what I'm experimenting with - and it seems OK so far - is a new music format on which the notes are written.

It looks a bit strange at first (but no more so than normal music) - and there are no sharps or flats or keys to be bothered with.

The notes are displayed exactly as you find them on a keyboard, with all the white and black notes as usual.

Timing, bars, notes and rests are the same as for normal music.

Sheet music can be transcribed to pages as NewPage1.doc shown in the zip file - this is for treble stave only with space for chords to be written underneath.

If you want fancy stuff, try the slightly more complicated NewPage2.doc - on which you have the bass stave as well.  Note that the layout of the treble and bass staves are the same - because obviously, a keyboard doesn't care whether the notes you play are on a treble or bass stave ..

Try it out on a simple tune to see if you find it helpful - I know I do ..  :)

The program itself was a bit tricky to deal with the likes of E sharp and B flat - not to mention all the different keys.

All it's intended to do, is to help with the translation from normal music to the new music keyboard format.

It's a one group of notes at a time process - so it still takes time.

Translating a whole scanned page, and maybe tying it into midi sounds would be a whole new ballgame.

So in response to tremendous demand - here is my tentative go at the application.

Best wishes, :)


Edit: Bug found by Doc corrected - I hope ..  :)

Tomorrow may be too late ..


November 15, 2012, 11:13:39 am #1 Last Edit: November 15, 2012, 03:14:59 pm by GWS
Here's a small example of a few bars of the tune 'Merrily we roll Along' in the key of C ..

Looks weird, but it's easy to play .. and read ..

This system is possibly worth a lot of money - or then, maybe not ..  ;D

best wishes, :)

Tomorrow may be too late ..


November 16, 2012, 08:16:57 pm #2 Last Edit: November 16, 2012, 11:29:42 pm by GWS

OK, I found the problem.   :)

I've uploaded the latest version in the first post above, with the corrected page layouts.

The problem was interesting.  I'd fallen victim to what I think people refer to as a 'tramp flag'.

I'd set a value early on in the program because I knew I'd need it later.  What I hadn't realised was that it would be reset if certain events arose during use. ::)

Moral is - set your controlling variables just when you need them - not before.

I haven't said how you use this utility program.

First choose the Key of the music using the 'Set Key' button.  Choose the key signature required.

Then you can use the note selection buttons on the left to pick the note you require, and click on 'Add Note'.

The note will appear on both the normal music layout and on the right-hand new layout - which is just as you find it on a keyboard.  You can then transcribe it to the new sheet music page you are creating.

Once a note is added, you can make it sharp or flat using the appropriate buttons.  You can also enter multiple notes and chords played at the same time.  The use of the delete and clear buttons is obvious.

It means that however complicated the key is, the newmusic format is always just as you find it on a keyboard.  There is no longer any concern over keys, sharps and flats when trying to locate a note.

best wishes, :)


Tomorrow may be too late ..


Hi Graham!
..it's sure good to see you around and to know that you are still at it. :)

For a guy who cannot read music, that's a pretty interesting concept. Keeping in mind that I have no earthly idea what I'm doing, but I've found a pretty reliable way to make it crash.

Set the key: Check!
Add any note: Check!
Click the "flat" button: Crash!

Seems to work the same way using the upper and lower parts of the musical interface...
...the top one tosses up a line number 638 for the error.
...the lower interface tosses up a line 644 error.

I'm testing on Windows 8



Doc ..  ;D  how nice to hear from you - hope you're keeping well.

Thanks for live testing it - I'm not surprised you've found a problem, the logic of this thing has given me headaches.  :)

I'll take a look - it's obviously something else I've missed ..  ::)

It's a good system when it works ..  ;)

best wishes, :)

Tomorrow may be too late ..


Hi Doc,

I've found it - I hope.  :)

Seems to work now .. I've uploaded the modified version to the first post.

best wishes, :)

Tomorrow may be too late ..



OK here's an answer to a question nobody asked ..  ::) .. that's fine, I get used to talking to myself, since nobody seems to ask any questions these days ..  :)

How does the Key signature selection work ?

Well, it's an example of using text boxes as graphical 'buttons'.

All the Key signatures which appear when you click Set Key, are simply small pictures created in Microsoft Paint - a great little program which I use often.

If you load a picture and click on it - nothing happens, since images do not generate a Windows message when clicked.

But, if you set up a number of text boxes, as in the subroutine KeyPick, and load an image into each box, you can then get a Windows message when the box is clicked ..

For example:

Code Select

' define textbox controls which load key signatures ..
a$ = "T,"+getstartpath+"key0.bmp"+",(kW - 150)/2, 90, 150, 50, @ctlstcbitmap|0x100, 2"
control keys, a$

Note the use of an auxiliary string 'a$' to set up the text box controls, and specify which image to use.

Creative makes this approach easy and effective, without having to work out the mouse co-ordinates when the mouse is clicked on a Key Signature image.

I used the brute force approach of a separate command line for each text box - with a little more thought and a slightly more complicated set of parameters, I could have used a 'FOR - NEXT' loop with just a single control creation statement for all of the 12 Key signature controls.

I don't know if this feature is available in other languages, but it's sure a plus for Creative ..  ;D

If there are any other questions about the rather tricky workings of this program, I'd be pleased to answer them.

best wishes, :)

Tomorrow may be too late ..