Czym jest FinaleScript?
Stworzony przez Roberta Piéchauda FinaleScript to potężna wtyczka do automatyzacji stworzona specjalnie dla Finale. Wtyczka zapewnia interfejs do pisania skryptów o bardzo przystępnej składni i gramatyce, które będą znane większości użytkowników Finale.
Język skryptowy FinaleScript to:
- Zorientowany na cel. Celem FinaleScript jest osiągnięcie określonych celów notacyjnych dla dokumentów muzycznych raz lub wiele razy.
- Proceduralne. FinaleScript wykonuje zadania sekwencyjnie (linia po wierszu) przy użyciu indywidualnych, czytelnych dla człowieka poleceń.
- Specyficzne dla domeny. Polecenia zdefiniowane w języku działają tylko w granicach programu Finale.
Na przykład, zamiast ręcznie otwierać dokument, zmieniać odstępy między nutami, transponować pięciolinie, dostosowywać układ strony, a następnie zapisywać dokument, możesz napisać skrypt, który wykonuje wszystkie te zadania w kolejności za naciśnięciem jednego przycisku. Przy odrobinie wysiłku możesz zautomatyzować prawie każde zadanie w Finale.
Typowe zadania FinaleScript
Wskazówka: Po zainstalowaniu nowej wersji Finale na komputerze skrypty i opcje FinaleScript nie są kopiowane z poprzedniej wersji. Aby przeprowadzić migrację tych plików, zobacz Aby przeprowadzić migrację ustawień i plików obsługi z jednej wersji Finale do drugiej.
Aby edytować opcje FinaleScript
Wiele poleceń FinaleScript odnosi się do opcji globalnych ustawionych we wtyczce. Przed uruchomieniem skryptu upewnij się, że opcje FinaleScript są ustawione poprawnie zgodnie z tym, jak chcesz, aby skrypt się zachowywał.
- Wybierz Plug-Ins > FinaleScript > Opcje. Pojawi się okno dialogowe Opcje FinaleScript.
Jeśli jesteś już na palecie FinaleScript, kliknij przycisk Opcje. - Wybierz lub odznacz dostępne opcje, w zależności od tego, jak chcesz zachować skrypt.
- Kliknij Zapisz i zamknij.
Aby uruchomić skrypt FinaleScript
- Wybierz Plug-Ins > FinaleScript > Paleta FinaleScript. Pojawi się paleta FinaleScript.
- Wybierz skrypt, który chcesz uruchomić.
- Wybierz metodę uruchamiania skryptu:
- Jeśli chcesz uruchomić skrypt bez wcześniejszego przeglądania lub edycji, kliknij przycisk Odtwórz przycisk lub kliknij skrypt prawym przyciskiem myszy i wybierz Uruchom.
- Jeśli chcesz wyświetlić lub edytować skrypt przed jego uruchomieniem, kliknij Edytuj skrypt przycisk (lub kliknij dwukrotnie skrypt). Pojawi się okno dialogowe Edytor FinaleScript. Wprowadź niezbędne zmiany i kliknij Uruchom skrypt.
- Jeśli chcesz przerwać skrypt przed jego zakończeniem, kliknij przycisk Zatrzymaj.
Aby wyświetlić raport po uruchomieniu skryptu
Za każdym razem, gdy uruchamiasz skrypt, FinaleScript tworzy raport, który rejestruje informacje dotyczące sukcesu lub niepowodzenia poleceń, a także folderów i podfolderów, które zostały przetworzone.
- Na palecie FinaleScript kliknij przycisk Raport. Pojawi się okno dialogowe FinaleScript – Raport.
- Jeśli chcesz użyć informacji raportu gdzie indziej, kliknij Kopiuj do Schowka. Przełącz się na edytor tekstu i wybierz Edycja > Wklej (lub naciśnij CTRL+V).
- Kliknij Zamknij.
Aby utworzyć nowy skrypt FinaleScript
Przed utworzeniem nowego skryptu zdecydowanie zalecamy zapoznanie się z poniższą sekcją struktury FinaleScript, a także odniesieniem do polecenia FinaleScript.
Oprócz tworzenia nowego skryptu, możesz powielić istniejący skrypt. Aby to zrobić, wybierz skrypt z palety FinaleScript i kliknij przycisk Powiel (lub kliknij skrypt prawym przyciskiem myszy i wybierz Powiel).
- Wybierz Plug-Ins > FinaleScript > Paleta FinaleScript. Pojawi się paleta FinaleScript.
- Jeśli chcesz, aby nowy skrypt został umieszczony w określonym folderze, wybierz ten folder. W przeciwnym razie zostanie umieszczony w głównym folderze FinaleScript.
- Kliknij przycisk Nowy (lub kliknij prawym przyciskiem myszy w oknie listy skryptów i wybierz Utwórz nowy skrypt). Nowy skrypt o nazwie „Skrypt bez nazwy” pojawia się w wybranym folderze lub, jeśli nie wybrałeś folderu, u góry listy w Palecie FinaleScript.
Aby edytować istniejący skrypt FinaleScript
Podpowiedź: Przed edycją skryptu zdecydowanie zalecamy zapoznanie się z poniższą sekcją struktury FinaleScript, a także odniesieniem do polecenia FinaleScript.
Oprócz edycji istniejącego skryptu można go całkowicie powielić. Aby to zrobić, wybierz skrypt z palety FinaleScript i kliknij przycisk Powiel (lub kliknij skrypt prawym przyciskiem myszy i wybierz Powiel).
- Wybierz Plug-Ins > FinaleScript > Paleta FinaleScript. Pojawi się paleta FinaleScript.
- Wybierz skrypt, który chcesz edytować i kliknij przycisk Edytuj (lub kliknij dwukrotnie skrypt). Pojawi się okno dialogowe Edytor FinaleScript. Możesz także kliknąć skrypt prawym przyciskiem myszy i wybrać Edytuj.
- Wprowadź wszelkie niezbędne zmiany w oknie edycji.
- Wpisz polecenia w oknie edycji. Podczas pisania FinaleScript koloruje tekst zgodnie z automatycznym schematem kolorowania, aby wyświetlić funkcję tekstu skryptu. O automatycznym schemacie kolorowania FinaleScript używa automatycznego schematu kolorowania do wyświetlania funkcji tekstu skryptu. Podczas pisania FinaleScript automatycznie aktualizuje kolorystykę każdego słowa. Aby zapoznać się z omówieniem każdego typu słowa kluczowego, zobacz Używanie struktury FinaleScript – FinaleScript.
- Zielony dla poleceń;
- Fioletowy dla atrybutów;
- Niebieski dla cyfr;
- Pomarańczowy dla ciągów (między „cytatami”)
- Czerwony dla nazw czcionek (między [nawiasami kwadratowymi])
- Jasnoszary do komentarzy
- Ciemnoszary dla nierozpoznanych słów (ignorowanych przez FinaleScript)
- Wpisz polecenia w oknie edycji. Podczas pisania FinaleScript koloruje tekst zgodnie z automatycznym schematem kolorowania, aby wyświetlić funkcję tekstu skryptu. O automatycznym schemacie kolorowania FinaleScript używa automatycznego schematu kolorowania do wyświetlania funkcji tekstu skryptu. Podczas pisania FinaleScript automatycznie aktualizuje kolorystykę każdego słowa. Aby zapoznać się z omówieniem każdego typu słowa kluczowego, zobacz Używanie struktury FinaleScript – FinaleScript.
- Kliknij Zapisz i zamknij.
Aby przypisać skrót klawiaturowy do skryptu
- Otwórz okno dialogowe Edytor skrótów FinaleScript:
- Jeśli już przeglądasz skrypt w oknie dialogowym Edytor FinaleScript, obok Użyj skrótu kliknij Wybierz.
- Jeśli wyświetlana jest paleta FinaleScript, kliknij prawym przyciskiem myszy skrypt i wybierz Edytuj skrót klawiaturowy.
- Wybierz opcję edycji skrótu:
- Naciśnij jednoczesną kombinację klawiszy na klawiaturze komputera. Kombinacja pojawia się w oknie dialogowym.
- Kliknij Znajdź! aby FinaleScript zasugerował dostępny skrót klawiaturowy.
- Kliknij Brak, aby usunąć istniejący skrót klawiaturowy.
- Kliknij OK, aby zapisać zmiany lub Anuluj, aby je odrzucić.
Aby wyświetlić skrypt w menu FinaleScript
- Wybierz Plug-Ins > FinaleScript > Paleta FinaleScript. Pojawi się paleta FinaleScript.
- Wybierz skrypt, który chcesz edytować i kliknij przycisk Edytuj (lub kliknij dwukrotnie skrypt). Pojawi się okno dialogowe Edytor FinałScript. Możesz także kliknąć skrypt prawym przyciskiem myszy i wybrać Edytuj.
- Wybierz Pokaż w menu.
- Kliknij Zapisz i zamknij. Twój skrypt pojawia się teraz w podmenu Wtyczki > FinaleScript.
Zarządzanie organizacją skryptów
Każdy skrypt jest osobnym plikiem XML. Jeśli chcesz zarządzać skryptami poza Finale, przejdź do katalogu FinaleScript w folderze Finale User (patrz Szczegóły instalacji Finale).
Podpowiedź: Każdy usunięty skrypt lub folder jest przenoszony do Kosza komputera i może zostać przywrócony (przed opróżnieniem Kosza).
- Wybierz Plug-Ins > FinaleScript > Paleta FinaleScript. Pojawi się paletaFinaleScript.
- Jeśli chcesz zarządzać pojedynczym skryptem, wybierz go i wybierz akcję:
- Aby zmienić nazwę skryptu, kliknij skrypt prawym przyciskiem myszy i wybierz Zmień nazwę. W oknie dialogowym FinaleScript – Zmień nazwę wpisz nową nazwę skryptu i kliknij OK.
- Aby wykonać dokładną kopię skryptu, kliknij przycisk Powiel (lub kliknij skrypt prawym przyciskiem myszy i wybierz Powiel).
- Aby przenieść skrypt do innego folderu, przeciągnij go do tego folderu.
- Aby usunąć skrypt, kliknij przycisk Usuń (lub kliknij skrypt script prawym przyciskiem myszy i wybierz Usuń) i kliknij Tak w ostrzeżeniu o potwierdzeniu.
- Jeśli chcesz zarządzać całym folderem skryptów, wybierz go i wybierz akcję:
- Aby utworzyć folder, kliknij przycisk Nowy folder (lub kliknij prawym przyciskiem myszy w oknie listy skryptów i wybierz Utwórz nowy folder).
- Aby zmienić nazwę folderu, kliknij go prawym przyciskiem myszy i wybierz Zmień nazwę. W oknie dialogowym FinaleScript – Zmień nazwę wpisz nową nazwę folderu i kliknij OK.
- Aby przenieść folder do innego folderu, przeciągnij go do tego folderu.
- Aby usunąć folder, kliknij przycisk Usuń i kliknij Tak w ostrzeżeniu o potwierdzeniu.
Aby udostępnić skrypt innym użytkownikom Finale
Każdy skrypt jest osobnym plikiem XML. Jak każdy inny plik dokumentu, możesz udostępnić go na wiele sposobów (e-mail, FTP itp.).
- Napisz i zapisz swój skrypt w Palecie FinaleScript i zamknij Finale.
- W Eksploratorze przejdź do katalogu FinaleScript w folderze Finale User (patrz Szczegóły instalacji Finale). Katalog FinaleScript odzwierciedla strukturę folderów skryptów w Palecie FinaleScript.
- Znajdź swój skrypt. Nazwa pliku skryptu jest taka sama jak nazwa skryptu w oknie dialogowym Edytor FinaleScript, z wyjątkiem pominiętych spacji i wszystkie znaki pojawiają się małymi literami. Opcjonalnie możesz zrobić kopię skryptu i wkleić go w łatwej do znalezienia lokalizacji, takiej jak folder Dokumenty lub pulpit.
- Użyj wszelkich środków, które wolisz wysłać ten plik do odbiorcy (odbiorców).
Pisanie skryptu FinaleScript
Struktura FinaleScript
FinaleScript składa się z predefiniowanego zestawu poleceń, z których każde wykonuje określone zadanie. Każde polecenie składa się z jednego lub więcej słów kluczowych i może obsługiwać jeden lub więcej parametrów.
Polecenia
Każdy wiersz w skrypcie może zawierać tylko jedno polecenie, a wszystkie słowa kluczowe (w tym parametry) muszą być oddzielone spacją. Spójrzmy na przykład:
create staff
Jest to najprostsza forma polecenia create staff, składająca się ze słów kluczowych create i staff. Mówi ona FinaleScriptowi, aby dodał pojedynczy nową pięciolinię na dole dowolnego istniejącego systemu i nadał mu wszystkie domyślne wartości dla nowej pięciolinii (klucz wiolinowy, brak nazwy). Dodajmy kilka parametrów:
create grand staff "Calliope"
Podpowiedź: Atrybut grand faktycznie tworzy dwie pięciolinie, pięciolinię górną na górze i pięciolinię dolną na dole. Następnie tworzy grupę o nazwie Calliope i dodaje do niej klamrę fortepianu. Jest to dokładnie takie zachowanie, jakiego można oczekiwać podczas tworzenia tego typu instrumentu w Menedżerze partytury, takiego jak fortepian.
W tym przykładzie dodaliśmy dwa parametry: atrybut grand, aby utworzyć grand staff (system wiolinowy i basowy), oraz ciąg „Calliope”, aby nadać mu nazwę Calliope. Ten przykład demonstruje jedną z cech czytelności FinaleScript, a mianowicie, że słowa kluczowe tworzące pojedyncze polecenie mogą być ułożone w dowolnej kolejności, a nawet mogą być oddzielone parametrami. Gdyby tak nie było, linia musiałaby brzmieć create staff grand „Calliope”, co z pewnością jest mniej czytelne. Pozwalając na tak elastyczną składnię, linia ta ma znacznie więcej sensu semantycznego.
Teraz bądźmy naprawdę kreatywni:
create 2 bass staves "Trombone" "Tbn."
W tym przypadku utworzyliśmy dwie niezależne pięciolinie, nadaliśmy im klucze basowe i przypisaliśmy im pełną nazwę pięciolinii Trombone oraz skróconą nazwę Tbn. Uwzględniono kolejną z funkcji FinaleScript zapewniających czytelność: synonim staves został zastąpiony przez staff (zajmiemy się synonimami nieco później). Gdyby tak nie było, linia musiałaby brzmieć: create staff 2 bass „Trombone” „Tbn.”, co znów nie jest tak czytelne jak linia powyżej.
Parametry
Jak widzieliśmy, parametry dostarczają konkretnych informacji modyfikujących polecenia. Istnieją cztery rodzaje parametrów:
Podpowiedź: Oprócz tych czterech typów parametrów, istnieje kilka innych, które mają związek z architekturą Finale „pod maską”. Jednak wymienione typy wystarczą w niemal każdej sytuacji.
- Liczby. Zmienne te (num1, num2) są wartościami liczbowymi, które zazwyczaj określają konkretne elementy w dokumencie, takie jak takty, warstwy lub strony. Jeśli liczba jest opisana przez jednostkę miary, domyślnie odnosi się do aktualnie wybranej jednostki miary; jednak po niej może następować atrybut jednostki miary (taki jak in, cm, picas itp.). Liczby nie wymagają żadnych znaków ograniczających.
- Ciągi znaków. Te zmienne (string1, string2) są wartościami alfanumerycznymi, które zwykle określają jeden z następujących elementów:
- nazwę elementu w dokumencie, takiego jak nazwa pięciolinii, treść pola tekstowego, takiego jak tytuł lub kompozytor, nazwa czegoś w interfejsie użytkownika Finale, na przykład okno dialogowe.
- Czcionki. Te zmienne (font1, font2) są wartościami alfanumerycznymi, które określają nazwę czcionki, na przykład podczas korzystania z funkcji wyszukiwania i zamiany tekstu. Czcionki są oddzielone nawiasami kwadratowymi.
- Atrybuty. Podobnie jak słowa kluczowe, które stanowią polecenia, są to predefiniowane terminy, które modyfikują polecenie lub zmieniają zadanie wykonywane przez polecenie. Ponieważ atrybuty są predefiniowane, nie wymagają żadnych znaków rozgraniających.
W przypadku niektórych poleceń parametry są opcjonalne; w przypadku innych poleceń są one wymagane. W poprzednim przykładzie parametr basu jest opcjonalny: podczas gdy polecenie tworzenia pięciolinii jest kompletne bez niego, atrybut basu modyfikuje polecenie, aby było bardziej szczegółowe: utwórz pięciolinie w kluczach basowych. W poniższym przykładzie parametry 1 i 2 są wymagane: bez nich polecenie nie ma sensu.
move layer 1 to 2
W niektórych przypadkach dodanie parametru spowoduje, że polecenie wykona zupełnie inne zadanie. Na przykład poniższe polecenie wybiera narzędzie Wybór…
select
…podczas gdy następujące polecenie wybiera narzędzie Pięciolinie i wybiera pięciolinię o nazwie Horn in F:
select "Horn in F"
Ważne jest, aby pamiętać, że wiele poleceń wykazuje różne zachowania w zależności od tego, jaka część dokumentu jest wybierana podczas wykonywania polecenia; albo polecenie wpłynie na wybrany region, albo, jeśli nie ma zaznaczenia, polecenie wpływa na cały dokument. Możesz myśleć o tym jako o innym parametrze, ponieważ modyfikuje zachowanie polecenia.
Synonimy
FinaleScript został zaprojektowany tak, aby skrypty były natychmiast zrozumiałe. Aby to osiągnąć, zawiera szeroką gamę synonimów, które są alternatywnymi słowami oznaczającymi to samo. Możesz użyć dowolnego z tych synonimów, aby wykonać to samo zadanie. Na przykład każde z poniższych czterech poleceń usuwa wszystkie wpisy w wybranym regionie (wykonując Edytuj > Wyczyść wszystkie elementy):
clear
reset
delete music
remove music
Istnieją trzy rodzaje synonimów:
- Synonimy poleceń. Całe polecenie można często zastąpić synonimem. W powyższych przykładach można użyć dwuwyrazowego polecenia delete music jako synonimu jednowyrazowego polecenia clear.
- Synonimy poszczególnych słów kluczowych. Słowa składające się na polecenie często można zastąpić synonimem. W powyższych przykładach słowo kluczowe reset jest synonimem clear, a słowo kluczowe remove jest synonimem delete.
- Synonimy atrybutów. Predefiniowane słowa, które modyfikują polecenie, można czasem zastąpić synonimem. W wielu przypadkach synonimy atrybutów mogą sprawić, że polecenie będzie mniej jasne. Na przykład wszystkie następujące cztery polecenia zaznaczają od trzeciego taktu do ostatniego w dokumencie:
select measure 3 to end
select measure 3 to bottom
select measure 3 end
select measure 3 0
W drugim poleceniu bottom jest poprawnym synonimem end, ale jego znaczenie nie jest od razu oczywiste. W trzecim poleceniu słowo kluczowe to zostało usunięte, co jest prawidłowym pominięciem (ponieważ to nie ma rzeczywistej funkcji w kontekście tego polecenia), ale ponownie sprawia, że ograniczenia wyboru są bardziej niejasne. W czwartym poleceniu 0 jest rozumiane przez FinaleScript jako „do końca dokumentu”, ale jest mało prawdopodobne, aby przypadkowy obserwator był świadomy tej składni. Z tych powodów pierwsze polecenie jest najlepszym wyborem. Nie jest to najbardziej zwięzła opcja, ale jest najbardziej zrozumiała i daje najmniej możliwości błędnej interpretacji. - Synonimy atrybutów jednostki miary. Jeśli wydaje się to przytłaczające, nie bój się! Temat referencyjny polecenia FinaleScript zawiera listę wszystkich odpowiednich synonimów, których można użyć dla każdego polecenia.
Komentarze
Dodawanie komentarzy do skryptu to kolejny sposób na usunięcie niejednoznaczności dla kogoś, kto ogląda twój skrypt. Użyj komentarzy, aby podać „drogowskazy” w swoim skrypcie: wskaż kluczowe informacje, wskaż opcjonalne instrukcje lub po prostu wyjaśnij, jakie działania wykonuje linia lub sekcja.
Możesz wprowadzić komentarze jednowierszowe we własnym wierszu lub po poleceniu, poprzedzając je dwoma ukośnikami (//
):
// transponuje zaznaczenie do Fis dur
key f# major
key f# major //
transponuje zaznaczenie do Fis dur
Można też wprowadzać komentarze wielowierszowe, umieszczając je w sekcji /*
and */
:
/*
Edytuj ten skrypt w zależności od tonacji, do której chcesz transponować.Tryby: major minor Tonika: c c# db d d# ... a# bb b */ key c major
Wskazówka: Możesz szybko przełączać pojedynczą linię między skomentowanym a nieskomentowanym, klikając prawym przyciskiem myszy wiersz i wybierając Komentarz/usuń komentarz.
Interakcja z interfejsem użytkownika Finale
Oprócz dostarczania bezpośrednich poleceń dla głównych narzędzi, wielu funkcji występujących w menu oraz określonych opcji i ustawień dokumentu, FinaleScript umożliwia dostęp do prawie każdego elementu interfejsu użytkownika Finale.
Pozycje menu
Możesz wybrać dowolny element znaleziony w menu Finale za pomocą polecenia menu item
. Możesz określić pełną ścieżkę menu lub, jeśli jej nazwa jest wystarczająco unikalna, tylko pozycję menu.
menu item "Plik/Nowy/Domyślny dokument"
menu item "domyślny dokument"
Jeśli element menu można aktywować [V], należy użyć opcji check
lub uncheck
.
check menu item "Pokaż zapis w brzmieniu"
uncheck menu item "Pokaż zapis w brzmieniu
"
Znaki skrótów
Ze względu na zwięzłość można użyć * lub %, aby skrócić długie pozycje menu. Upewnij się, że w takim przypadku skrypt jest nadal zrozumiały.
Dobrze: plug-in "band in a box*" //zamiast "band in a box auto-harmonizing"
Źle: menu item "compile%" //wybiera "compile postscript listing", ale nie jest to oczywiste
Brzydko: menu item "edit*" //edytować filtr? edytować właściwości pięciolinii? edytować wyuczone akordy?
Wskazówka: Możesz również użyć znaków skrótów, odnosząc się do innych elementów interfejsu (patrz poniżej).
Specyfikator sąsiedztwa
Wskazówka: Ściśle mówiąc, FinaleScript nie rozpoznaje near jako poprawnego słowa kluczowego, więc jego użycie nie jest konieczne: wymagany jest tylko ciąg zawierający etykietę. Jednak ze względu na czytelność zalecane jest użycie near.
Napotkasz sytuacje, w których okno dialogowe zawiera element z etykietą (np. pole tekstowe) lub ma więcej niż jeden element z tą samą etykietą (np. przycisk Ustaw czcionkę). W takich przypadkach użyj near
, po którym następuje ciąg znaków.
staff tool
menu item "edytuj właściwości pięciolinii" button "ustawienia" //
wybiera pierwszy znaleziony przycisk "Ustawienia"button "
dokładne określenie przyciskuustawienia
" near "użyj kształtów nut" //
Podobnie jak w przypadku pozycji menu, możesz użyć znaków skrótów do zwęzłości:
document options
list "notes and rests"
button "select" near "rest char*" //
połączenie ze znakiem skrótu
Gdy w siatce znajduje się wiele pól tekstowych, etykiety stają się niejednoznaczne. Aby poruszać się między różnymi polami, użyj tab
.
select all
menu item "rebeam to time signature"
button "composite"
type 2 near "beat groups"
tab
type 8
tab
type 3
tab
type 8
button ok
button ok
Przyciski
FinaleScript rozpoznaje przyciski na podstawie ich etykiety. Przyciski oznaczone ok, anuluj, ustaw czcionkę, zapisz, usuń, wybierz nie wymagają podwójnych cudzysłowów (chyba że używasz specyfikatora sąsiedztwa).
button "composite"
wymagane „cytaty”
button ok
button "set font" near "notation" //
Pola wyboru
Podobnie jak w przypadku pozycji menu, które można przełączać (odwracać), użyj zaznaczenia lub odznaczenia. Dodatkowo można przełączyć bieżący stan pola wyboru, klikając pole wyboru.
check "use engraver slurs" //włącza pole wyboru niezależnie od bieżącego stanu
uncheck "use engraver slurs" //wyłącza pole wyboru niezależnie od bieżącego stanu
click checkbox "use engraver slurs" //przełącza bieżący stan pola wyboru
Przyciski opcji
Przycisk opcji to jedno sterowanie w zestawie opcji, które wzajemnie się wykluczają.
document options
list "repeats"
select radio button "top staff only"
Rozwijane menu
Polecenie select drop-downpopup menu wybiera określony element z menu rozwijanego. Chociaż nie zawsze jest to konieczne, najlepszą praktyką jest dołączenie specyfikatora sąsiedztwa dla jasności.
Dobrze: select drop-downpopup menu "down" near "transpose notes"
Mniej dobrze: select drop-downpopup "down"
Podczas gdy drugie polecenie jest poprawne technicznie (ponieważ w oknie dialogowym Key Signature z opcją o nazwie „w dół”) znajduje się tylko jedno menu rozwijane, opcja ta jest ukryta w samym menu rozwijanym, co sprawia, że polecenie jest stosunkowo niejasne. Oprócz dodania specyfikacji sąsiedztwa, komentarz może poprawić linię:
Również dobrze: select drop-downpopup"down" //
transpozycja nut
Listy
Listy są podobne do menu rozwijanych, z tą różnicą, że ich opcje są zawsze widoczne, a nie ukryte.
select item from list "Tempo Marks" //lista kategorii w oknie dialogowym Wybór ekspresji
select item from list "lines and curves" //lista kategorii w oknie dialogowym Opcje dokumentu
Zakładki
Niektóre okna dialogowe zawierają wiele kart, aby oddzielić ustawienia na kategorie logiczne. Możesz przełączać się między nimi za pomocą select tab
.
expression tool
double click
list "miscellaneous"
button "create misc*"
type "play second time only" near "description"
select tab "playback"
select dropdown menu "key velocity" near "type"
type 0 near "set to value"
check "play only on pass"
type 1 near "play only on pass"
button ok
button "assign"
expect (oczekuj)
Połącz atrybut expect z dowolnym poleceniem interfejsu użytkownika, aby poinstruować FinaleScript, aby poczekał, aż określony element będzie dostępny.
Podpowiedź: Okna dialogowe blokowania nie są pomijane.
menu item "file/export/audio file"
expect button save
Naciśnięcia klawiszy
Możesz symulować naciskanie większości klawiszy na klawiaturze komputera za pomocą polecenia press. Poszczególne znaki alfabetyczne muszą być zawarte w podwójnych cudzysłowach, podczas gdy cyfry ich nie wymagają:
press "f"
press 4
Możesz również określić, że klawisz powinien być trafiony na klawiaturze numerycznej:
press numpad 0
Następujące klucze nie wymagają cudzysłowów, a także mogą zawierać liczbę uderzeń w klucz:
press up arrow //również down arrow, left arrow, right arrow
Naciśnij przycisk ENTER 3 razy
press delete
press end
press enter 3 //
naciska klawisz TAB cztery razy
press home
press page up
press page down
press return
press spacebar
press tab 4 //
Każde naciśnięcie klawisza może zawierać jeden lub więcej atrybutów klawisza modyfikatora:
press alt home
press ctrl alt "v"
press shift tab 2
Wskazówka: Aby wprowadzić wiele znaków, zobacz wpis poniżej.
Pola tekstowe (type
and raw
)
Jeśli chcesz wprowadzić znaki w polu tekstowym w oknie dialogowym, użyj type
.
menu item "edit measure number regions"
button "delete"
button "add"
type 1 near "includes measure"
type 999 near "through"
uncheck "show measure numbers at start*"
check "show on every"
type 5 near "show on every"
type 5 near "measures beginning with measure"
check "enclosure" near "show on every"
button ok
atrybut raw
można łączyć z klawiszami modyfikatorów, aby zastosować klawisze do każdego znaku w ciągu type
.
Podpowiedź: W przeszłości raw był również używany do wybierania elementów listy dla niedostępnych list Mac, takich jak wybór czcionki (np. type raw „petrucci”).
type raw ctrl "ac" //odpowiednik CTRL+A and CTRL+C
Może być również używany do wprowadzania tekstu w skądinąd niedostępnych polach, takich jak ramka tekstowa utworzona za pomocą narzędzia Tekst …
text tool
double click
type raw "Copyright "
menu item "copyright sym*" //insert copyright symbol
type raw ctrl "v"
… lub pole tekst w oknie dialogowym Projektant ekspresji…
expression tool
double click
list "miscellaneous"
button "create*"
type raw "release the penguins"
type "penguin release" near "description"
button ok
button "assign"
… lub sformatowane pole tekstowe w oknie dialogowym Edytuj tekst (takie jak nazwy grup lub personelu oraz niestandardowy tekst wiersza), oknie dialogowym Edytuj tekst narzędzia Tekst i oknie Teksty.
menu item "scoremanager"
button "full name"
type raw "Clarinet in B"
type raw ctrl shift "f" //insert flat
button ok
Należy pamiętać, że raw działa tylko wtedy, gdy pole tekstowe ma już fokus. Oznacza to na przykład, że nie można łączyć raw i atrybutu near w tej samej linii.
Pozycja myszy i kliknięcia
Użyj kursora, aby ustawić wskaźnik myszy w określonej odległości poziomej i pionowej (w pikselach) od lewego górnego rogu ekranu.
cursor 500 250
Polecenie kliknięcia obsługuje zarówno atrybut podwójny, jak i atrybuty klawiszy modyfikujących.
double click
control shift click
Okna i okna dialogowe
Użyj select window (lub select dialog box), aby przełączyć się do otwartego okna dialogowego. Okno dialogowe musi być bezmodelowe, co oznacza, że nie wymaga od użytkownika odrzucenia go przed kliknięciem w innym miejscu w Finale (większość okien dialogowych nie jest bezmodelowa).
select window "scoremanager"
tab "file info"
type "Fredric Marc Bunbury" near "arranger"
select window "edit page margins"
type 1.5 near "bottom"
type 1 near "pages"
button "apply"
Przetwarzanie wsadowe
Być może najpotężniejszym aspektem FinaleScript jest możliwość automatycznego stosowania poleceń do wielu dokumentów. To zadanie nazywa się przetwarzaniem wsadowym. Możesz albo przetworzyć wszystkie dokumenty, które są aktualnie otwarte w Finale, albo możesz przetwarzać dokumenty w określonym folderze na swoim komputerze.
Przetwarzanie wszystkich otwartych dokumentów
Ponieważ FinaleScript wykonuje polecenia sekwencyjnie, musisz wyrazić zamiar przetworzenia więcej niż jednego dokumentu na wczesnym etapie skryptu, przed kolejnymi poleceniami.
process all open
Możesz również określić, że chcesz zastosować polecenia do wszystkich otwartych dokumentów z wyjątkiem bieżącego dokumentu:
don't process active document
Jest to szczególnie przydatne, jeśli kopiujesz ustawienia z jednego dokumentu do innych za pomocą polecenia import options
.
Przetwarzanie dokumentów w folderze
Podobnie jak w przypadku przetwarzania otwartych dokumentów, musisz poinstruować FinaleScript, aby przetworzył folder przed poleceniami, które zamierzasz zastosować do dokumentów. Na początku skryptu dołącz jedno z następujących poleceń:
batch process folder
batch process folder and subfolders
Podpowiedź: Foldery źródłowe i docelowe mają zastosowanie tylko do polecenia save
FinaleScript (z możliwymi parametrami). Ustawienia te nie dotyczą eksportowania grafiki, plików audio, MusicXML itp.
Dodatkowo musisz określić zarówno folder źródłowy, jak i folder docelowy. Istnieją trzy sposoby określania tych folderów. Możesz podać dokładne ścieżki w skrypcie…
batch process source folder "c:\music\scores"
batch process destination folder "c:\music\scores\converted"
… lub możesz poinstruować FinaleScript, aby poprosił użytkownika o wybranie jednego lub obu folderów…
ask source folder
ask destination folder
… lub możesz wybrać foldery w oknie dialogowym Opcje FinaleScript przed uruchomieniem skryptu.
Jeśli chcesz określić lokalizację folderu w skrypcie, możesz łatwo wstawić lokalizację, klikając prawym przyciskiem myszy Edytorze FinaleScript i wybierając Wstaw ścieżkę. Pojawi się okno dialogowe z prośbą o wybranie folderu. Wybierz folder i kliknij OK. Ścieżka folderu jest wstawiana do skryptu, zawartego w podwójnych cudzysłowach.
Wskazówka: Jeśli podajesz dokładne ścieżki w skrypcie na komputerze Mac, możesz użyć stylów ścieżek POSIX, HFS i Windows.
Pełne przykłady skryptów
Omówmy kilka skryptów, które są zainstalowane w Finale.
Przykład prostych skryptów/jednostek unitsexample.xml
/*
Jednostka globalna może być ustawiona za pomocą polecenia Unit lub może być ustawiona w określonej linii*/ unit evpus staffline thickness 6 page format 21x29.7 cm //
cm zastępuje polecenie unit tylko w bieżącym wierszubeam thickness 24 //staffline thickness .02 inch
- Ten skrypt otwiera komentarz.
- Pierwsze polecenie,
unit
, po której następuje atrybutevpus
, ustawia globalną jednostkę miary na EVPU. - Następna linia polecenia modyfikuje grubość thickness za pomocą atrybutu staffline: wszystkie linie pięciolinii w dokumencie będą miały grubość 6 EVPU. Należy pamiętać, że atrybut może występować zarówno przed, jak i po poleceniu.
- Następnie ustawiamy rozmiar strony za pomocą polecenia page format (formatu strony) na poziomy wymiar 21 cm na pionowy wymiar 29,7 cm; tutaj słowo kluczowe cm zastępuje globalną jednostkę ustawioną przez polecenie jednostki początkowej.
- Jednowierszowy komentarz przypomina nam o takim zachowaniu.
- Polecenie
beam thickness
, jak można się spodziewać, ustawia globalną grubość linii dla belek na 24 EVPU. - Ostatnie użycie ogranicznika komentarza (//) faktycznie wykonuje drugorzędną funkcję komentarzy, zwykle określaną jako „komentowanie” polecenia. Bez ukośników byłoby to prawidłowe polecenie grubości, które, podobnie jak trzecia linia, ustawiłoby globalną grubość linii dla linii personelu, tym razem na wartość .02 cala. Jednak autor tego skryptu (przynajmniej tymczasowo) „zakomentował” to polecenie: FinaleScript nie wykona żadnej akcji i zobaczy tylko komentarz.
Ustaw rozmiar strony/ustaw rozmiar strony na tabloid setpagesizetotabloid.xml
//batch process folder
//process all open
page format tabloid
//resize pages to 75%
//resize systems to 80%
//staff height = 82 evpus
reorganize layout
respace all
message "Remember to adjust the page size in Page Setup under the File Menu."
- Dla ułatwienia użytkowania skrypt zaczyna się od dwóch poleceń przetwarzania, które są obecnie komentowane, ale można je łatwo „przełączyć”.
- Następne polecenie jest kluczowe dla tego skryptu: page format (format strony) z atrybutem tabloid (tabloidu).
- Trzy kolejne skomentowane polecenia zapewniają opcje zmiany rozmiaru różnych elementów partytury z pomocnymi wstępnie ustawionymi wartościami.
reorganize layout
odblokowuje takty i aktualizuje układ, podczas gdy respace stosuje odstępy między nutami.- Zostanie wyświetlony komunikat informujący użytkownika, że przed rozpoczęciem drukowania należy wybrać odpowiedni rozmiar strony.
Różne/Dodaj Numery Stron W Stylu Książki addbookstylepagenumbers.xml
//
Wskaźnik myszy powinien znajdować się w lewym górnym rogu strony. //
Utworzenie skrótu może ułatwić wykonanie tego skryptu. text tool double click menu item "Page Number" menu item "Frame Attributes" dropdown "Page Range" near "Attach to" type 2 near "Page Range" type 0 near "Horizontal" type "48evpus" near "Vertical" check "Use Right Page Positioning" dropdown "Right" near "Use Right Page Positioning" type "48evpus" near "cancel" click OK
- Otwierające komentarze przypominają użytkownikowi, że drugie polecenie,
double click
, występuje wszędzie tam, gdzie znajduje się wskaźnik myszy, który musi znajdować się w pustej części strony. - Narzędzie tekstowe jest zaznaczona ramka tekstowa utworzona przez dwukrotne kliknięcie strony, a numer strony jest wstawiany za pomocą Tekst > Wstaw > Numer strony.
- Zostanie wyświetlone okno dialogowe Właściwości ramki, po którym następuje sześć poleceń edytujących ustawienia w oknie dialogowym przed kliknięciem OK.
Konwertuj/SATB na Pianino satbtopiano.xml
//
Ten skrypt tworzy natychmiastowy wyciąg fortepianowy partytury "SATB//
lub dowolnego utworu z 4 pięcioliniami//process folder //process all open docs work on layer 1 add piano staves "Piano" select staff 2 copy select staff 5 paste move layer 1 to 2 //delete lyrics select staff 1 copy select staff 5 paste //delete lyrics select staff 4 copy select staff 6 paste move layer 1 to 2 //delete lyrics select staff 3 copy select staff 6 paste //delete lyrics //Optional: Staff tool select staves 1 to 4 menu item "delete staves and reposition" show all layers select staff 1 Staff Attributes Uncheck "Alternate Notation:" Hit "Ok" select staff 2 Staff Attributes Uncheck "Alternate Notation:" Hit "Ok" //save and append "piano" //close
- Długość tego skryptu jest dobrą demonstracją typów złożonych zadań, które można szybko zautomatyzować za pomocą FinaleScript. Po otwarciu komentarzy dla wygody istnieją dwa komentowane polecenia przetwarzania.
- Na dole partytury powstają pięciolinie (zapis fortepianowy) z pełną nazwą „Fortepian”. Poprzedzająca to polecenie work on layer 1 (pracuj na warstwie 1) zapewnia, że kopiowanie pięciolinii w następnej sekcji nie spowoduje nadpisania istniejących warstw.
- Cztery zestawy poleceń dotyczą każdej z czterech wcześniej istniejących pięciolinii:
- Druga pięciolinia (alto w przykładzie SATB) jest kopiowana do fortepianu i przenoszona do warstwy 2; dostępne jest opcjonalne skomentowane polecenie
delete lyrics
, które pojawia się również dla kolejnych trzech zestawów poleceń. - Staff 1 (sopran) jest kopiowany do pięciolinii wiolinowej fortepianu (w warstwie 1).
- Staff 4 (bas) jest kopiowany do pięciolinii basowej fortepianu i przenoszony do warstwy 2.
- Staff 3 (tenor) jest kopiowany do pięciolinii basowej fortepianu (w warstwie 1).
- Druga pięciolinia (alto w przykładzie SATB) jest kopiowana do fortepianu i przenoszona do warstwy 2; dostępne jest opcjonalne skomentowane polecenie
- Oryginalne cztery pięciolinie są usuwane, a pięciolinie fortepianu zmieniają położenie (komentarz wskazuje, że te linie mogą być komentowane w razie potrzeby).
- Dokument > Pokaż tylko aktywną warstwę jest wyłączony, podobnie jak każda alternatywna notacja w poszczególnych pięcioliniach fortepianu.
- Dla wygody przewidziane są polecenia przetwarzania zamknięcia (zapisywanie i zamykanie dokumentów).
Proces wsadowy/wsadowy Zapisz jako grafikę batchsaveasgraphic.xml
Batch Process Folder
//Process all open docs
Graphics tool
Menu item "Export Pages"
Popup "TIFF"
//Popup "PICT"
//Popup "EPS"
//Popup "PDF"
Check "all"
Check "Generate Names From:"
Type 1200 near "Resolution:"
//Check "Include Fonts"
//Check "Allow Transparency"
Press "OK"
//expect to return //For save as PDF
Close
End
- Ponieważ jest to skrypt przetwarzania wsadowego, polecenie przetwarzania wsadowego folderu jest domyślnie aktywne. Alternatywnie, użytkownik może wybrać przetwarzanie wszystkich otwartych dokumentów.
- Wybrano narzędzie Grafika i wybrana jest Grafika > Eksportuj strony.
- W oknie dialogowym Eksportuj wybór/Strony jest określonych:
- Dostępne są cztery opcje formatu pliku.
- Wszystkie strony zostaną wyeksportowane.
- Nazwy plików będą zgodne z formatem „[Nazwa dokumentów]#”.
- Rozdzielczość jest ustawiona na 1200 dpi.
- W przypadku danych wyjściowych PostScript można wybrać opcję Dołącz czcionki i Zezwól na przezroczystość.
- Okno dialogowe jest odrzucane, a dokument zamknięty. Zakomentowane polecenie expect to return jest niezbędne w przypadku plików PDF.
Tworzenie udanego scenariusza
Przez większość czasu będziesz chciał stworzyć skrypt, który wykonuje więcej niż tylko jedno polecenie. Aby to zrobić, postępuj zgodnie z tym procesem.
Aby napisać skrypt łączący wiele poleceń
- Planuj z wyprzedzeniem. Przed napisaniem scenariusza upewnij się, że dokładnie wiesz, jaki cel chcesz osiągnąć skrypt. Dopiero wtedy można określić polecenia komponentu, które są niezbędne do dokładnego wykonania wymaganych zadań. W przypadku bardziej złożonych skryptów warto również rozważyć sugerowaną kolejność wpisu dla dokumentów Finale. Użyj wiersza poleceń FinaleScript Palette, aby wypróbować poszczególne polecenia na fikcyjnym dokumencie. Paleta wyświetla nazwę aktywnego dokumentu tuż nad wierszem poleceń, dzięki czemu wiesz, jaki dokument dotyczy podczas wykonywania pojedynczego polecenia.
- Utwórz pusty skrypt. Nadaj skryptowi opisową nazwę, a jeśli chcesz, umieść go w skategoryzowanym folderze. Jeśli będziesz często używać tego skryptu, na przykład do automatyzacji wsadowej wielu dokumentów, rozważ przypisanie mu skrótu klawiaturowego lub wyświetlenie go w menu FinaleScript. Jeśli skrypt już istnieje, który wykonuje niektóre funkcje, których będziesz potrzebować, możesz powielić ten skrypt o nowej nazwie i, jak mówią, przejść stamtąd.
- Wpisz polecenia i atrybuty. Podczas pisania FinaleScript koloruje tekst zgodnie z automatycznym schematem kolorowania, aby wyświetlić funkcję tekstu skryptu. Użyj tego automatycznego formatowania na swoją korzyść, upewniając się, że to, co wpisałeś, faktycznie istnieje w słowniku FinaleScript i że nie masz więcej niż jednego polecenia w wierszu. O automatycznym schemacie kolorowania. Uważaj, aby sprawdzić swoją pracę na czas: tak samo jak jedna błędnie wpisana postać może drastycznie zmienić, a nawet zatrzymać działanie scenariusza.
- Liberalnie korzystaj z komentarzy. Mimo że FinaleScript ma być łatwy do odczytania, długi lub skomplikowany skrypt może szybko stać się nieczytelny. Przemyślane komentarze wyznaczają strukturę, a nawet mogą znacznie ułatwić pisanie skryptu. To tyle dla ciebie, co dla każdego, kto mógłby użyć twojego skryptu. Komentarze są szczególnie przydatne we wskazyianiu parametrów (lub nawet całych sekcji skryptu), które można/powinno zmienić przed uruchomieniem skryptu w zależności od sytuacji, takich jak ścieżki plików.
- Przetestuj swój skrypt na fikcyjnym dokumencie. Naprawdę nie możemy wystarczająco podkreślić tego kroku. NIE ZAKŁADAJ, ŻE TWÓJ SKRYPT JEST BEZBŁĘDNY. Utwórz fikcyjny dokument z podobną notacją do dokumentów, dla których projektujesz ten skrypt, a następnie uruchom skrypt na tym fikcyjnym dokumencie. Przeanalizuj wyniki; jeśli są zadowalające, wszystko gotowe. W wielu przypadkach może być jednak konieczne ulepszenie scenariusza, a nawet całkowite przemyślenie, jak podejść do danego zadania. Jeśli polecenie nie działa, sprawdź błędy ortograficzne.
- Wypróbuj – ale miej kopię zapasową. Przed uruchomieniem skryptu w dokumencie wykonaj kopię zapasową dokumentu, abyś mógł go zastąpić, jeśli zdarzy się coś nie do pomyślenia. Jeśli skrypt wykonuje swoje zadania pomyślnie, to masz więcej czasu dla siebie! Ale nawet jeśli tak się nie stanie, a z jakiegoś powodu nie możesz cofnąć akcji, będziesz miał oryginalny dokument, dzięki czemu będziesz mógł spróbować ponownie. Powodzenia i szczęśliwego pisania scenariusza!
Programy MakeMusic Finale i PrintMusic oraz uaktualnienia w polskiej wersji językowej oraz z polskim podręcznikiem (PDF) mogą kupić Państwo w naszym sklepie internetowym www.audiofactory.pl