My Music Editor

Started by Hardcoal, May 24, 2021, 23:57:24

Previous topic - Next topic

Hardcoal

im working with AlbaLynx under Xors3d
when i try to read xmousedown() when im not Alba Canvas it wont get a read.. although altestclick() works but not altestdown()
and it wont read xmousedown() either no mousedown()
so i have no way to read the mouse down state.

ill try what derron recommended

Code

Hardcoal

Ok Ive found a solution.. it was because I set the buffer into the canvas buffer ..
when i do it when buffer is on back buffer it works.. so i guess i can manage now..


Thanks for the attempt to help
Code

Hardcoal

#17


After few days of trying to figure out an annoying error, Im back on track again
anyway Im concentrating on my Music app on notation..

I finally succeeded to do it properly..
Im not sure im aiming towards full notation capabilities.. but Ive passed the basic level. or notation entering using Midi.
and im not talking about real time playing.
Im not their yet.

First version release. coming soon

For those who understand about this type of project
I cant begin to explain how complex all this note editing is,
if you really want to get it to a reasonable level of a user interface
Code

Midimaster

it is still much more complex than you think. A note can not be set equal to its midi number.

there are 21 notes, not 11!


midi   59  60  61  61  62  63  63  64  65  64  65  66  66  67  68  68  69  70  70  71  72
name   Cb  C   C#  Db  D   D#  Eb  E   E#  Fb  F   F#  Gb  G   G#  Ab  A   A#  Bb  B   B#
note   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20  21


with a model of 12 notes you will never reach a serious level of displaying notes!

Depending on the scale, which is valid in a music document only 7 of them are "activ".

So you need to write 12 "translation tables", one for each scale to find the correct note display.


f.e. a C-min-Chord is never C-D#-G but always C-Eb-G

why?
because it is used in scales with 2b (and more) like Bb-Major

Translation table of Scale Bb-Major:
Scale Bb-Major:
midi   58  60  62  63   65   67   69  70
name   Bb  C   D   Eb   F    G    A   Bb
note   19  2   5   7    11   14   17  19 

How to code this algo for all and every chords?

First you write 12 tables for the 12 scales. Each table contains 7 entries.


Now lets say you have the midi-chord 60-63-67 and try to find the correct way to display it. you have to search through all 12 tables until you find a table which contain all 3 midi numbers.

But even the search order(which table you have to search first)  is important:

Scan the twelve scale tables in this order:
1. C
2. G
3. F
4. D
5. Bb
6. A
7. Eb
8. E
9. Ab
10. H
11. Db
12. Gb
13. F#

in the case of our 60-63-67-chord we would get a hit in scale 5. Bb-Major. Now you can translate the chord into 2-7-14 (= C-Eb-G)
...back from Egypt

Hardcoal

#19
Hi MidiMaster thanks for the help.

Yet, You forgot its in the middle of development..

There are 12 notes.. but their are 21 notes names/signs, and that's good enough for me for the moment.
Let me face that first.
there are so many things to face before what you've mentioned.
It can wait.

And I don't know why you got upset, I still working on it.

And also I don't know music notation perfectly.. (This wasn't my main goal when I started this app)

when ill release first version, and If Ill get good feedbacks than ill take it to the next level.

If you read what I've wrote in the previous response, I said "I'm not sure I'm aiming towards full notation capabilities..

Anyway Thanks for the Tables..
Not everything is clear to me, but ill figure it out.

Anyway. I need to work on Undo
And Other Stuff, Load, Save and So on.

Thanks..

Code

iWasAdam

with midi
you are correct there are 12 note per octave and they start at 0 to 11 with 0 usually being the C
so 127 possible notes gives 10 octaves
simples

Here's a nice simple chart showing that C is always 0 aligned and that 72 is middle C
http://computermusicresource.com/midikeys.html

with notation - much more complex

Midimaster

#21
Quote from: Hardcoal on June 03, 2021, 03:48:09
...It can wait.
And I don't know why you got upset, I still working on it.
And also I don't know music notation perfectly.. (This wasn't my main goal when I started this app)
when ill release first version, and If Ill get good feedbacks than ill take it to the next level.
If you read what I've wrote in the previous response, I said "I'm not sure I'm aiming towards full notation capabilities..
...

Yes you are in the middle of development and I want to point you to the right way how to write notes. Because I can see, that your way to notate goes to the wrong direction, I offer you an algo that make very good results.

Quote...And I don't know why you got upset, I still working on it...
Why should I go upset? I only want to share you  my experience of 20 years music education software.

This 21-notes approach is not the "full notation capability" but a very easy to code minimum way with really good looking results. Users will have the feeling that you know, what you are doing. If you publish a release with the look you now have you will not get "good feedbacks". Writing a C-Min-Chord as "C-D#-G" is not a suboptimal variation of displaying a C-Min-Chord, but a absolut No-Go!

It is like having massiv typos in a "how to spell right"-app!

The "middle C" 261Hz is MIDI=60 and written as lower case c'. Notation: in Treble Key system below system or in Bass Key system above system.

MIDI=72 is already c''

by the way....
Don't you show your intermediate result, because you want to get our feedback?



...back from Egypt

Hardcoal

#22
MidiMaster..

Youre doing great.. sure I want feedback..
But it looked like you thought thats my final product or something.

I will surely get good feedback.. because I know what Im doing.
I will got lots of criticism, but that's different..  that is if I wont bring it to the level you are hinting.

but when I say release .. it means for itch.io and I declare that its not a finished product..

If I was to really release it as a finished product for sale. I would not dare having a 50% half job done when releasing something.

but I'm an armature programmer not professional.
no one is paying me nothing

Plus I didnt understand half of what you said..

and I didnt ask, because its not the time.
it will only confuse me at this point..

Let me first finish the usual stuff like Undo.. Load Save and so on..
And if ill get their.. than will see..

Thanks :)

Feedback is always welcomed , and everything is noted.. I assure you. its not in vain
Code

Hardcoal

#23
I want to add that making a perfect notation app was never my intention..
I do this tool for my own use, and Ill improve it on my own pace.
No one waits for my app..

I'm just sharing what I'm doing to show my progress. that's the main reason for my posting at this point.



Code

Hardcoal

About the notation Editing.. Im making it as close as possible to Editing a text document..
So everything you are used to do with a common note paper will be applied on the music notes (Give or Take)
Code

Midimaster

I do not understand your target in notation. Your last post now sound completely different compared to your post from yesterday.
Do you plan to display notes in a correct way or is this not interesting for you?
Do you actually continue with the notation code? Or will this part have a pause for some weeks?

If you already continue, I tell you again... you are on a wrong way. And I offer again to help you and point you to the right direction.

I dont want to offend you.. this is no critic, this is an offer.
...back from Egypt

Hardcoal

#26
Atm yes, my target is notation.. but up to a certain level.. than ill leave it.
I told you MidiMaster, my way of working is different than yours probably ..
I'm not on the wrong path because I'm not finished yet.
When Ill get to the point that I'm aiming for, than Ill remodify my code according to your suggestions..

You must understand.. I don't know notations as good as you do,
But I know what I want.

I'm going to music School.. And I want to play a melody .. But I don't need all the fine details of Notations ATM

And you're right.. I'm a bit uncertain In various ways.. 

You have to understand, I highly value the opportunity of your help offer.
and everything can be fixed..
Just I need to get to the point I desire.

I don't even know how to display the things you are implying about.
I didn't ask you any questions, only because I'm waiting for the right moment, that's all.
But Its on my memory buffer rest assure

Btw if you can post an example of how my notation should look like compared to the last note picture I've posted it will really help

when i began this project.. notation was the last thing on my mind lol..
it was more about recording sound tracks..
but than i found mixcraft and i was pleased













Code

Hardcoal

#27
I just encountered an annoying issue with the Spacebar Key!
thats exactly what im saying when I say I must first solve the technical issues

Later..
[Solved, Ok . It was my mistake eventually]
Code

Midimaster

#28


See Cm Bb and Db. Your notation is not correct.
...back from Egypt

Hardcoal

Awesome MidiMaster.. That's exactly what I thought you meant.
And that's exactly what I'm postponing for later..

It wont be that hard to Implement it..
I bet their or more things that will need special treatment..
For example ,when you Play C and C# they cant be on top of each other..

This are the fine details.. That I will deal with eventually.

Code