4 Snooze
In deze opdracht ga je een snooze functie programmeren voor je wekker. Met de snooze-button kan je het alarm tijdelijk uitzetten en na een tijdje weer opnieuw laten afgaan.
Maak eerst een backup van je wekker-patch!
Deadline voor deze opdracht: 5 nov
Mogelijk belangrijke objecten in deze opdracht:
Belangrijk:
Gebruik de help-files (alt-click). Bekijk ook de Max Keyboard Shortcuts en Max CheatSheet.
Plaats comments om duidelijk te maken dat je snapt hoe iets werkt.
Maak je patch netjes en overzichtelijk voordat je hem laat beoordelen!
Voordat je begint:
- Denk je systeem van tevoren uit op papier. Wat moet er logistiek gebeuren? Beschrijf dit (evt. schematisch) in verschillende stappen.
- Lees de hele opdracht even door voordat je aan de slag gaat.
- Gebruik de stappen om je op weg te helpen.
NB: Er zijn meerdere manieren om dit systeem te maken, het kan daarom zo zijn dat objecten die in deze opdracht genoemd worden niet allemaal gebruikt worden, of dat je misschien objecten gebruikt die niet genoemd worden.
a. User-interface
- Gebruik een
[button]om je snooze mee te kunnen starten. - Voeg een
[number]toe zodat de gebruiker zelf de snoozetijd kan instellen.- Werk met seconden i.p.v. minuten, dan hoef je niet lang te wachten om te testen of het werkt.
- Zorg dat je patch bij het opstarten een snoozetijd van 5 seconden heeft. Gebruik hiervoor
[loadmess].
b. Snooze-systeem basis
- Zorg er voor dat het drukken op de button het alarm uit zet (NB: het geluid, niet de klok, de tijd gaat door). Tip:
[trigger]of(message). - Zorg er nu voor dat de
bangvan deze button ook na een bepaalde tijd het geluid weer aan zet. Tip:[delay]. - Gebruik het getal voor de snoozetijd uit b om de goede delay in milliseconden te bepalen.
c. Snooze verbeteringen
- Zorg dat het niet mogelijk is om de snooze te blijven gebruiken terwijl er al een snooze aanstaat.
- Dus na de snooze te klikken moet de button zijn bang tijdelijk geen functie meer hebben.
- Zodra, na de snoozetijd, het alarm opnieuw afgaat kan de button weer een bang doorsturen zodat je opnieuw kan snoozen.
Handige objecten: [onebang] of een [gate] met [trigger].
(voldoende)
d. Verbetering 2: Alarm uit = Snooze uit
Controleer of, zodra je de wekker uitzet terwijl de snoozetijd nog loopt, het geluid/alarm alsnog afgaat nadat de snooze-tijd voorbij is.
- Zorg er voor dat, zodra de wekker wordt uitgezet terwijl de snoozetijd nog loopt, de snooze ook gereset wordt.
Tip: Bekijk de [delay] help-file.
(goed)
e. Verbetering 3: Geen Alarm = Geen Snooze
Controleer dat, wanneer je alarm uit staat, het niet zo is dat je de button van de snooze kan indrukken en daarna per ongeluk toch geluid hoort.
- Zorg ervoor dat de snoozeknop alleen effect heeft nadat het alarm af gaat (dus wanneer er geluid klinkt), anders niet.
- Dit voorkomt dat een willekeurige druk op de snoozeknop een alarm laat afgaan.
Handige objecten: [gate], [onebang], [trigger], [message].
(zeer goed)
