Development:Anforderungen Sound: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
BorisM (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Einstellbare Werte: [*] Lautstärke [*] Position (Pan oder Laufzeitunterschied) [*] Frequenz? (wird im Soundthesizer zur Unterscheidung verschiedener Geschwind…“) |
Keine Bearbeitungszusammenfassung |
||
| (6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
Einstellbare Werte: | Einstellbare Werte: | ||
* Lautstärke | |||
* Position (Pan oder Laufzeitunterschied). Soll Position auch innerhalb eines Stellwerk variiert werden können? | |||
* Frequenz? (wird im Soundthesizer zur Unterscheidung verschiedener Geschwindigkeiten o.ä. genutzt) | |||
* An/aus | |||
* Loop, einzeln. Für einzelnes auslösen ggf. Wahl zwischen bei steigender Flanke, bei fallender Flanke, oder bei beiden Flanken (Idee aus Soundthesizer), aber das ist vermutlich schon durch die ebenen vorher abgedeckt? | |||
* Achtung: Wecker, die sowohl beim Fdl als auch beim Ww auftreten können, und womöglich durch ein- und dasselbe Ereignis gestartet werden, könnten möglicherweise durch destruktive Interferenz unhörbar werden! | |||
Fdl-Ww: | |||
* Bedenken: Ww kann von einer KI gesteuert werden müssen. => Die KI muss in der Lage sein, den Spieler zu informieren, wenn es mit irgendetwas nicht zurecht kommt (Meldesounds?), allerdings soll der Fdl nicht alle Wecker mithören müssen, die beim Ww ausgelöst werden (z.B. Weichenwecker). | |||
* Bedenken: Es soll zukünftig möglich sein, sein Stellwerk mit einem Kollegen gemeinsam zu bedienen. Wenn dann einer Fdl und der andere Ww spielt, muss auch hier der eine den anderen abschalten können. => Werte dürfen NICHT zwischen Server und Client syncronisiert werden! | |||
* In beiden Fällen kann es sein, dass der Nutzer dennoch das Fenster vom Ww offen hat, z.B. wenn er noch ein paar Bildschirme übrig hat, um zu sehen, was der andere gerade macht. | |||
Verknüpfung von Sounds: | Verknüpfung von Sounds: | ||
* Einleitung | |||
* Mittelteil | |||
* Ausleitung | |||
* Ggf. setzen von Abbruchpunkten, d.h. Ende eines Sounds kann nicht an beliebiger Stelle erfolgen, sondern z.B. nur zwischen den einzelnen Schlägen eines langsam schlagenden Weckers, oder an geeigneten Verknüpfungspunkten zum Ausleitungssound? | |||
Implementierung: | |||
* Verschiedenen Soundengines möglich (ggf. sogar per Plugin?) -> Basisklasse, von der die einzelnen Engines erben, welche genutzt wird ist konfigurierbar | |||
** Umschaltung entweder nur mit Neustart oder auch zu Laufzeit? | |||
** Bedenken: Extern generierte Töne (Ansteuerung eines echten Weckers über USB usw.), die teilweise aber nur ganz bestimmte Sounds übernehmen können könnten. | |||
*** => Möglicherweise ein ähnliches Konzept wie die „Zusatzgruppen” (die später mal die Weichen- oder Signalgruppen um das Nummernstellpult ergänzen sollen) | |||
* Soundengine benötigt eigenen Thread (wie gehabt) | |||
* Klasse "Soundfile" legt einzelne Datei fest, Klasse „Sound” verknüpft mehrere Dateien nach Bedingungen (z.B. Einleitungssound, Mittelteilsound, Ausleitungssound) | |||
* Erzeugung von Objekten der Klasse Soundfile (und ggf. weiterer Klassen) per Fabrikmethode der Soundengine zur Kapselung der Implementierungsdetails der jeweiligen Soundengine | |||
[[Kategorie:Anforderungen]] | [[Kategorie:Anforderungen]] | ||
Aktuelle Version vom 27. Oktober 2015, 17:18 Uhr
Einstellbare Werte:
- Lautstärke
- Position (Pan oder Laufzeitunterschied). Soll Position auch innerhalb eines Stellwerk variiert werden können?
- Frequenz? (wird im Soundthesizer zur Unterscheidung verschiedener Geschwindigkeiten o.ä. genutzt)
- An/aus
- Loop, einzeln. Für einzelnes auslösen ggf. Wahl zwischen bei steigender Flanke, bei fallender Flanke, oder bei beiden Flanken (Idee aus Soundthesizer), aber das ist vermutlich schon durch die ebenen vorher abgedeckt?
- Achtung: Wecker, die sowohl beim Fdl als auch beim Ww auftreten können, und womöglich durch ein- und dasselbe Ereignis gestartet werden, könnten möglicherweise durch destruktive Interferenz unhörbar werden!
Fdl-Ww:
- Bedenken: Ww kann von einer KI gesteuert werden müssen. => Die KI muss in der Lage sein, den Spieler zu informieren, wenn es mit irgendetwas nicht zurecht kommt (Meldesounds?), allerdings soll der Fdl nicht alle Wecker mithören müssen, die beim Ww ausgelöst werden (z.B. Weichenwecker).
- Bedenken: Es soll zukünftig möglich sein, sein Stellwerk mit einem Kollegen gemeinsam zu bedienen. Wenn dann einer Fdl und der andere Ww spielt, muss auch hier der eine den anderen abschalten können. => Werte dürfen NICHT zwischen Server und Client syncronisiert werden!
- In beiden Fällen kann es sein, dass der Nutzer dennoch das Fenster vom Ww offen hat, z.B. wenn er noch ein paar Bildschirme übrig hat, um zu sehen, was der andere gerade macht.
Verknüpfung von Sounds:
- Einleitung
- Mittelteil
- Ausleitung
- Ggf. setzen von Abbruchpunkten, d.h. Ende eines Sounds kann nicht an beliebiger Stelle erfolgen, sondern z.B. nur zwischen den einzelnen Schlägen eines langsam schlagenden Weckers, oder an geeigneten Verknüpfungspunkten zum Ausleitungssound?
Implementierung:
- Verschiedenen Soundengines möglich (ggf. sogar per Plugin?) -> Basisklasse, von der die einzelnen Engines erben, welche genutzt wird ist konfigurierbar
- Umschaltung entweder nur mit Neustart oder auch zu Laufzeit?
- Bedenken: Extern generierte Töne (Ansteuerung eines echten Weckers über USB usw.), die teilweise aber nur ganz bestimmte Sounds übernehmen können könnten.
- => Möglicherweise ein ähnliches Konzept wie die „Zusatzgruppen” (die später mal die Weichen- oder Signalgruppen um das Nummernstellpult ergänzen sollen)
- Soundengine benötigt eigenen Thread (wie gehabt)
- Klasse "Soundfile" legt einzelne Datei fest, Klasse „Sound” verknüpft mehrere Dateien nach Bedingungen (z.B. Einleitungssound, Mittelteilsound, Ausleitungssound)
- Erzeugung von Objekten der Klasse Soundfile (und ggf. weiterer Klassen) per Fabrikmethode der Soundengine zur Kapselung der Implementierungsdetails der jeweiligen Soundengine