Orinj Структура на ефектите Примерен дилей DelayPanel.java

Orinj версия 9.0.0

Бележка: Тази страница не е за потребителите на Orinj, а за програмистите, които искат да създават ефекти за работа с цифрови сигнали за Orinj.

Класът DelayPanel.java е част от примерния Orinj ефект Примерен Дилей. Това е осъществяването на интерфейса за Delay.java, който съдържа изчисленията за дилея.

DelayPanel.java

Данните на този клас са следните.

m_delayField – една кутия с текст, която позволява на потребителя да промени текущата стойност на забавянето
m_decayField – една кутия с текст, която позволява на потребителя да промени текущата стойност на затихването
m_delaySlider – един плъзгач, който позволява на потребителя да промени текущата стойност на забавянето
m_decaySlider – един плъзгач, който позволява на потребителя да промени текущата стойност на затихването
m_popupMenu – плаващо меню, с което потребителят може да добавя или да маха автоматизации
m_addAutomationMenu – една от командите в плаващото меню (за добавяне на автоматизации)
m_removeAutomationMenu – една от командите в плаващото меню (за махането на автоматизации)
m_popupMenuOwner – автоматизацията, която ще се активира или деактивира (ще се добави или махне от гледната точка на потребителя) с плаващото меню
m_delay – самия ефект дилей от клас Delay.java

Забележи, че този флас удължава javax.swing.JPanel, а не javax.swing.JDialog. Orinj ще сложи този панел в един прозорец JDialog, който също ще съдържа един бутон Затвори (Close), една кутия за подминаване на ефекта, кутии и бутони за избирането, запазването и изтриването на предопределени настройки и други контроли.

Този клас осъществява EffectPanelInterface.java, който е определен в Orinj Структура на ефектите oreffect JAR. Този интерфейс трябва да бъде осъществен, така че 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 mousePressed(MouseEvent e) – когато се щрака с десния бутон на мишката върху контроли, тази функция създава едно плаващо меню, с което потребителят може да добавя или да маха автоматизации
  • void updateData() – тази функция е задължителна заради EffectPanelInterface.java (виж Orinj Структура на ефектите oreffect JAR). Тази функция слага стойностите на дилея в контролите на графичния интерфейс.

Виж също:
Orinj Структура на ефектите

Добави нов коментар

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.