initialisierungsproblem

Diskussionsforum für Fragen zur Struktur und Implementation in REAKTOR, auch DSP, Literatur und begleitende Software

Moderator: herw

Antworten
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

initialisierungsproblem

Beitrag von helmsklamm »

boah ey, ich bin grad echt mit mein latein am ende:

irgednwie buggen n paar sachen beim neustart oder tsetweise cpu-ausmachens. ergo ein init-problem.
da denk ich mir um das zu umgehen - jut, nimmste nen seppel (seperator) aber selsbt das teil gibt trotz treshold bspw. 1 am hi-ausgang ne null beim start aus. was soll das? der seppel is doch explizit zum ausfiltern "tresholdiger" werte gebaut, was is das für ne logik das dat dings dann beim neustart trotzdem einen "verbotenen" wert überträgt?
villeicht hat sich NI ja irgendnen quatsch dabei gedacht (falls ja - erklärt mal bitte einer welchen) - mich bringt das jedenfalls augenblicklich zur verzweiflung. und das is ja leider bei weitem nich das einzige ding, wo man ohne nährer erklärung wiesoweshalbwarum man geneigt ist, den codern entweder böswilligkeit oder schlampigkeit zu unterstellen - zumindest das fehlen jeglicher antizipationsfähigkeiten.
was auch völlig nervt ist das re-mergen bei jedem switch, völlig gleichgültig wo der switch stattfindet - alle merges werden jedesmal neu von oben nach unten gelesen. was soll das alles???

ich überleg grad ob man mit solchen unlogikkeiten nich permanent die hotline vollqautschen sollte - vielleicht gibts ja dann endlich eine "mögliche-seltsamkeiten- bzw. die-module-im detail-pdf". (man lässt sich als kunde eigentlich viel zu viel gefallen).

zum glück gibts ja das foruml_ also: hat irgendwer ne idee, um generell das init-verhalten bei ausgwählten modulen/strukturteilen zu umgehen? (die module oder die kombi stepfilter/value bringst leider auch niet recht).
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: initialisierungsproblem

Beitrag von herw »

Hast Du schon das File Initialization Algorithm.rtf gelesen?

Damit hier nicht ins Blaue hinein diskutiert wird: kannst Du mal einen Screenshot oder ein Ensemble anhängen?
Vor allen Dingen ist mir deine Messmethode nicht klar.
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

ähm, ich muss mal meine obigen aussagen widerrufen.

zumindest einstweilen - ich seh derzeit grad keine andre testmöglichkeit als den eventwtacher aber ich glaube derselsbt bugt beim init (anzeigen von unangeschlossenen sorces oder wertewürflung) und die "messdaten" sind dann natürlich nich wirklich zu gebrauchen.

ich hab das prob jetzt ziemlich entschärft - es lag an sich wehcelseitig und schleifig (keine e-loops) beeinflussenden sva/sends/recieves/knob vernbunds und ne präzise einhaltung von order/stepfilter geschichten.
nur ein kleines prob verbleibt: ich brauch sowas wie nen retrigger für nen "gehaltenen wert" (also quasi ne variable konstante wenn man so will) beim sysstart.

also ein value für die "konstante" und ein ??? fürs systart-value-triggern.
aber da gibts doch bestimmt auch was von ratiopharm, bzw. core, oder?
(ich hatte das glaubsch schonmal - aber beim rechnerumzug is wohl doch einiges verhgessen worden :cry: )

ich hab demnächst nen englischkurs, da nehm ich dann vieleicht zum komolitonen-ärgern die empfohlene broschüre mit :wink:
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

ich hab mir grad nochmal den watcher beim systart angeschaut (mit ganz simplen konstante/value/list/order - aslo wo definitiv fremdwirkungen auszuschliessen sind) - trotzdem meldet das teil sachen die eingentlich unmöglich sind ich glaub es verwechselt dann die sources. seltsamseltsam.
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

helmsklamm hat geschrieben:ich hab mir grad nochmal den watcher beim systart angeschaut (mit ganz simplen konstante/value/list/order - aslo wo definitiv fremdwirkungen auszuschliessen sind) - trotzdem meldet das teil sachen die eingentlich unmöglich sind ich glaub es verwechselt dann die sources. seltsamseltsam.
Der Eventwatcher zeigt beim Systemstart meistens einen Wert am Eingang 8 an; warum weiß ich auch nicht.
Den Eventwatcher kann man wohl nicht zur Beobachtung beim Systemstart benutzen, da er ja selbst ebenfalls initialisiert wird.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

helmsklamm du hast Recht - der eventwatcher spinnt!
Ich habe ein ganz einfaches Testensemble gestaltet:
Bild
An Port 1 einen Regler, an Port 2 einen Dreier-Schalter mit zwei Reglern und einer Konstanten als Quelle.
Beim Umschalten des Schalters sendet er immer zwei Werte:
Bild
Der erste ist der von Port 1 (??????), der zweite vom zweiten Port (ok).

Es scheint so zu sein, dass der eventwatcher nicht mehr kompatibel zu R5.1.2 ist.
Dieses komische Verhalten tritt beim Schalten auf, was ja einer teilweisen Initialisierung gleichkommt. In jedem Fall sollte man in den Programm-Voraussetzungen die Kompatibilität zu R4 ausschalten!
Bild

Ich habe diese Beobachtung ins englische Forum gestellt; mal sehen was CList dazu sagt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

herw hat geschrieben:
Ich habe diese Beobachtung ins englische Forum gestellt; mal sehen was CList dazu sagt.
halt uns mal auch hier bitte auf den laufenden. (deutsch is doch viel scheener).
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

helmsklamm hat geschrieben:...halt uns mal auch hier bitte auf den laufenden. (deutsch is doch viel scheener).
schaust Du hier

ich habe nochmals getestet, indem ich nochmals denselben switch mit drei Eingängen an den Port 3 gesetzt habe. Nun werden beim Einschalten von REAKTOR alle drei aktuellen Werte von Port 3 gesendet. Ich denke es hängt damit zusammen, wie die Initialisierung abläuft.
Wenn man den eventwatcher mal öffnet, erkennt man, dass alle In-Ports zu einem merge-Modul laufen. Die events, die eintreffen, werden durch Order-Module verteilt und zwar als events zur Port-Nummer, zu einem gemeinschaftlichen Ausgang und zu den direkten Weiterleitungen des Event-Watchers.

Bild

Das Umschalten durch einen Switch setzt einen Initialisierungsprozess in Gang. D.h. zum Beispiel, dass auch die Order-Module initialisiert werden.
Laut Initialisierungs-Algorithmus trifft dies aber nur auf die Ausgänge 2 und 3 zu, d.h. der benutze Port wird nicht angetriggert. Das nachfolgende Mergemodule befindet sich aber in einem aktiven Zustand, also wird es ebenfalls initialisiert und bekommt wohl als Event denjenigen des zu unterst angeordneten angeschlossenen Trigger-Value-Moduls; ich habe mal den zweiten switch probeweise an den 4. Port angeschlossen und in der Tat wird nun beim Umschalten der 4. Port angezeigt.
Alle angeschlossenen Ports werden nun abgefragt und wegen der Besonderheit des 1. Order-Ausgangs mit demselben Port angezeigt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

herw hat geschrieben:
Das Umschalten durch einen Switch setzt einen Initialisierungsprozess in Gang. D.h. zum Beispiel, dass auch die Order-Module initialisiert werden.
Laut Initialisierungs-Algorithmus trifft dies aber nur auf die Ausgänge 2 und 3 zu, d.h. der benutze Port wird nicht angetriggert. Das nachfolgende Mergemodule befindet sich aber in einem aktiven Zustand, also wird es ebenfalls initialisiert und bekommt wohl als Event denjenigen des zu unterst angeordneten angeschlossenen Trigger-Value-Moduls.....
puh - ich war gestern uf ner dicken party und so richtich schaff ichs grad nich das alles zu verdauen;)

wie jetzt? order 1 triggert NICHT, 2 und 3 ja, und zwar nach reihenfolge?? und das merge sendet ebenfalls von oben nach unten - ist das korrekt???
bis auf das nichttriggern von port1 finde ich das SO auch einleuchtend.

laut core handbuch (und ich denk mir die primarys funzen ähnlich) passiert meiner meinung nach beim init folgendes: jedes out sendet erst eine null (bzw. seinen definierten default) und gleich anschliessend den eigentlich gesetzen wert. (man berichtige mich).
d.h. das jeder port bei jedem init jeweils zweimal "triggert" erstens seinen default und anschliessend seinen "aktuellen" snapspezifischen bzw. den zustand des zuletzt gesicherten enmbles values???
es findet also unter allen umständen ein trigger von jedem modulausgang statt - selbst von ner konstanten?????

und das alles passiert "stromabwärbts" dH ausgehend vom ersten out (idR wahrscheinlich ein clock oder midigate modul) werden nachfolgend alle "späteren" module durchgetriggert. bei einem clone davon - also 2 paralelle clocks und 2 identische nachfolge - macros müsste das alles "gleichzeitig" ( im sinne von logisch bzw. "diskret") ablaufen - sowohl macroX als als auch sein clone-pendant MÜSSEN die werte "gleichzeitig" erhalten. ohne ausnahme, basta!

sorry, das klingt jetzt alles ziemlich klienkariert - aber für ne korrekte funktion gewisser macros ist das EMINENT.

ich versuch grad das in meiner verkaterten birne auf den eventwatcher (btw: der beste upload ever) zu übetragen - das teil liegt definitiv "stromabwärst" zu den eigentlichen "beobachtungs-posten" dH er wird auch erst nach den anderen sachen initilisiert - hat das auswirkungen auf das erbegbniss??? ich denke ja, bin mir aber nicht sicher.


EINE GANZ GROSSE BITTE (ich stell die auchnomal seperat):

wäre irgednwer so lieb bitte bitte bitte das initalalgoritm.txt file zu übersetzen (findet sich im reaktpor haupt-odrner unter dokumentation)?
VIELEN VIELEN VIELEN DANK!
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

helmsklamm hat geschrieben:...

wie jetzt? order 1 triggert NICHT, 2 und 3 ja, und zwar nach reihenfolge?? und das merge sendet ebenfalls von oben nach unten - ist das korrekt???
bis auf das nichttriggern von port1 finde ich das SO auch einleuchtend.

laut core handbuch (und ich denk mir die primarys funzen ähnlich) passiert meiner meinung nach beim init folgendes: jedes out sendet erst eine null (bzw. seinen definierten default) und gleich anschliessend den eigentlich gesetzen wert. (man berichtige mich).
sorry es geht nicht darum, was Du Dir denkst, sondern schlicht und ergreifend darum, wie die Programmierer den Intialisierungsprozess festgelegt haben. Dieser ist eindeutig im Intialisierungs-Algorithmus (leider nur auf englisch) beschrieben. Er ist viel viel komplexer und tiefgründiger als Du es hier andeutest.
Der Algorithmus erkennt selbständig in einem rekursiven Verfahren ausgehend von der höchsten Struktur (dem Instrument) aktive und nicht aktive Module und verfolgt sie (von rechts nach links, was heißt rückverfolgend) bis zu den einfachsten Modulen, welche Signale zu senden sind oder gerade aktuell sind. Man kann dies im Debug-Modus (show event intialization order; wir haben das woanders schon einmal diskutiert) sich ansehen. Je nach Aktivierung oder Nicht-Aktivierung werden also von allen Modulen events ausgesandt (oder auch nicht). In welcher Reihenfolge und wie im einzelnen wird im Intialisierungs-Algorithmus erklärt.
d.h. das jeder port bei jedem init jeweils zweimal "triggert" erstens seinen default und anschliessend seinen "aktuellen" snapspezifischen bzw. den zustand des zuletzt gesicherten enmbles values???
nein s.o.
es findet also unter allen umständen ein trigger von jedem modulausgang statt - selbst von ner konstanten?????
unter Umständen ja

und das alles passiert "stromabwärbts" dH ausgehend vom ersten out (idR wahrscheinlich ein clock oder midigate modul) werden nachfolgend alle "späteren" module durchgetriggert. bei einem clone davon - also 2 paralelle clocks und 2 identische nachfolge - macros müsste das alles "gleichzeitig" ( im sinne von logisch bzw. "diskret") ablaufen - sowohl macroX als als auch sein clone-pendant MÜSSEN die werte "gleichzeitig" erhalten. ohne ausnahme, basta!
ja

sorry, das klingt jetzt alles ziemlich klienkariert - aber für ne korrekte funktion gewisser macros ist das EMINENT.

ich versuch grad das in meiner verkaterten birne auf den eventwatcher (btw: der beste upload ever) zu übetragen - das teil liegt definitiv "stromabwärst" zu den eigentlichen "beobachtungs-posten" dH er wird auch erst nach den anderen sachen initilisiert - hat das auswirkungen auf das erbegbniss??? ich denke ja, bin mir aber nicht sicher.
ja deshalb kommt es ja zu diesem zunächst unerklärlichen Ergebnis. Ich habe mal die Order Module durch eine entsprechende Core-Cell ersetzt und siehe da: alle Ausgänge werden korrekt angezeigt.


EINE GANZ GROSSE BITTE (ich stell die auchnomal seperat):

wäre irgednwer so lieb bitte bitte bitte das initalalgoritm.txt file zu übersetzen (findet sich im reaktpor haupt-odrner unter dokumentation)?
VIELEN VIELEN VIELEN DANK!
das halte ich mittlerweile auch für ganz wichtig.

ciao herw
Benutzeravatar
tymes2
meister
Beiträge: 118
Registriert: 10. Mai 2006, 16:48
Wohnort: Hamburg
Kontaktdaten:

Beitrag von tymes2 »

helmsklamm hat geschrieben:...wäre irgednwer so lieb bitte bitte bitte das initalalgoritm.txt file zu übersetzen (findet sich im reaktpor haupt-odrner unter dokumentation)?
VIELEN VIELEN VIELEN DANK!
Hat das schon jemand gemacht?
Grüssung-> Jo.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

tymes2 hat geschrieben:
helmsklamm hat geschrieben:...wäre irgednwer so lieb bitte bitte bitte das initalalgoritm.txt file zu übersetzen (findet sich im reaktpor haupt-odrner unter dokumentation)?
VIELEN VIELEN VIELEN DANK!
Hat das schon jemand gemacht?
schau mal in den Sticky darüber; leider ist mein Schulenglisch ziemlich mies und es kam keine Unterstützung. Der englische Oroginaltext erscheint mir aber nicht wirklich schwierig in der Übersetzung zu sein. Nur habe ich nicht immer Lust und Zeit dazu. Also ein klein wenig Unterstützung der Englisch-Profis wäre nett.

ciao herw
Benutzeravatar
tymes2
meister
Beiträge: 118
Registriert: 10. Mai 2006, 16:48
Wohnort: Hamburg
Kontaktdaten:

Beitrag von tymes2 »

Naja, nen bisschen tricky ist der Text schon, da der Verfasser nämlich auch kein Muttersprachler war (ich nehme mal an das war ein Deutscher), gibt's da schon den einen oder anderen nebeligen Satz. Es ist schon erstaunlich, welche Qualität das Teil hat (oder nicht hat), und kaum nachzuvollziehen, dass eine deutsche Firma es versäumt solch wichtige Texte in der Landessprache zu veröffentlichen. Egal...
Grüssung-> Jo.
Antworten