Jump to content

idea for a guitar neck ui to remember notes.


sumit
 Share

Recommended Posts

now get it taking some sort of text tab file as input and playing it, and you're onto a winner :)

That could be more complicated than it sounds, but anything is possible. The TAB I generate would be tricky to parse. It might be easier to have the notes sound when you click them to help train your ears. The midi UDF would do it, or the modified MidiOutLite UDF which I used in Sound samples are also possible. There are also some Beep Tunes in Example Scripts which might be worth looking at for a simple way to notate music in code. It doesn't look like TAB though. :(

Edited by czardas
Link to comment
Share on other sites

While 1
        $msg = GUIGetMsg()
        Switch $msg
            Case $myarr[0], $myarr[1], $myarr[2] ; Check the button isn't highlighted already
                ContinueLoop
            Case $aFretButton[0] To $aFretButton[149]
                $j = $msg - $aFretButton[0] + 1
                $myarr[3] = $myarr[2]
                $myarr[2] = $myarr[1]
                $myarr[1] = $myarr[0]
                $myarr[0] = $msg
                ;GUICtrlSetStyle($myarr[0], Default, $WS_EX_CLIENTEDGE)
                GUICtrlSetBkColor($myarr[0], 0x66CD00) ; Give a bit more highlight
                GUICtrlSetStyle($myarr[3], Default, $WS_EX_TRANSPARENT)
                GUICtrlSetBkColor($myarr[3], 0xCDAA7D)

            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd

Link to comment
Share on other sites

That could be more complicated than it sounds, but anything is possible. The TAB I generate would be tricky to parse. It might be easier to have the notes sound when you click them to help train your ears. The midi UDF would do it, or the modified MidiOutLite UDF which I used in Sound samples are also possible. There are also some Beep Tunes in Example Scripts which might be worth looking at for a simple way to notate music in code. It doesn't look like TAB though. :(

If the tab is equipped with bar indicators, might just be a case of timing when decoding the actual tab.

I know, I'm just a simple man, with simplistic thoughts, could be as easy as that though :ermm:

Nice touch AZJIO

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

If the tab is equipped with bar indicators, might just be a case of timing when decoding the actual tab.

I know, I'm just a simple man, with simplistic thoughts, could be as easy as that though :ermm:

Well tablature doesn't traditionally include rhythmic markings. You would have to put the notes from each string into a single timeline sequence. Like I said, it can be done, but tab is quite limited. There's no reason why you shouldn't make a guitar specific tab parser, I guess it would be fun. I also imgaine it has been done before, but. indicating rhythm within the tablature is still an issue to solve.

Edited by czardas
Link to comment
Share on other sites

Yes, however the barline only tells you that the duration is divided into time segments. That's like having a paragraph with full stops but no spaces between words. You know it is divided into sentences and where each one begins, but that's it.

notmuchtogoonifyouracompuetrprogram. regularexpressionswon'thelpverymuch. unlessyoualreadyknowthetune..

Of course rhythmic values are often written above or below tablature nowadays. although the symbols are not something you can type using a standard keyboard.

Edited by czardas
Link to comment
Share on other sites

Beo

While 1
        $msg = GUIGetMsg()
        Switch $msg
            Case $myarr[0], $myarr[1], $myarr[2] ; Check the button isn't highlighted already
                ContinueLoop
            Case $aFretButton[0] To $aFretButton[149]
                $j = $msg - $aFretButton[0] + 1
                $myarr[3] = $myarr[2]
                $myarr[2] = $myarr[1]
                $myarr[1] = $myarr[0]
                $myarr[0] = $msg
                ;GUICtrlSetStyle($myarr[0], Default, $WS_EX_CLIENTEDGE)
                GUICtrlSetBkColor($myarr[0], 0x66CD00) ; Give a bit more highlight
                GUICtrlSetStyle($myarr[3], Default, $WS_EX_TRANSPARENT)
                GUICtrlSetBkColor($myarr[3], 0xCDAA7D)

            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd

thanks AZJIO
Link to comment
Share on other sites

Dear Johnone and Czardas,

Before importing tabs and making it play can we make a small feature addition to the code first.

I see that if i choose to use only the keyboard without mouse. there is a bug when it comes to the down and up arrow . ideally they should switch strings.

e.g if the focused fret is 8G on pressing the down button the focus needs to go on 8D . At present it is moving to next fret in the same row .

Link to comment
Share on other sites

If you comment out setting the extended style, then there is no need to change it back. Removes the 3D highliging effect.

While 1
        $msg = GUIGetMsg()
        Switch $msg
            Case $myarr[0], $myarr[1], $myarr[2] ; Check the button isn't highlighted already
                ContinueLoop
            Case $aFretButton[0] To $aFretButton[149]
                $j = $msg - $aFretButton[0] + 1
                $myarr[3] = $myarr[2]
                $myarr[2] = $myarr[1]
                $myarr[1] = $myarr[0]
                $myarr[0] = $msg
                ;GUICtrlSetStyle($myarr[0], Default, $WS_EX_CLIENTEDGE)
                GUICtrlSetBkColor($myarr[0], 0x66CD00) ; Give a bit more highlight
                ;GUICtrlSetStyle($myarr[3], Default, $WS_EX_TRANSPARENT)
                GUICtrlSetBkColor($myarr[3], 0xCDAA7D)

            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd

I see that if i choose to use only the keyboard without mouse. there is a bug when it comes to the down and up arrow . ideally they should switch strings.

e.g if the focused fret is 8G on pressing the down button the focus needs to go on 8D . At present it is moving to next fret in the same row .

Hmm! :think:
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...