Connexion rapide:  

Forum: Greek Forum

Sujet ΔΗΜΙΟΥΡΓΙΑ SKIN - Page: 15

Cette partie de ce topic est ancien et peut contenir des informations obselètes ou incorrectes

Μια διευκρίνηση, παρακαλώ...

<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 που έχω δημιουργήσει. Γιατί?
 

Posté Mon 26 Aug 19 @ 8:52 am
Αν θυμάμαι καλά οτιδήποτε εμφανίζεται με Yes/No στα settings ανοιγοκλείνει με on/off
Οπότε δοκίμασε action="setting 'writeHistory' on"
 

Posté Mon 26 Aug 19 @ 3:27 pm
Δυστυχώς δεν "λειτουργεί" ούτε έτσι...
 

Posté Tue 03 Sep 19 @ 5:35 am
djsadimPRO InfinityMember since 2006
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 που έχω δημιουργήσει. Γιατί?


PhantomDeejay wrote :
Αν θυμάμαι καλά οτιδήποτε εμφανίζεται με Yes/No στα settings ανοιγοκλείνει με on/off
Οπότε δοκίμασε 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>
 

Posté Tue 03 Sep 19 @ 6:19 am
Σωστός ο παίκτης! Σε ευχαριστώ πολύ...
 

Posté 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.

Ευχαριστώ προκαταβολικά...
 

Posté 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 και ξεμπερδεύεις.
Εκτός κι αν δεν κατάλαβα τι θες να κάνεις...
 

Posté 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" ή υπάρχει πιο εύκολος και συνοπτικός τρόπος (π.χ. κατά την "κλήση" τους)?
 

Posté 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>
 

Posté 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? Μόνον γραφικό?


Ευχαριστώ προκαταβολικά...
 

Posté 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

 

Posté Thu 19 Sep 19 @ 5:05 pm
Ευχαριστώ Master...

Επειδή έχουμε των "περιορισμό" των beats, γεγονός το οποίο μόλις δοκίμασα και δεν εξυπηρετεί, μήπως υπάρχει τρόπος να αποδώσουμε το συνολικό χρόνο μέχρι το επόμενο cue? Δοκίμασα το source="cue_display timeleft & param_cast percentage", αλλά χωρίς αποτέλεσμα... :-(
 

Posté Thu 19 Sep 19 @ 5:41 pm
Γιώργο, πέρα από το άνωθεν θέμα, στο οποίο αναμένω απάντησή σου όταν μπορέσεις, μία ακόμη ερώτηση:

Πώς μπορώ να αλλάζω ένα panel (toggle="var_equal '@$... ... ...' ") κάνοντας κλικ επάνω στην "area" του και όχι μέσω button ή menu? Το μόνο που μπόρεσα να σκεφτώ, είναι να ορίσω το background του ως "button", αλλά δε νομίζω ότι είναι και ο καλύτερος τρόπος...
 

Posté Fri 20 Sep 19 @ 5:54 am
Theios Giorgos wrote :
Ευχαριστώ Master...

Επειδή έχουμε των "περιορισμό" των 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", αλλά δε νομίζω ότι είναι και ο καλύτερος τρόπος...

Ναι, αυτός είναι ο μόνος τρόπος.
Σημείωση: Δώσε προσοχή στη σειρά των στοιχείων ώστε να μπορείς να κάνεις κλικ σε οτι χρειάζεται/θες.

 

Posté 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?

Ευχαριστώ...
 

Posté Mon 23 Sep 19 @ 5:28 am
Ο πιο σωστός τρόπος είναι τα panels.
Τα groups δημιουργήθηκαν αρχικά για άλλο σκοπό. Αλλά τελικά μετά από αρκετές αναβαθμίσεις και προσθήκες στις δυνατότητες τους έχουν γίνει σχεδόν συνώνυμα και ισοδύναμα των panels.
Ο κώδικας και η συμπεριφορά των panels όμως είναι πολύ πιο δοκιμασμένος και χρησιμοποιημένος σε σχέση με αυτόν των groups (για τη χρήση που ρωτάς πάντα)
 

Posté Mon 23 Sep 19 @ 7:01 am
Thnx Master...
 

Posté 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, εάν και εφόσον το έχω επιλέξει.

Γίνεται και εάν ναι, ποιος είναι ο πλέον ορθός τρόπος?
 

Posté 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
 

Posté Thu 26 Sep 19 @ 8:42 am
Κατανοητό (πλέον), θα το δοκιμάσω με την πρώτη ευκαιρία, σε ευχαριστώ πολύ! Κάτι ακόμα, σχετικό με αυτό: Υπάρχει η δυνατότητα, όπως ορίζω τα χρώματα (<define color="col_Txt" value="#c0c0c0"/>) και κατόπιν ένα επιθυμώ τα εναλλάσσω μέσω μεταβλητής, να κάνω το ίδιο και με το font?
 

Posté Thu 26 Sep 19 @ 9:50 am
80%