Podstawy programowania

Zajęcia 1 (2025-02-21)

Treści do realizacji

  1. Instalacja środowiska Pure Data
  2. Podstawowa obsługa programu Pure Data
  3. Pierwsze dźwięki
  4. Wejścia zimne i gorące obiektów

Pliki z zajęć

zaj1-sin.pd

Podstawa obsługi Pure Data

Pojęcia

Skróty klawiszowe

Wejścia gorące i zimne; problem aktualizacji

Obiekty posiadają wejścia gorące i zimne. Komunikaty otrzymane na wejście gorące, powodują wysłanie komunikatu przez obiekt i zapamiętują warotść. Komunikaty otrzymane na wejście zimne nie powodują wysłania komunikatu przez obiekt, a jedynie zapamiętują wartość.

Przykład problemu aktualizacji

Podział na wejścia zimne i ciepłe powoduje problem z aktualizacją - wynik poniższego układu zależy od kolejności wysłania komunikatów.

Po lewej zaprezentowano przykład zachowania ciągłęgo wysyłania komunikatu na zimne wejście - obiekt mnożenia nie tworzy dalej wyniku, a wyłącznie zapamiętuje przesłaną wartość.

Kliknij w lewy przycisk 3 aby wysłać komunikat do gorącego wejścia.

Po lewej zaprezentowano przykład zachowania ciągłęgo wysyłania komunikatu na gorące wejście - obiekt mnożenia tworzy dalej wynik, ale nie ma zdefiniowanej prawej strony mnożenia!

Kliknij w prawy przycisk 4 aby wysłać komunikat do zimnego wejścia. (komunikat zostanie wysłany po zakończeniu animacji lewej strony)

Rozwiązanie problemu aktualizacji dla lewego źródła

Cel: Wysyłając komunikat po lewej, chcemy przy pierwszym kliknięciu otrzymać odpowiedni wynik.

Wyślij komunikat 3 poprzez naciśnięcie go. Dzięki zastosowaniu pipe przesyłana wartość jest zapamiętywana, a wykonywanie tej ścieżki zatrzymane. Pozwala to na przejście do ścieżki prawej, która wyzwala komunikat 4, który przesyła wartość do zimnego wejścia obiektu mnożenia.

Po chwili (niezwykle krótkiej) powracamy do pipe, które przesyła otrzymany wcześniej komunikat 3 do gorącego wejścia obiektu mnożenia, tym samym wyzwalając go.

Rozwiązanie problemu aktualizacji dla prawego źródła

Cel: Wysyłając komunikat po prawej, chcemy przy pierwszym kliknięciu otrzymać odpowiedni wynik.

Wyślij komunikat 4 poprzez naciśnięcie go. Dzięki zastosowaniu delay wykonywanie tej ścieżki zatrzymane, oddając kontrolę do ścieżki prawej, która wyzwala komunikat 4, tym samym przesyłając wartość do zimnego wejścia obiektu mnożenia.

Następnie kontrola powraca do delay, który tworzy komunikat bang, wyzwalając tym samym poniższy komunikat 3 do gorącego wejścia obiektu mnożenia, produkując wynik.

Wykorzystanie wyjść zimnych i gorących: prosty licznik

Cel: Wysyłając bang do „układu” chcemy otrzymywać kolejne liczby, zaczynając od 0.

Po lewej zaprezentowano typowy układ tworzący licznik, wykorzystujący wejścia zimne i ciepłe w celu uniknięcia nieskończonej pętli - stanu w którym program „utyka” w danym układzie i powtarza się bez przerwy.

Aby doprowadzić do stanu nieskończonej pętli zamień wyjście + 1 z wejścia zimnego na ciepłe obiektu f.