Tabulatura. Komponent jak w Guitar pro.

0

Witam!
Tworzę aplikację podobną do programu Guitar Pro( www.guitar-pro.com ). Program ma służyć do edycji tabulatur. Chcę, podobnie jak w GTP stworzyć komponent, który wyświetlałby pole tabulatury gitary, dodawałby kolejno dźwięki zachowując rytmikę, tak, by można było później je usuwać i modyfikować, żeby dzielił zapis na takty, żeby możnabyło określać metrum itp... Mam już zrobione fundamenty komponentu łącznie z wyświetlaniem linii strun. Ma ktoś może jakiś pomysł jak zająć się umieszczaniem kolejnych nut na liniach?

0

Hmm... Rysowanie po canvasie? To jedyne, co mi przychodzi na myśl po takim opisie :). Program GuitarPro widziałem kiedyś (dość dawno), opisz jak by to miało wyglądać i jak już dotychczas działa Twój komponent. Może będzie prościej.

0

Mój komponent tworzy arkusz na którym wyświetlana jest n liczba takich zestawów liniii sześciostrunowych. Nie wiem jak to nazwać. Wygląda to mniej wiecej tak:

E[-------------------------------------------------]
B[-------------------------------------------------]
G[-------------------------------------------------]
D[-------------------------------------------------]
A[-------------------------------------------------]
E[-------------------------------------------------]

Każda z tych linii jest struną. Na tym polega zapis tabulaturowy. W Guitar Pro po kliknięciu na daną strunę wyświetla się na niej kwadracik, do którego wprowadzany jest numer progu gitary i następuje automatycznie przesunięcie w prawo tego kwadracika. Wiem (chyba) że kwadracik musi być w postaci komponentu i umieszczany dynamicznie. Nie znam się zbytnio na pisaniu komponentów - jestem w trakcie czytania kursów. Po wprowadzeniu numerów progów te kwadraciki muszą być edytowalne. Ale to już prawie zrobiłem. Nie wiem tylko co zumieszczeniem tego w komponencie z tabulaturą tak, żeby można było edytować...

0

Wiem (chyba) że kwadracik musi być w postaci komponentu i umieszczany dynamicznie.

Nie przesadzaj z tymi komponentami ;) Poczytaj o caret'ach - choć i bez tego się obejdzie. Ważne jest (własne) podwójne bufforowanie ale to chyba (?) wiesz ;)

Ma ktoś może jakiś pomysł jak zająć się umieszczaniem kolejnych nut na liniach?

Widok tabulatury na ogół zaczyna się od konkretnego taktu więc rysowanie poszczególnych 'nut' zaczynasz od pozycji, w której ten takt się zaczyna - obliczasz offsety 'nut', przeliczasz (jakieś tam) jednostki na pixele i skalujesz. To tak ogólnie ;) Ważne jest to, żebyś to sobie jakoś zorganizował obiektowo.

0
Denver napisał(a)

Mój komponent tworzy arkusz na którym wyświetlana jest n liczba takich zestawów liniii sześciostrunowych.

A ja chcę też dla basówki (niesześciostrunowej) ;P

1 użytkowników online, w tym zalogowanych: 0, gości: 1