Μια διευκρίνηση, παρακαλώ...
<submenu text="History">
<item text="On" action="setting 'writeHistory' 'Yes'" check="setting 'writeHistory' 'Yes'"/>
<item text="Off" action="setting 'writeHistory' 'No'" check="setting 'writeHistory' 'No'"/>
</submenu>
και
<submenu text="Pfl">
<item text="Auto" action="setting 'pflOnSelect' 'Yes'" check="setting 'pflOnSelect' 'Yes'"/>
<item text="Manual" action="setting 'pflOnSelect' 'No'" check="setting 'pflOnSelect' 'No'"/>
</submenu>
Το "πρόβλημα" είναι ότι οι συγκεκριμένες εντολές δεν λειτουργούν σε menu που έχω δημιουργήσει. Γιατί?
<submenu text="History">
<item text="On" action="setting 'writeHistory' 'Yes'" check="setting 'writeHistory' 'Yes'"/>
<item text="Off" action="setting 'writeHistory' 'No'" check="setting 'writeHistory' 'No'"/>
</submenu>
και
<submenu text="Pfl">
<item text="Auto" action="setting 'pflOnSelect' 'Yes'" check="setting 'pflOnSelect' 'Yes'"/>
<item text="Manual" action="setting 'pflOnSelect' 'No'" check="setting 'pflOnSelect' 'No'"/>
</submenu>
Το "πρόβλημα" είναι ότι οι συγκεκριμένες εντολές δεν λειτουργούν σε menu που έχω δημιουργήσει. Γιατί?
geposted Mon 26 Aug 19 @ 8:52 am
Αν θυμάμαι καλά οτιδήποτε εμφανίζεται με Yes/No στα settings ανοιγοκλείνει με on/off
Οπότε δοκίμασε action="setting 'writeHistory' on"
Οπότε δοκίμασε action="setting 'writeHistory' on"
geposted Mon 26 Aug 19 @ 3:27 pm
Δυστυχώς δεν "λειτουργεί" ούτε έτσι...
geposted Tue 03 Sep 19 @ 5:35 am
Theios Giorgos wrote :
Μια διευκρίνηση, παρακαλώ...
<submenu text="History">
<item text="On" action="setting 'writeHistory' 'Yes'" check="setting 'writeHistory' 'Yes'"/>
<item text="Off" action="setting 'writeHistory' 'No'" check="setting 'writeHistory' 'No'"/>
</submenu>
και
<submenu text="Pfl">
<item text="Auto" action="setting 'pflOnSelect' 'Yes'" check="setting 'pflOnSelect' 'Yes'"/>
<item text="Manual" action="setting 'pflOnSelect' 'No'" check="setting 'pflOnSelect' 'No'"/>
</submenu>
Το "πρόβλημα" είναι ότι οι συγκεκριμένες εντολές δεν λειτουργούν σε menu που έχω δημιουργήσει. Γιατί?
<submenu text="History">
<item text="On" action="setting 'writeHistory' 'Yes'" check="setting 'writeHistory' 'Yes'"/>
<item text="Off" action="setting 'writeHistory' 'No'" check="setting 'writeHistory' 'No'"/>
</submenu>
και
<submenu text="Pfl">
<item text="Auto" action="setting 'pflOnSelect' 'Yes'" check="setting 'pflOnSelect' 'Yes'"/>
<item text="Manual" action="setting 'pflOnSelect' 'No'" check="setting 'pflOnSelect' 'No'"/>
</submenu>
Το "πρόβλημα" είναι ότι οι συγκεκριμένες εντολές δεν λειτουργούν σε menu που έχω δημιουργήσει. Γιατί?
PhantomDeejay wrote :
Αν θυμάμαι καλά οτιδήποτε εμφανίζεται με Yes/No στα settings ανοιγοκλείνει με on/off
Οπότε δοκίμασε action="setting 'writeHistory' on"
Οπότε δοκίμασε action="setting 'writeHistory' on"
Theios Giorgos wrote :
Δυστυχώς δεν "λειτουργεί" ούτε έτσι...
με on/off μια χαρά δουλεύει... έχεις συντακτικό λάθος στον κώδικα τα on/off δεν θελουν εισαγωγικά
<submenu text="History">
<item text="On" action="setting 'writeHistory' on " check="setting 'writeHistory' on "/>
<item text="Off" action="setting 'writeHistory' off " check="setting 'writeHistory' off "/>
</submenu>
geposted Tue 03 Sep 19 @ 6:19 am
Σωστός ο παίκτης! Σε ευχαριστώ πολύ...
geposted Tue 03 Sep 19 @ 6:29 am
Phantom, την βοήθεια σου, γιατί “μπλόκαρα”…
Έχω δημιουργήσει τα κάτωθι panels, τα οποία αφορούν τις “παραλλαγές” του Master:
<define class="Master_Variation_A" visible="var_equal '@Monitor_MkI_Master_Variation' 0"> … </define>
<define class="Master_Variation_B" visible="var_equal '@Monitor_MkI_Master_Variation' 1"> … </define>
Και τα “καλώ”, ως ακολούθως:
<panel class="Master" x="885" y="195">
<panel class="Master_Variation_A" x="+0" y="+0"/>
<panel class="Master_Variation_B" x="+0" y="+0"/>
</panel>
Επίσης, έχω δημιουργήσει τα κάτωθι panels, τα οποία αφορούν τις “παραλλαγές” των Channels:
<define class="Channel_Variation_A" visible="var_equal '@Monitor_MkI_Channel_Variation' 0"> … </define>
<define class="Channel_Variation_B" visible="var_equal '@Monitor_MkI_Channel_Variation' 1"> … </define>
Και τα “καλώ”, ως ακολούθως:
<panel class="Channel_1" x="730" y="195" visible="deck 1 leftdeck">
<deck deck="1">
<panel class="Channel_Variation_A" x="+0" y="+0"/>
<panel class="Channel_Variation_B" x="+0" y="+0"/>
</deck>
</panel>
<panel class="Channel_2" x="1040" y="195" visible="deck 2 rightdeck">
<deck deck="2">
<panel class="Channel_Variation_A" x="+0" y="+0"/>
<panel class="Channel_Variation_B" x="+0" y="+0"/>
</deck>
</panel>
Αυτό που επιθυμώ, είναι να συγχωνέψω τα άνωθεν σε 1 panel (με παραλλαγές), το οποίο θα το ονομάσω Mixer. Ποιος είναι ο πιο ορθός τρόπος (στα definitions και στην κλήση), ώστε να έχω το δυνατόν λιγότερο κώδικα?
Διευκρινίζω ότι ως τώρα και όπως είναι ο κώδικας, υπάρχει η δυνατότητα το Master και τα Channels να αλλάζουν (variation) ξεχωριστά. Κατόπιν της συγχώνευσης, θέλω να αλλάζουν ως group.
Ευχαριστώ προκαταβολικά...
Έχω δημιουργήσει τα κάτωθι panels, τα οποία αφορούν τις “παραλλαγές” του Master:
<define class="Master_Variation_A" visible="var_equal '@Monitor_MkI_Master_Variation' 0"> … </define>
<define class="Master_Variation_B" visible="var_equal '@Monitor_MkI_Master_Variation' 1"> … </define>
Και τα “καλώ”, ως ακολούθως:
<panel class="Master" x="885" y="195">
<panel class="Master_Variation_A" x="+0" y="+0"/>
<panel class="Master_Variation_B" x="+0" y="+0"/>
</panel>
Επίσης, έχω δημιουργήσει τα κάτωθι panels, τα οποία αφορούν τις “παραλλαγές” των Channels:
<define class="Channel_Variation_A" visible="var_equal '@Monitor_MkI_Channel_Variation' 0"> … </define>
<define class="Channel_Variation_B" visible="var_equal '@Monitor_MkI_Channel_Variation' 1"> … </define>
Και τα “καλώ”, ως ακολούθως:
<panel class="Channel_1" x="730" y="195" visible="deck 1 leftdeck">
<deck deck="1">
<panel class="Channel_Variation_A" x="+0" y="+0"/>
<panel class="Channel_Variation_B" x="+0" y="+0"/>
</deck>
</panel>
<panel class="Channel_2" x="1040" y="195" visible="deck 2 rightdeck">
<deck deck="2">
<panel class="Channel_Variation_A" x="+0" y="+0"/>
<panel class="Channel_Variation_B" x="+0" y="+0"/>
</deck>
</panel>
Αυτό που επιθυμώ, είναι να συγχωνέψω τα άνωθεν σε 1 panel (με παραλλαγές), το οποίο θα το ονομάσω Mixer. Ποιος είναι ο πιο ορθός τρόπος (στα definitions και στην κλήση), ώστε να έχω το δυνατόν λιγότερο κώδικα?
Διευκρινίζω ότι ως τώρα και όπως είναι ο κώδικας, υπάρχει η δυνατότητα το Master και τα Channels να αλλάζουν (variation) ξεχωριστά. Κατόπιν της συγχώνευσης, θέλω να αλλάζουν ως group.
Ευχαριστώ προκαταβολικά...
geposted Wed 11 Sep 19 @ 5:00 am
<define class="Master_Variation_A" visible="var_equal '@$Monitor_MkI_Master_Variation' 0"> … </define>
<define class="Master_Variation_B" visible="var_equal '@$Monitor_MkI_Master_Variation' 1"> … </define>
<define class="Channel_Variation_A" visible="var_equal '@$Monitor_MkI_Channel_Variation' 0"> … </define>
<define class="Channel_Variation_B" visible="var_equal '@$Monitor_MkI_Channel_Variation' 1"> … </define>
Κοινώς κάνεις την τοπική (per deck) μεταβλητή Global και ξεμπερδεύεις.
Εκτός κι αν δεν κατάλαβα τι θες να κάνεις...
<define class="Master_Variation_B" visible="var_equal '@$Monitor_MkI_Master_Variation' 1"> … </define>
<define class="Channel_Variation_A" visible="var_equal '@$Monitor_MkI_Channel_Variation' 0"> … </define>
<define class="Channel_Variation_B" visible="var_equal '@$Monitor_MkI_Channel_Variation' 1"> … </define>
Κοινώς κάνεις την τοπική (per deck) μεταβλητή Global και ξεμπερδεύεις.
Εκτός κι αν δεν κατάλαβα τι θες να κάνεις...
geposted Wed 11 Sep 19 @ 6:40 am
Όχι, δεν είναι αυτό που θέλω. Θα το εξηγήσω αλλιώς και θα σου πω και που "κόλλησα"...
Δημιουργώ τα definitions, ως ακολούθως:
<define class="Mixer_Variation_A" visible="var_equal '@Monitor_MkI_Mixer_Variation' 0">
<size width="460" height="240"/>
<element> αφορά το πεδίο Channel με παραλλαγή Α</element>
...
<element> αφορά το πεδίο Channel με παραλλαγή Α</element>
<element> αφορά το πεδίο Master με παραλλαγή Α</element>
...
<element> αφορά το πεδίο Master με παραλλαγή Α</element>
… </define>
<define class="Mixer_Variation_B" visible="var_equal '@Monitor_MkI_Mixer_Variation' 1">
<size width="460" height="240"/>
<element> αφορά το πεδίο Channel με παραλλαγή Β</element>
...
<element> αφορά το πεδίο Channel με παραλλαγή Β</element>
<element> αφορά το πεδίο Master με παραλλαγή Β</element>
...
<element> αφορά το πεδίο Master με παραλλαγή Β</element>
… </define>
Μέχρι εδώ, μάλλον, ορθά. Το "πρόβλημά" μου είναι πώς θα διαχωρίσω τα (κοινά) elements των channels που αφορούν στο Deck 1 και στο Deck 2. Θα τα γράψω 2 φορές, με classdeck="1" και classdeck="2" ή υπάρχει πιο εύκολος και συνοπτικός τρόπος (π.χ. κατά την "κλήση" τους)?
Δημιουργώ τα definitions, ως ακολούθως:
<define class="Mixer_Variation_A" visible="var_equal '@Monitor_MkI_Mixer_Variation' 0">
<size width="460" height="240"/>
<element> αφορά το πεδίο Channel με παραλλαγή Α</element>
...
<element> αφορά το πεδίο Channel με παραλλαγή Α</element>
<element> αφορά το πεδίο Master με παραλλαγή Α</element>
...
<element> αφορά το πεδίο Master με παραλλαγή Α</element>
… </define>
<define class="Mixer_Variation_B" visible="var_equal '@Monitor_MkI_Mixer_Variation' 1">
<size width="460" height="240"/>
<element> αφορά το πεδίο Channel με παραλλαγή Β</element>
...
<element> αφορά το πεδίο Channel με παραλλαγή Β</element>
<element> αφορά το πεδίο Master με παραλλαγή Β</element>
...
<element> αφορά το πεδίο Master με παραλλαγή Β</element>
… </define>
Μέχρι εδώ, μάλλον, ορθά. Το "πρόβλημά" μου είναι πώς θα διαχωρίσω τα (κοινά) elements των channels που αφορούν στο Deck 1 και στο Deck 2. Θα τα γράψω 2 φορές, με classdeck="1" και classdeck="2" ή υπάρχει πιο εύκολος και συνοπτικός τρόπος (π.χ. κατά την "κλήση" τους)?
geposted Wed 11 Sep 19 @ 8:28 am
Το classdeck το χρησιμοποιούμε όταν ένα αντικείμενο είναι διαφορετικό σε κάθε deck. Π.χ όταν θέλουμε διαφορετικό χρώμα σε κάθε deck.
Όταν όμως σε ένα "μίκτη" π.χ. θέλουμε να καλέσουμε 4 φορές το panel class="deckEQ" τότε δεν χρειαζόμαστε classdecks
<deck deck=3><panel class="deckEQ" x="+0" y="+0"/></deck>
<deck deck=1><panel class="deckEQ" x="+50" y="+0"/></deck>
<deck deck=2><panel class="deckEQ" x="+100" y="+0"/></deck>
<deck deck=4><panel class="deckEQ" x="+150" y="+0"/></deck>
Τώρα:
Έστω οτι το panel deckEQ εμφανίζεται σε διαφορετική θέση σε κάθε variation.
Τότε απλά το καλείς 2 φορές
<panel name="Mixer_Variation_1" visible="whatever">
<deck deck=3><panel class="deckEQ" x="+0" y="+0"/></deck>
<deck deck=1><panel class="deckEQ" x="+50" y="+0"/></deck>
<deck deck=2><panel class="deckEQ" x="+100" y="+0"/></deck>
<deck deck=4><panel class="deckEQ" x="+150" y="+0"/></deck>
</panel>
<panel name="Mixer_Variation_2" visible="whatever2">
<deck deck=3><panel class="deckEQ" x="+0" y="+50"/></deck>
<deck deck=1><panel class="deckEQ" x="+50" y="+50"/></deck>
<deck deck=2><panel class="deckEQ" x="+100" y="+50"/></deck>
<deck deck=4><panel class="deckEQ" x="+150" y="+50"/></deck>
</panel>
Όταν όμως σε ένα "μίκτη" π.χ. θέλουμε να καλέσουμε 4 φορές το panel class="deckEQ" τότε δεν χρειαζόμαστε classdecks
<deck deck=3><panel class="deckEQ" x="+0" y="+0"/></deck>
<deck deck=1><panel class="deckEQ" x="+50" y="+0"/></deck>
<deck deck=2><panel class="deckEQ" x="+100" y="+0"/></deck>
<deck deck=4><panel class="deckEQ" x="+150" y="+0"/></deck>
Τώρα:
Έστω οτι το panel deckEQ εμφανίζεται σε διαφορετική θέση σε κάθε variation.
Τότε απλά το καλείς 2 φορές
<panel name="Mixer_Variation_1" visible="whatever">
<deck deck=3><panel class="deckEQ" x="+0" y="+0"/></deck>
<deck deck=1><panel class="deckEQ" x="+50" y="+0"/></deck>
<deck deck=2><panel class="deckEQ" x="+100" y="+0"/></deck>
<deck deck=4><panel class="deckEQ" x="+150" y="+0"/></deck>
</panel>
<panel name="Mixer_Variation_2" visible="whatever2">
<deck deck=3><panel class="deckEQ" x="+0" y="+50"/></deck>
<deck deck=1><panel class="deckEQ" x="+50" y="+50"/></deck>
<deck deck=2><panel class="deckEQ" x="+100" y="+50"/></deck>
<deck deck=4><panel class="deckEQ" x="+150" y="+50"/></deck>
</panel>
geposted Wed 11 Sep 19 @ 10:21 am
Ο δαίμονας του κώδικα "χτύπησε" πάλι...
1.
<define class="vis_JogWheel_Next_Poi" type="circle" source="cue_countdown">
<size width="112" height="112"/>
<on color="yellow" radius="0"/>
<tooltip />
</define>
Δεν "εμφανίζεται" με τίποτε! 100 δοκιμές, με διάφορες παραλλαγές, ανύπαρκτο αποτέλεσμα (το φελέκι μου...). Τις πταίει?
2.
Το element "menu", το οποίο λειτουργεί ουσιαστικά ως button, δεν μπορεί να λάβει και text? Μόνον γραφικό?
Ευχαριστώ προκαταβολικά...
1.
<define class="vis_JogWheel_Next_Poi" type="circle" source="cue_countdown">
<size width="112" height="112"/>
<on color="yellow" radius="0"/>
<tooltip />
</define>
Δεν "εμφανίζεται" με τίποτε! 100 δοκιμές, με διάφορες παραλλαγές, ανύπαρκτο αποτέλεσμα (το φελέκι μου...). Τις πταίει?
2.
Το element "menu", το οποίο λειτουργεί ουσιαστικά ως button, δεν μπορεί να λάβει και text? Μόνον γραφικό?
Ευχαριστώ προκαταβολικά...
geposted Thu 19 Sep 19 @ 4:40 pm
Τo cue_countdown επιστρέφει τον αριθμό των beats μέχρι το σημείο cue
Από την άλλη το visual δέχεται τιμές (float) από μηδέν μέχρι 1 (όπου το 1 =100%)
Άρα πρέπει να αποφασίσεις πόσα beats θα δείχνεις στο visual (πχ 16) και να διαιρέσεις την τιμή του cue_countdown με αυτό τον αριθμό.
Επίσης αν θες το visual να γεμίζει τότε στο τέλος πρέπει να κάνεις και ένα param_invert
source = cue_countdown & param_multiply 0.0625 & param_invert
Από την άλλη το visual δέχεται τιμές (float) από μηδέν μέχρι 1 (όπου το 1 =100%)
Άρα πρέπει να αποφασίσεις πόσα beats θα δείχνεις στο visual (πχ 16) και να διαιρέσεις την τιμή του cue_countdown με αυτό τον αριθμό.
Επίσης αν θες το visual να γεμίζει τότε στο τέλος πρέπει να κάνεις και ένα param_invert
source = cue_countdown & param_multiply 0.0625 & param_invert
geposted Thu 19 Sep 19 @ 5:05 pm
Ευχαριστώ Master...
Επειδή έχουμε των "περιορισμό" των beats, γεγονός το οποίο μόλις δοκίμασα και δεν εξυπηρετεί, μήπως υπάρχει τρόπος να αποδώσουμε το συνολικό χρόνο μέχρι το επόμενο cue? Δοκίμασα το source="cue_display timeleft & param_cast percentage", αλλά χωρίς αποτέλεσμα... :-(
Επειδή έχουμε των "περιορισμό" των beats, γεγονός το οποίο μόλις δοκίμασα και δεν εξυπηρετεί, μήπως υπάρχει τρόπος να αποδώσουμε το συνολικό χρόνο μέχρι το επόμενο cue? Δοκίμασα το source="cue_display timeleft & param_cast percentage", αλλά χωρίς αποτέλεσμα... :-(
geposted Thu 19 Sep 19 @ 5:41 pm
Γιώργο, πέρα από το άνωθεν θέμα, στο οποίο αναμένω απάντησή σου όταν μπορέσεις, μία ακόμη ερώτηση:
Πώς μπορώ να αλλάζω ένα panel (toggle="var_equal '@$... ... ...' ") κάνοντας κλικ επάνω στην "area" του και όχι μέσω button ή menu? Το μόνο που μπόρεσα να σκεφτώ, είναι να ορίσω το background του ως "button", αλλά δε νομίζω ότι είναι και ο καλύτερος τρόπος...
Πώς μπορώ να αλλάζω ένα panel (toggle="var_equal '@$... ... ...' ") κάνοντας κλικ επάνω στην "area" του και όχι μέσω button ή menu? Το μόνο που μπόρεσα να σκεφτώ, είναι να ορίσω το background του ως "button", αλλά δε νομίζω ότι είναι και ο καλύτερος τρόπος...
geposted Fri 20 Sep 19 @ 5:54 am
Theios Giorgos wrote :
Ευχαριστώ Master...
Επειδή έχουμε των "περιορισμό" των beats, γεγονός το οποίο μόλις δοκίμασα και δεν εξυπηρετεί, μήπως υπάρχει τρόπος να αποδώσουμε το συνολικό χρόνο μέχρι το επόμενο cue? Δοκίμασα το source="cue_display timeleft & param_cast percentage", αλλά χωρίς αποτέλεσμα... :-(
Επειδή έχουμε των "περιορισμό" των beats, γεγονός το οποίο μόλις δοκίμασα και δεν εξυπηρετεί, μήπως υπάρχει τρόπος να αποδώσουμε το συνολικό χρόνο μέχρι το επόμενο cue? Δοκίμασα το source="cue_display timeleft & param_cast percentage", αλλά χωρίς αποτέλεσμα... :-(
Υποθέτω πως αυτό που θες είναι να δείχνεις την απόσταση από το προηγούμενο μέχρι το επόμενο cue, σωστά;
Γιατί και το χρόνο μέχρι το επόμενο cue να πάρεις αυτός είναι σχετικός με τη θέση της βελόνας (θέσης αναπαραγωγής) ενώ ο μετρητής σου δουλεύει με ποσοστό επί τις 100
Οπότε αυτό πραγματικά πρέπει να κάνεις είναι να "βρεις" την απόσταση μεταξύ των 2 cues (σε beats) και με βάση αυτή την απόσταση να υπολογίσεις το ποσοστό προόδου.
Ο κώδικας λοιπόν που ψάχνεις είναι:
param_add 'cue_countdown' 'cue_countup' & param_1_x & param_multiply cue_countdown για γραφικό που "αδειάζει" (πάει από το 1 προς το 0)
param_add 'cue_countdown' 'cue_countup' & param_1_x & param_multiply cue_countdown & param_invert για γραφικό που "γεμίζει" (πάει από το 0 προς το 1)
Theios Giorgos wrote :
Το μόνο που μπόρεσα να σκεφτώ, είναι να ορίσω το background του ως "button", αλλά δε νομίζω ότι είναι και ο καλύτερος τρόπος...
Ναι, αυτός είναι ο μόνος τρόπος.
Σημείωση: Δώσε προσοχή στη σειρά των στοιχείων ώστε να μπορείς να κάνεις κλικ σε οτι χρειάζεται/θες.
geposted Fri 20 Sep 19 @ 6:33 am
Γιώργο σε ευχαριστώ πολύ για τις πληροφορίες. Έχω μία ερώτηση πιο γενική, την οποία και αναφέρω μέσω ενός "εικονικού" παραδείγματος...
1η Περίπτωση:
<panel class="Deck">
<panel class="1" x="+10" y="+10" visible="var_equal '@$...' 0"/>
<panel class="2" x="+10" y="+10" visible="var_equal '@$...' 1"/>
...
<panel/>
2η Περίπτωση:
<panel class="Deck">
<group name="1" x="+10" y="+10" visibility="var_equal '@$...' 0"/>
<group name="2" x="+10" y="+10" visibility="var_equal '@$...' 1"/>
...
<panel/>
Και με τους 2 τρόπους θα λάβω το επιθυμητό οπτικό αποτέλεσμα. Με την βασική διαφορά ότι στην 1η περίπτωση χρησιμοποιώ αποκλειστικά "panels" και στην 2η περίπτωση αποκλειστικά "groups". Το ερώτημα είναι ποιος είναι ο πιο "ορθός" και (τρόπον τινά) πιο "διαχρονικός" τρόπος σύνταξης του κώδικα και γιατί. Θέλοντας δε να το "γενικεύσω", θα ρώταγα το πότε και γιατί να χρησιμοποιήσω "αναγκαστικά" - "υποχρεωτικά" το εκάστοτε element?
Ευχαριστώ...
1η Περίπτωση:
<panel class="Deck">
<panel class="1" x="+10" y="+10" visible="var_equal '@$...' 0"/>
<panel class="2" x="+10" y="+10" visible="var_equal '@$...' 1"/>
...
<panel/>
2η Περίπτωση:
<panel class="Deck">
<group name="1" x="+10" y="+10" visibility="var_equal '@$...' 0"/>
<group name="2" x="+10" y="+10" visibility="var_equal '@$...' 1"/>
...
<panel/>
Και με τους 2 τρόπους θα λάβω το επιθυμητό οπτικό αποτέλεσμα. Με την βασική διαφορά ότι στην 1η περίπτωση χρησιμοποιώ αποκλειστικά "panels" και στην 2η περίπτωση αποκλειστικά "groups". Το ερώτημα είναι ποιος είναι ο πιο "ορθός" και (τρόπον τινά) πιο "διαχρονικός" τρόπος σύνταξης του κώδικα και γιατί. Θέλοντας δε να το "γενικεύσω", θα ρώταγα το πότε και γιατί να χρησιμοποιήσω "αναγκαστικά" - "υποχρεωτικά" το εκάστοτε element?
Ευχαριστώ...
geposted Mon 23 Sep 19 @ 5:28 am
Ο πιο σωστός τρόπος είναι τα panels.
Τα groups δημιουργήθηκαν αρχικά για άλλο σκοπό. Αλλά τελικά μετά από αρκετές αναβαθμίσεις και προσθήκες στις δυνατότητες τους έχουν γίνει σχεδόν συνώνυμα και ισοδύναμα των panels.
Ο κώδικας και η συμπεριφορά των panels όμως είναι πολύ πιο δοκιμασμένος και χρησιμοποιημένος σε σχέση με αυτόν των groups (για τη χρήση που ρωτάς πάντα)
Τα groups δημιουργήθηκαν αρχικά για άλλο σκοπό. Αλλά τελικά μετά από αρκετές αναβαθμίσεις και προσθήκες στις δυνατότητες τους έχουν γίνει σχεδόν συνώνυμα και ισοδύναμα των panels.
Ο κώδικας και η συμπεριφορά των panels όμως είναι πολύ πιο δοκιμασμένος και χρησιμοποιημένος σε σχέση με αυτόν των groups (για τη χρήση που ρωτάς πάντα)
geposted Mon 23 Sep 19 @ 7:01 am
Thnx Master...
geposted Mon 23 Sep 19 @ 8:48 am
Λίγο πολύπλοκο το σημερινό ζήτημα...
Ορίζω τα texts:
<define class="lbl_Elapsed">
<size width="80" height="16"/>
<text font="Calibri" size="16" align="center" scroll="no" color="col_Lbl" format="ELAPSED"/>
</define>
<define class="txt_Elapsed_Analog">
<size width="80" height="30"/>
<text font="Segoe UI" size="30" align="center" scroll="no" weight="bold" color="`songpos_remain 15000ms ? blink 500ms ? color 'magenta' : color '#660066' : songpos_remain 30000ms ? blink 1000ms ? color 'orange' : color 'darkorange' : color '#c0c0c0'`" action="get_time 'elapsed'"/>
<tooltip>Elapsed Time Analog\nRC: Variations</tooltip>
</define>
<define class="txt_Elapsed_Digital">
<size width="80" height="26"/>
<text font="LCD" size="26" align="center" scroll="no" weight="bold" color="`songpos_remain 15000ms ? blink 500ms ? color 'magenta' : color '#660066' : songpos_remain 30000ms ? blink 1000ms ? color 'orange' : color 'darkorange' : color '#c0c0c0'`" action="get_time 'elapsed'"/>
<tooltip>Elapsed Time Digital\nRC: Variations</tooltip>
</define>
Κατόπιν ορίζω σχετικό button, ως backround:
<define class="btnvrt_Elapsed" leftclick="nothing" rightclick="cycle '@$Monitor_MkI_Time' 2">
<size width="90" height="30"/>
<up color="col_Scr" border="col_Bgd" border_size="1" radius="6"/>
<over color="col_Scr" border="col_Bgd" border_size="1" radius="6"/>
<selected color="col_Scr" border="col_Bgd" border_size="1" radius="6"/>
<tooltip>Elapsed Time\nRC: Variations</tooltip>
</define>
Μετά δημιουργώ το σχετικό "Sub" Panel:
<define class="pnl_Elapsed">
<size width="90" height="30"/>
<button class="btnvrt_Elapsed" x="+0" y="+0"/>
<textzone class="lbl_Elapsed" x="+5" y="+7" visibility="not loaded"/>
<textzone class="txt_Elapsed_Analog" x="+5" y="-1" visibility="loaded ? var_equal '@$Monitor_MkI_Time' 0"/>
<textzone class="txt_Elapsed_Digital" x="+5" y="+1" visibility="loaded ? var_equal '@$Monitor_MkI_Time' 1"/>
</define>
Και τέλος αναφέρω τα 2 "Main" Panels, που περιέχουν το pnl_Elapsed:
<define class="Deck_Compact">
<size width="720" height="180"/>
<dropzone><size width="720" height="150"/><pos x="+0" y="+0"/></dropzone>
...
<panel class="pnl_Elapsed" x="+0" y="+0"/>
...
</define>
<define class="Deck_Normal">
<size width="720" height="240"/>
<dropzone><size width="720" height="240"/><pos x="+0" y="+0"/></dropzone>
...
<panel class="pnl_Elapsed" x="+0" y="+0"/>
...
</define>
Με τον άνωθεν κώδικα, επιτυγχάνω να έχω Variation (μόνο) στο πεδίο "Elapsed Time". Αυτό που θέλω να επιτύχω, είναι όταν αλλάζω ολόκληρο το Layout του Deck (μέσω menu) από Compact σε Normal, να μην αλλάζουν οι "ρυθμίσεις" (var_equal '@$Monitor_MkI_Time) που έχω κάνει ανά Deck Variation. Με άλλα λόγια, έαν έχω επιλέξει στο variation "Deck Compact" να εμφανίζεται το txt_Elapsed_Analog, να μην "ισχύει" αναγκαστικά και για το variation "Deck Normal", αλλά να εμφανίζεται το txt_Elapsed_Digital, εάν και εφόσον το έχω επιλέξει.
Γίνεται και εάν ναι, ποιος είναι ο πλέον ορθός τρόπος?
Ορίζω τα texts:
<define class="lbl_Elapsed">
<size width="80" height="16"/>
<text font="Calibri" size="16" align="center" scroll="no" color="col_Lbl" format="ELAPSED"/>
</define>
<define class="txt_Elapsed_Analog">
<size width="80" height="30"/>
<text font="Segoe UI" size="30" align="center" scroll="no" weight="bold" color="`songpos_remain 15000ms ? blink 500ms ? color 'magenta' : color '#660066' : songpos_remain 30000ms ? blink 1000ms ? color 'orange' : color 'darkorange' : color '#c0c0c0'`" action="get_time 'elapsed'"/>
<tooltip>Elapsed Time Analog\nRC: Variations</tooltip>
</define>
<define class="txt_Elapsed_Digital">
<size width="80" height="26"/>
<text font="LCD" size="26" align="center" scroll="no" weight="bold" color="`songpos_remain 15000ms ? blink 500ms ? color 'magenta' : color '#660066' : songpos_remain 30000ms ? blink 1000ms ? color 'orange' : color 'darkorange' : color '#c0c0c0'`" action="get_time 'elapsed'"/>
<tooltip>Elapsed Time Digital\nRC: Variations</tooltip>
</define>
Κατόπιν ορίζω σχετικό button, ως backround:
<define class="btnvrt_Elapsed" leftclick="nothing" rightclick="cycle '@$Monitor_MkI_Time' 2">
<size width="90" height="30"/>
<up color="col_Scr" border="col_Bgd" border_size="1" radius="6"/>
<over color="col_Scr" border="col_Bgd" border_size="1" radius="6"/>
<selected color="col_Scr" border="col_Bgd" border_size="1" radius="6"/>
<tooltip>Elapsed Time\nRC: Variations</tooltip>
</define>
Μετά δημιουργώ το σχετικό "Sub" Panel:
<define class="pnl_Elapsed">
<size width="90" height="30"/>
<button class="btnvrt_Elapsed" x="+0" y="+0"/>
<textzone class="lbl_Elapsed" x="+5" y="+7" visibility="not loaded"/>
<textzone class="txt_Elapsed_Analog" x="+5" y="-1" visibility="loaded ? var_equal '@$Monitor_MkI_Time' 0"/>
<textzone class="txt_Elapsed_Digital" x="+5" y="+1" visibility="loaded ? var_equal '@$Monitor_MkI_Time' 1"/>
</define>
Και τέλος αναφέρω τα 2 "Main" Panels, που περιέχουν το pnl_Elapsed:
<define class="Deck_Compact">
<size width="720" height="180"/>
<dropzone><size width="720" height="150"/><pos x="+0" y="+0"/></dropzone>
...
<panel class="pnl_Elapsed" x="+0" y="+0"/>
...
</define>
<define class="Deck_Normal">
<size width="720" height="240"/>
<dropzone><size width="720" height="240"/><pos x="+0" y="+0"/></dropzone>
...
<panel class="pnl_Elapsed" x="+0" y="+0"/>
...
</define>
Με τον άνωθεν κώδικα, επιτυγχάνω να έχω Variation (μόνο) στο πεδίο "Elapsed Time". Αυτό που θέλω να επιτύχω, είναι όταν αλλάζω ολόκληρο το Layout του Deck (μέσω menu) από Compact σε Normal, να μην αλλάζουν οι "ρυθμίσεις" (var_equal '@$Monitor_MkI_Time) που έχω κάνει ανά Deck Variation. Με άλλα λόγια, έαν έχω επιλέξει στο variation "Deck Compact" να εμφανίζεται το txt_Elapsed_Analog, να μην "ισχύει" αναγκαστικά και για το variation "Deck Normal", αλλά να εμφανίζεται το txt_Elapsed_Digital, εάν και εφόσον το έχω επιλέξει.
Γίνεται και εάν ναι, ποιος είναι ο πλέον ορθός τρόπος?
geposted Thu 26 Sep 19 @ 8:08 am
Γίνεται. Και ο τρόπος είναι μάλλον απλός... :P
<define class="btnvrt_Elapsed" leftclick="nothing" rightclick="var_equal '@$DecksVariation' 0 ? cycle '@$Monitor_MkI_Time_Var0' 2 : var_equal '@$DecksVariation' 1 ? cycle '@$Monitor_MkI_Time_Var1' 2">
<define class="pnl_Elapsed">
<size width="90" height="30"/>
<button class="btnvrt_Elapsed" x="+0" y="+0"/>
<textzone class="lbl_Elapsed" x="+5" y="+7" visibility="not loaded"/>
<textzone class="txt_Elapsed_Analog" x="+5" y="-1" visibility="loaded ? var_equal '@$DecksVariation' 0 ? var_equal '@$Monitor_MkI_Time_Var0' 0 : var_equal '@$DecksVariation' 0 ? var_equal '@$Monitor_MkI_Time_Var1' 0"/>
<textzone class="txt_Elapsed_Digital" x="+5" y="+1" visibility="loaded ? var_equal '@$DecksVariation' 0 ? var_equal '@$Monitor_MkI_Time_Var0' 1 : var_equal '[color]@$DecksVariation'[/color] 0 ? var_equal '@$Monitor_MkI_Time_Var1' 1"/>
</define>
Με λίγα λόγια το κουμπί btnvrt_Elapsed αλλάζει διαφορετική μεταβλητή ανάλογα με το ποιο variation είναι ορατό την ώρα που το πατάς (θα πρέπει να χρησιμοποιήσεις την μεταβλητή που ορίζει την ορατότητα των variations)
Στη συνέχεια τα textzones ελέγχουν ποιο variation είναι ορατό, και ανάλογα διαβάζουν την αντίστοιχη μεταβλητή.
Αν πρόσεξες αντί για την @$Monitor_MkI_Time τώρα έχεις τις @$Monitor_MkI_Time_Var0 και @$Monitor_MkI_Time_Var1
<define class="btnvrt_Elapsed" leftclick="nothing" rightclick="var_equal '@$DecksVariation' 0 ? cycle '@$Monitor_MkI_Time_Var0' 2 : var_equal '@$DecksVariation' 1 ? cycle '@$Monitor_MkI_Time_Var1' 2">
<define class="pnl_Elapsed">
<size width="90" height="30"/>
<button class="btnvrt_Elapsed" x="+0" y="+0"/>
<textzone class="lbl_Elapsed" x="+5" y="+7" visibility="not loaded"/>
<textzone class="txt_Elapsed_Analog" x="+5" y="-1" visibility="loaded ? var_equal '@$DecksVariation' 0 ? var_equal '@$Monitor_MkI_Time_Var0' 0 : var_equal '@$DecksVariation' 0 ? var_equal '@$Monitor_MkI_Time_Var1' 0"/>
<textzone class="txt_Elapsed_Digital" x="+5" y="+1" visibility="loaded ? var_equal '@$DecksVariation' 0 ? var_equal '@$Monitor_MkI_Time_Var0' 1 : var_equal '[color]@$DecksVariation'[/color] 0 ? var_equal '@$Monitor_MkI_Time_Var1' 1"/>
</define>
Με λίγα λόγια το κουμπί btnvrt_Elapsed αλλάζει διαφορετική μεταβλητή ανάλογα με το ποιο variation είναι ορατό την ώρα που το πατάς (θα πρέπει να χρησιμοποιήσεις την μεταβλητή που ορίζει την ορατότητα των variations)
Στη συνέχεια τα textzones ελέγχουν ποιο variation είναι ορατό, και ανάλογα διαβάζουν την αντίστοιχη μεταβλητή.
Αν πρόσεξες αντί για την @$Monitor_MkI_Time τώρα έχεις τις @$Monitor_MkI_Time_Var0 και @$Monitor_MkI_Time_Var1
geposted Thu 26 Sep 19 @ 8:42 am
Κατανοητό (πλέον), θα το δοκιμάσω με την πρώτη ευκαιρία, σε ευχαριστώ πολύ! Κάτι ακόμα, σχετικό με αυτό: Υπάρχει η δυνατότητα, όπως ορίζω τα χρώματα (<define color="col_Txt" value="#c0c0c0"/>) και κατόπιν ένα επιθυμώ τα εναλλάσσω μέσω μεταβλητής, να κάνω το ίδιο και με το font?
geposted Thu 26 Sep 19 @ 9:50 am