Orinj версия 8.0.0
Бележка: Тази страница не е за потребителите на Orinj, а за програмистите, които искат да създават ефекти за работа с цифрови сигнали за Orinj.
Класът DelayPanel.java е част от примерния Orinj ефект Примерен Дилей. Това е осъществяването на графичния интерфейс за класа Delay.java, който самият съдържа изчисленията за дилея.
DelayPanel.java
Данните на този клас са следните.
m_delayField – една кутия с текст, която позволява на потребителя да промени текущата стойност на забавянето
m_decayField – една кутия с текст, която позволява на потребителя да промени текущата стойност на затихването
m_delaySlider – един плъзгач, който позволява на потребителя да промени текущата стойност на забавянето
m_decaySlider – един плъзгач, който позволява на потребителя да промени текущата стойност на затихването
m_delay – самия ефект дилей от клас Delay.java
Забележи, че този флас удължава javax.swing.JPanel, а не javax.swing.JDialog. Orinj ще сложи този панел в един прозорец JDialog, който също ще съдържа един бутон Затвори (Close), една кутия за подминаване на ефекта, кутии и бутони за избирането, запазването и изтриването на предопределени настройки и други контроли.
Този клас осъществява EffectPanelInterface.java, който е определен в Orinj Структура на ефектите oreffect JAR. Този интерфейс трябва да бъде осъществен, така че Orinj да може да създаде прозореца за ефекта.
Този клас също осъществява и няколко интерфейси за слушатели (ActionListener, FocusListener, ChangeListener). Те не са задължителни. Дали ще ги използваш зависи от това, как графичният ти интерфейс работи.
Този клас определя своя собствен ред на фокуса. Това не е задължително. Тъй като Orinj ще сложи този панел в един по-голям прозорец, чийто ред на фокуса ще използва реда на фокуса на панела. Ако не създадеш един ред, реда на фокуса ще следва реда, с който контролите са били добавени към панела.
Функциите в този клас са следните.
- DelayPanel(Delay delay, AudioFormat format) – единствения конструктор. Аргументите на този конструктор са задължителни. Те са следните.
- delay – очаквай, че Orinj ще създаде самият ефект преди графичния интерфейс и ще изпрати самият ефект тук. Ще ти трябва ефекта, за да можеш да го променяш с контролите в графичния интерфейс. Забележи най-вече, че m_delay в този клас е направен равен на този аргумент най-отдолу в конструктора. Този аргумент е задължителен. Разбира се, класът на този аргумент ще бъде различен при други ефекти.
- format – този аргумент се използва рядко, но е задължителен. Не се използва в този ефект. Графичният еквилайзер и параметричният еквилайзер в Orinj например използват пробната честота определена от този формат за аудио за да изчислят действителния амплитуден спектър. В сесията в Orinj това ще бъде формата за аудиото на сесията. В изгледа за единични вълни, това ще бъде формата за аудио на текущата вълна.
- void stateChanged(ChangeEvent e) – тази функция хваща промените в плъзгачите и съответно променя дилея и кутиите с текст.
- void actionPerformed(ActionEvent e) – тази функция хваща промените в кутиите с текст (когато например потребителя натисне ENTER в една от кутиите с текст) и съответно променя дилея и плъзгачите. Забележи, че въпреки че тази функция проверява за грешки от потребителя, не показва на потребителя съобщения за тези грешки. Просто премества фокуса към една друга контрола. focusLost(), описана по-долу, тогава дава съобщението за грешка. Това е така за да сме сигурни, че потребителят ще види само едно съобщение. Можеш разбира се да осъществиш проверките за грешки и по друг начин.
- void focusLost(FocusEvent e) – тази функция хваща преместването на фокуса от един контрол на друг и съответно променя дилея и останалите контроли. Забележи, че тази функция проверява за грешки и показва съобщения за грешките на потребителя. Забележи също, че тази функция не използва updateData() за промени в плъзгачите, защото това се прави от stateChanged().
- void updateData() – тази функция е задължителна заради EffectPanelInterface.java (виж Orinj Структура на ефектите oreffect JAR). Тази функция слага стойностите на дилея в контролите на графичния интерфейс.
Виж също:
Orinj Структура на ефектите
Добави нов коментар