ZusiSound
Moderatoren: Andreas Damm, Jens Haupert
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
- Roland Ziegler
- Beiträge: 5508
- Registriert: 04.11.2001 22:09:26
- Wohnort: 32U 0294406 5629020
- Kontaktdaten:
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
- Carsten Hölscher
- Administrator
- Beiträge: 33463
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
zu den unerklärlichen Abstürzen: Normalerweise ist der Programmierer schuld, ich kenne auch solche Effekte, hervorgerufen durch irgendeinen verlorengegangenen Speicher an u.U. völlig anderer Stelle. Der Fehler kann dabei dann durchaus zufällig auftreten, hängt wohl davon ab, was sich gerade in der Speicherleiche befindet o.ä.....
Carsten
Carsten
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Interessant... Das erleichtert das Debugging natürlich ungemein. In meinem Fall waren die Abstürze sogar erklärlich, StrToFloat hat sich mit dem Punkt als Dezimaltrenner nicht vertragen. Hab den Fehler inzwischen aber beheben können, jetz ist der Punkt unabhängig von der Ländereinstellung Dezimaltrenner.
Aaaansonsten is mir eben noch was ein- und aufgefallen, was ich unbedingt noch einbauen muss: Die Möglichkeit, einem Tonparameter mehrere Abhängigkeiten zuzuweisen, die dann über Operanden verknüpft werden. Ich weiß nur noch nicht, wie ich es umsetzen soll - über verschachteltes XML mit Anweisungen für einen Operanden (<multiply>...</multiply>) oder mit einem Attribut, in dem man das Ganze per Term festlegen kann. (operands="speed*traction")
Edit: Irgendwelche Vorschläge oder Präferenzen? Die XML-Variante dürfte übersichtlicher sein, aber wer weiß, was manche Leute für krude, unübersichtliche Sachen bauen wollen... Wobei die Übersichtlichkeit mit der Term-Methode definitiv auch nur auf den Term selber beschränkt wäre, das Rest-Chaos bleibt - halt direkt drunter verteilt.
Aaaansonsten is mir eben noch was ein- und aufgefallen, was ich unbedingt noch einbauen muss: Die Möglichkeit, einem Tonparameter mehrere Abhängigkeiten zuzuweisen, die dann über Operanden verknüpft werden. Ich weiß nur noch nicht, wie ich es umsetzen soll - über verschachteltes XML mit Anweisungen für einen Operanden (<multiply>...</multiply>) oder mit einem Attribut, in dem man das Ganze per Term festlegen kann. (operands="speed*traction")
Edit: Irgendwelche Vorschläge oder Präferenzen? Die XML-Variante dürfte übersichtlicher sein, aber wer weiß, was manche Leute für krude, unübersichtliche Sachen bauen wollen... Wobei die Übersichtlichkeit mit der Term-Methode definitiv auch nur auf den Term selber beschränkt wäre, das Rest-Chaos bleibt - halt direkt drunter verteilt.
Zuletzt geändert von Andreas Karg am 03.12.2004 20:59:48, insgesamt 1-mal geändert.
- Carsten Hölscher
- Administrator
- Beiträge: 33463
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
- Roland Ziegler
- Beiträge: 5508
- Registriert: 04.11.2001 22:09:26
- Wohnort: 32U 0294406 5629020
- Kontaktdaten:
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Hmm. Carsten? Falls du mal die Zeit und Lust hast, dich mit meinem Werk ein wenig auseinanderzusetzen - was würde denn deiner Ansicht nach [im Dateiformat] noch fehlen, um die Soll-Funktionalität von Zusi 3 herzustellen? Vielleicht würde das etwas Arbeit ersparen, wenn wir (also nicht du) hier den Krempel jetzt schon bauern, im Optimalfall sogar noch in eine Unit gepackt, sodass du das im Endeffekt nurmehr einbinden müsstest. Zumindest den Parser und das Dateiformat müsste man auch jetzt schon einigermaßen festlegen können. Oder nicht? (Wehe, jemand will mir jetzt anhängen, dass ich unbedingt in den Credits von Zusi 3 stehen will!!)
- Carsten Hölscher
- Administrator
- Beiträge: 33463
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
- AndreasBrandtner
- Administrator
- Beiträge: 2367
- Registriert: 04.11.2001 14:10:41
- Wohnort: Quickborn, Schleswig Holstein
Also hört dich schon richtig klasse an, macht einfach lust auf mehr...
grade im unteren Bereich kann man schon erahnen wie das ganze mal anzuhören sein wird! Weiter soo!!
Aber ist es beim 423 wirklich so das bei keiner Zugkraftvorgabe nur des Rollen der Räder zu hören ist oder fehlen da noch Sounds? Wenn wir den 401 nehmen der heult bei 80km/h z.B. ganz schön, auch ohne Zugkraft!
Grüße
grade im unteren Bereich kann man schon erahnen wie das ganze mal anzuhören sein wird! Weiter soo!!
Aber ist es beim 423 wirklich so das bei keiner Zugkraftvorgabe nur des Rollen der Räder zu hören ist oder fehlen da noch Sounds? Wenn wir den 401 nehmen der heult bei 80km/h z.B. ganz schön, auch ohne Zugkraft!
Grüße
Andreas Brandtner
****************
****************
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Ohne Zugkraft hört man eigentlich nur das Rollen. Aber das da ist eh nix gescheites, wegen weil schlechtes Tonmaterial und mal eben so zusammengestückelt. Wie gesagt: Wenn sich jemand ein wenig beschäftigen will darf er gerne mit dem Teil rumspielen, ist alles nur XML und WAV-Datei... Allzu große Sachen sollte man aber vielleicht noch nicht bauen, weil durchaus noch ein paar Dinge geändert werden könnten und werden.
- AndreasBrandtner
- Administrator
- Beiträge: 2367
- Registriert: 04.11.2001 14:10:41
- Wohnort: Quickborn, Schleswig Holstein
Hm, probiere grade ein bischen rum. Da würde ich doch galtt mal wissen wie sich volume und frequency zusammensetzen. Volume sind ja ganze zahlen und die Frequenz sind 0... werte sicherlich 0 ist gar nichts und 1 ist alles was da ist. Aber wie genau hängt das zusammen?
Grüße
Grüße
Andreas Brandtner
****************
****************
- Carsten Hölscher
- Administrator
- Beiträge: 33463
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
- Daniel Rüscher aka Merlin
- Beiträge: 2294
- Registriert: 23.01.2003 02:25:50
- Aktuelle Projekte: Aktuell keine
- Wohnort: Traunreut
- Kontaktdaten:
AndiK hat geschrieben:Hmm. Carsten? Falls du mal die Zeit und Lust hast, dich mit meinem Werk ein wenig auseinanderzusetzen - was würde denn deiner Ansicht nach [im Dateiformat] noch fehlen, um die Soll-Funktionalität von Zusi 3 herzustellen? Vielleicht würde das etwas Arbeit ersparen, wenn wir (also nicht du) hier den Krempel jetzt schon bauern, im Optimalfall sogar noch in eine Unit gepackt, sodass du das im Endeffekt nurmehr einbinden müsstest. Zumindest den Parser und das Dateiformat müsste man auch jetzt schon einigermaßen festlegen können. Oder nicht? (Wehe, jemand will mir jetzt anhängen, dass ich unbedingt in den Credits von Zusi 3 stehen will!!)
Wäre der Ansatz nicht sowieso mal grundsätzlich eine Idee? Man könnte so Zeit sparen, und gleichzeitig schon wertvolle Erfahrungen sammeln.
How to waste bits in a My SQL Database?
Like this.....
Like this.....
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Volume ist der Wert in Dezibel, um den das Geräusch verstärkt wird sozusagen. 0 ist normale (= maximale!) Lautstärke und -10000 gelten als komplett ausgeblendet.
Die Frequenz ist ein Wert zwischen 1 und 44100. Er entspricht der Abtastrate, mit der der Ton abgespielt wird. Ist Frequency gleich 0, so wird der in der Quelldatei festgelegte Wert genommen, es wird also mit normaler Geschwindigkeit abgespielt.
Aus dem Sourcecode-Upload ist noch nichts geworden. Ich hab mal ein wenig Ideen zusammengesucht, was ein neues System noch alles unterstützen müsste und das Ganze in ein erweitertes Dateiformat gequetscht. Das ist allerdings so verkompliziert, dass man den alten Parser praktisch nicht mehr für hernehmen kann, deswegen bin ich gleich hergegangen und hab eine universell einsetzbare Unit angefangen, der man am Ende eigentlich nur noch einen Zeiger auf das DirectSound-Objekt und in regelmäßigen Abständen die Messwerte (= Fahrdaten von Zusi, Werte vom Schieberegler, whatever) übergeben muss.
Die Frequenz ist ein Wert zwischen 1 und 44100. Er entspricht der Abtastrate, mit der der Ton abgespielt wird. Ist Frequency gleich 0, so wird der in der Quelldatei festgelegte Wert genommen, es wird also mit normaler Geschwindigkeit abgespielt.
Aus dem Sourcecode-Upload ist noch nichts geworden. Ich hab mal ein wenig Ideen zusammengesucht, was ein neues System noch alles unterstützen müsste und das Ganze in ein erweitertes Dateiformat gequetscht. Das ist allerdings so verkompliziert, dass man den alten Parser praktisch nicht mehr für hernehmen kann, deswegen bin ich gleich hergegangen und hab eine universell einsetzbare Unit angefangen, der man am Ende eigentlich nur noch einen Zeiger auf das DirectSound-Objekt und in regelmäßigen Abständen die Messwerte (= Fahrdaten von Zusi, Werte vom Schieberegler, whatever) übergeben muss.
- Jens Haupert
- Beiträge: 4927
- Registriert: 23.03.2004 14:44:34
- Aktuelle Projekte: http://www.zusidisplay.de
- Wohnort: Berlin
- Kontaktdaten:
Hallo,AndiK hat geschrieben:(...), deswegen bin ich gleich hergegangen und hab eine universell einsetzbare Unit angefangen, der man am Ende eigentlich nur noch einen Zeiger auf das DirectSound-Objekt und in regelmäßigen Abständen die Messwerte (= Fahrdaten von Zusi, Werte vom Schieberegler, whatever) übergeben muss.
is ja wunderbar, denn genau das macht die umgebaute Unit Network.
http://cvs.berlios.de/cgi-bin/viewcvs.c ... etwork.pas
Schau doch mal rein
MfG Jens
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Was deine Unit noch nicht macht:
1. Zwischenwerte interpolieren - 100ms Latenz zwischen den Datensätzen ist zuviel, ich schlage da einen Timer vor, der mit 10ms läuft und der aus den Differenzen der Werte der letzten beiden Datensätze etwas ins Blaue rät und neue Werte abschätzt. Klingt das verständlich?
2. Deine Unit ist bisher auf Fahrstufe, Drehzahl und Geschwindigkeit beschränkt. Besser wäre eine völlig dynamische Lösung, bei der völlig beliebige IDs angefordert werden können. Welche IDs das sind müsste ich halt dann in meiner Unit noch verfügbar machen.
Übrigens, es wär nicht schlecht, wenn du mir Zugangsdaten für dein CVS geben würdest. Bisher liegt der Krempel noch auf dem CVS von Daniel Schuhmann, aber wenn wir hier schon zusammenarbeiten... Danke.
- AndreasBrandtner
- Administrator
- Beiträge: 2367
- Registriert: 04.11.2001 14:10:41
- Wohnort: Quickborn, Schleswig Holstein
ah ja, erklärt sich ja alles von selbst dann aber was bedeutet
?
Grüße
Code: Alles auswählen
<pan dependency="none" />
Grüße
Andreas Brandtner
****************
****************
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
- Jens Haupert
- Beiträge: 4927
- Registriert: 23.03.2004 14:44:34
- Aktuelle Projekte: http://www.zusidisplay.de
- Wohnort: Berlin
- Kontaktdaten:
Hallo,AndiK hat geschrieben:Was deine Unit noch nicht macht:
1. Zwischenwerte interpolieren - 100ms Latenz zwischen den Datensätzen ist zuviel, ich schlage da einen Timer vor, der mit 10ms läuft und der aus den Differenzen der Werte der letzten beiden Datensätze etwas ins Blaue rät und neue Werte abschätzt. Klingt das verständlich?
ja das klingt gut. Ich denke das kann man so machen!
Stimmt. Da brauchen wir eine Schnittstelle zum Anfordern beliebiger Datensätzte.AndiK hat geschrieben:2. Deine Unit ist bisher auf Fahrstufe, Drehzahl und Geschwindigkeit beschränkt. Besser wäre eine völlig dynamische Lösung, bei der völlig beliebige IDs angefordert werden können. Welche IDs das sind müsste ich halt dann in meiner Unit noch verfügbar machen.
Ok, kein Problem. Du musst dir dazu ein Konto bei BerliOS anlegen. Dann schick mir einfach den Namen deines Kontos und dann schalte ich den Zugriff frei.AndiK hat geschrieben:Übrigens, es wär nicht schlecht, wenn du mir Zugangsdaten für dein CVS geben würdest. Bisher liegt der Krempel noch auf dem CVS von Daniel Schuhmann, aber wenn wir hier schon zusammenarbeiten... Danke.
Ich werde mich morgen mal um die obigen Punkte kümmern.
Schönen Abend noch,
Jens