Όχι.
Η βασική αρχή ενός skin είναι οτι ο χρήστης κάνει "κλικ" σε κάτι, ακόμα κι αν αυτό είναι αόρατο.
Μπορείς να "στήσεις" repeat scripts που να κάνουν monitor μεταβλητές και αναλόγως να πράττουν τα δέοντα. Αλλά δεν είναι και η καλύτερη λύση.
Είναι γενικά ένα επικίνδυνο μονοπάτι
Η βασική αρχή ενός skin είναι οτι ο χρήστης κάνει "κλικ" σε κάτι, ακόμα κι αν αυτό είναι αόρατο.
Μπορείς να "στήσεις" repeat scripts που να κάνουν monitor μεταβλητές και αναλόγως να πράττουν τα δέοντα. Αλλά δεν είναι και η καλύτερη λύση.
Είναι γενικά ένα επικίνδυνο μονοπάτι
Posted Wed 08 Apr 20 @ 9:26 am
PhantomDeejay wrote :
Όχι.
Η βασική αρχή ενός skin είναι οτι ο χρήστης κάνει "κλικ" σε κάτι, ακόμα κι αν αυτό είναι αόρατο.
Μπορείς να "στήσεις" repeat scripts που να κάνουν monitor μεταβλητές και αναλόγως να πράττουν τα δέοντα. Αλλά δεν είναι και η καλύτερη λύση.
Είναι γενικά ένα επικίνδυνο μονοπάτι
Η βασική αρχή ενός skin είναι οτι ο χρήστης κάνει "κλικ" σε κάτι, ακόμα κι αν αυτό είναι αόρατο.
Μπορείς να "στήσεις" repeat scripts που να κάνουν monitor μεταβλητές και αναλόγως να πράττουν τα δέοντα. Αλλά δεν είναι και η καλύτερη λύση.
Είναι γενικά ένα επικίνδυνο μονοπάτι
κατάλαβα ... φαντάζομαι ο λόγος είναι να μην μπορεί το skin να σου κρεμάσει το πρόγραμμα ....
δυο τελευταίες ερωτήσεις και σόρυ για το πρήξιμο ...
πως ορίζω μεταβλητές στο skin που μπορώ να τις δω/αλλάξω από τα script στο μαπινγ της κονσόλας;
τι πρέπει να γράψω στο μαπινγ ενός encoder γα να κάνω cycle τις τιμές μιας μεταβλητής (enc_value) από 1 (ή από 0, ότι είναι ποιο εύκολο ) έως την την τιμή μιας άλλης μεταβλητής (upper_limit) ;
Posted Wed 08 Apr 20 @ 8:37 pm
Ένα encoder (και όχι slider) στέλνει σχετικές τιμές +1/-1
Έτσι ο κώδικας του είναι πολύ απλός. π.χ. set '$MyEncoderValue' +1
Αν το δοκιμάσεις όμως έτσι σκέτο δεν θα σου δουλέψει σωστά. Θα κάνει μόνο αύξηση της μεταβλητής οπότε στην ουσία θες:
param_bigger 0 ? set '$MyEncoderValue' +1 : set '$MyEncoderValue' -1
Αν θες να ορίσεις και ανώτατο ή κατώτατο όριο (ή και τα δύο) υπάρχουν πολλοί τρόποι να το κάνεις.
Αν θεωρήσουμε οτι θες τιμές από 0 μέχρι 10 τότε για μένα ο πιο σωστός κώδικας είναι:
param_bigger 0 ? var_equal '$MyEncoderValue' 10 ? nothing : set '$MyEncoderValue' +1 : var_equal '$MyEncoderValue' 0 ? nothing : set '$MyEncoderValue' -1
Υπάρχει και τρόπος να κάνεις την μεταβλητή να πάει ping-pong αν θες. Δηλαδή όταν φτάνει στο 10 να γυρνάει στο 0, και όταν φτάνει στο 0 να πηδάει στο 10. Είτε πειράζοντας τον παραπάνω κώδικα, είτε χρησιμοποιώντας την εντολή cycle.
Πειραματίσου πρώτα έτσι, και αν χρειαστεί να την μετατρέψεις σε ping pong μιλάμε.
Σημείωση το όνομα της μεταβλητής $MyEncoderValue είναι τυχαίο. Μπορείς να βάλεις ότι θέλεις αλλά λόγω του πως δουλεύουν οι μεταβλητές (τοπικές ανά deck ή καθολικές σε όλο το πρόγραμμα) για τη δουλειά που συζητάμε θα πρέπει να ξεκινάει με το σήμα του δολαρίου $ ώστε να είναι καθολική.
Έτσι ο κώδικας του είναι πολύ απλός. π.χ. set '$MyEncoderValue' +1
Αν το δοκιμάσεις όμως έτσι σκέτο δεν θα σου δουλέψει σωστά. Θα κάνει μόνο αύξηση της μεταβλητής οπότε στην ουσία θες:
param_bigger 0 ? set '$MyEncoderValue' +1 : set '$MyEncoderValue' -1
Αν θες να ορίσεις και ανώτατο ή κατώτατο όριο (ή και τα δύο) υπάρχουν πολλοί τρόποι να το κάνεις.
Αν θεωρήσουμε οτι θες τιμές από 0 μέχρι 10 τότε για μένα ο πιο σωστός κώδικας είναι:
param_bigger 0 ? var_equal '$MyEncoderValue' 10 ? nothing : set '$MyEncoderValue' +1 : var_equal '$MyEncoderValue' 0 ? nothing : set '$MyEncoderValue' -1
Υπάρχει και τρόπος να κάνεις την μεταβλητή να πάει ping-pong αν θες. Δηλαδή όταν φτάνει στο 10 να γυρνάει στο 0, και όταν φτάνει στο 0 να πηδάει στο 10. Είτε πειράζοντας τον παραπάνω κώδικα, είτε χρησιμοποιώντας την εντολή cycle.
Πειραματίσου πρώτα έτσι, και αν χρειαστεί να την μετατρέψεις σε ping pong μιλάμε.
Σημείωση το όνομα της μεταβλητής $MyEncoderValue είναι τυχαίο. Μπορείς να βάλεις ότι θέλεις αλλά λόγω του πως δουλεύουν οι μεταβλητές (τοπικές ανά deck ή καθολικές σε όλο το πρόγραμμα) για τη δουλειά που συζητάμε θα πρέπει να ξεκινάει με το σήμα του δολαρίου $ ώστε να είναι καθολική.
Posted Wed 08 Apr 20 @ 10:11 pm
ok .. κατανοητό .... το $MyEncoderValue πρέπει να το δηλώσω κάπου στο skin , και αν ναι πως ;
Edit : παιζει κανένας free xml editor που να εχει και tree view;
Edit : παιζει κανένας free xml editor που να εχει και tree view;
Posted Wed 08 Apr 20 @ 10:54 pm
Εννοείται οτι πρέπει να προσαρμόσεις και το skin κάπως ώστε να σου δείχνει κάτι.
Δώσε μου λίγες ώρες να σου ετοιμάσω κάτι δοκιμαστικό...
Υ.Γ.: Για MAC ή Windows ?
Στο MAC είχα το sublime αν θυμάμαι καλά (έκανα πριν 5 μέρες format)
Στα Windows χρησιμοποιώ το Notepad++
Δώσε μου λίγες ώρες να σου ετοιμάσω κάτι δοκιμαστικό...
Υ.Γ.: Για MAC ή Windows ?
Στο MAC είχα το sublime αν θυμάμαι καλά (έκανα πριν 5 μέρες format)
Στα Windows χρησιμοποιώ το Notepad++
Posted Thu 09 Apr 20 @ 12:28 am
PhantomDeejay wrote :
Εννοείται οτι πρέπει να προσαρμόσεις και το skin κάπως ώστε να σου δείχνει κάτι.
εννοώ αν πρέπει να την δηλώσω κάπου πριν την επισημοποιήσω .... αλλά από ότι βλέπω μάλλον δεν χρειάζεται ...
το Notepad++ έχω βάλει και εγώ αλλά δεν βλέπω tree view
PhantomDeejay wrote :
Δώσε μου λίγες ώρες να σου ετοιμάσω κάτι δοκιμαστικό...
Δώσε μου λίγες ώρες να σου ετοιμάσω κάτι δοκιμαστικό...
αν δεν έχεις χρόνο μην ασχολήσε .... ευχαριστώ πάντως σε κάθε περίπτωση ...
Posted Thu 09 Apr 20 @ 5:57 am
πολύ ωραίος !!!!
επόμενη ερώτηση ... (το έχεις καταλάβει ότι ανοίξαμε φάμπρικα :-) )
μπορώ να έχω ένα custom button που δεν θα φαίνεται πουθενά και δεν θα ζωγραφίζει τίποτα στο skin , και το action του θα το σετάρω εγώ από το skin ?
αν ναι , γράψε μου μια γραμμή xml που θα το κάνει αυτό να την κολλήσω σε ενα πάνελ ....
επόμενη ερώτηση ... (το έχεις καταλάβει ότι ανοίξαμε φάμπρικα :-) )
μπορώ να έχω ένα custom button που δεν θα φαίνεται πουθενά και δεν θα ζωγραφίζει τίποτα στο skin , και το action του θα το σετάρω εγώ από το skin ?
αν ναι , γράψε μου μια γραμμή xml που θα το κάνει αυτό να την κολλήσω σε ενα πάνελ ....
Posted Thu 09 Apr 20 @ 10:37 pm
Δεν χρειάζεσαι καν γραμμή στο skin
Η εντολή custom_button 90 π.χ. απ' όπου κι αν κληθεί θα εκτελέσει την εντολή που υπάρχει σ' αυτό το button.
Τα custom buttons αποθηκεύονται στις ρυθμίσεις του προγράμματος.
Και για να γράψεις τι θα κάνει π.χ. το button 90 απλά εκτελείς την εντολή custom_button_edit 90
Η εντολή custom_button 90 π.χ. απ' όπου κι αν κληθεί θα εκτελέσει την εντολή που υπάρχει σ' αυτό το button.
Τα custom buttons αποθηκεύονται στις ρυθμίσεις του προγράμματος.
Και για να γράψεις τι θα κάνει π.χ. το button 90 απλά εκτελείς την εντολή custom_button_edit 90
Posted Thu 09 Apr 20 @ 11:06 pm
PhantomDeejay wrote :
Δεν χρειάζεσαι καν γραμμή στο skin
Η εντολή custom_button 90 π.χ. απ' όπου κι αν κληθεί θα εκτελέσει την εντολή που υπάρχει σ' αυτό το button.
Τα custom buttons αποθηκεύονται στις ρυθμίσεις του προγράμματος.
Και για να γράψεις τι θα κάνει π.χ. το button 90 απλά εκτελείς την εντολή custom_button_edit 90
Η εντολή custom_button 90 π.χ. απ' όπου κι αν κληθεί θα εκτελέσει την εντολή που υπάρχει σ' αυτό το button.
Τα custom buttons αποθηκεύονται στις ρυθμίσεις του προγράμματος.
Και για να γράψεις τι θα κάνει π.χ. το button 90 απλά εκτελείς την εντολή custom_button_edit 90
οκ όλα αυτά ...
άλλα αυτό που θέλω νά κάνω είναι το το action του custom_button να το αποφασίζω στο skin σε συνάρτηση με άλλες μεταβλητές ...
αυτό πχ.
[quote=PhantomDeejay
var_equal '$Scroller' 24 ? custom_button 24 : var_equal '$Scroller' 25 ? custom_button 25 : var_equal '$Scroller' 26 ? custom_button 26 : var_equal '$Scroller' 27 ? custom_button 27 : var_equal '$Scroller' 28 ? custom_button 28 : var_equal '$Scroller' 29 ? custom_button 29 : var_equal '$Scroller' 30 ? custom_button 30 : var_equal '$Scroller' 31 ? custom_button 31 : var_equal '$Scroller' 32 ? custom_button 32 : var_equal '$Scroller' 33 ? custom_button 33 : var_equal '$Scroller' 34 ? custom_button 34 : var_equal '$Scroller' 35 ? custom_button 35 : var_equal '$Scroller' 36 ? custom_button 36 : var_equal '$Scroller' 37 ? custom_button 37 : var_equal '$Scroller' 38 ? custom_button 38 : var_equal '$Scroller' 39 ? custom_button 39 : var_equal '$Scroller' 40 ? custom_button 40 : var_equal '$Scroller' 41 ? custom_button 41 : var_equal '$Scroller' 42 ? custom_button 42 : var_equal '$Scroller' 43 ? custom_button 43 : var_equal '$Scroller' 44 ? custom_button 44 : var_equal '$Scroller' 45 ? custom_button 45 : var_equal '$Scroller' 46 ? custom_button 46 : nothing
[/quote]
... θέλω να γίνετε μεσα στο skin, ώστε να μπορεις να κανεις περιπλοκα πράγματα, χορίς να χρειάζεται ο χρήστης να γράφει περίπλοκα spripts στο μαπινγκ
στο encoder
param_bigger 0 ? custom_button 90 : custom_button 91
και στο encoder click
custom_button 92
αντε και ενα κουμπί ακομα που θα κάνει back (για να μπορείς να κάνεις navigation σε διάφορα panels του skin )
custom_button 93
γίνεται ?
Posted Fri 10 Apr 20 @ 12:11 am
Αν εννοείς να βάλεις όλον τον κώδικα που σου έγραψα παραπάνω σε 3 custom buttons και αυτά με τη σειρά τους να "καλούν" άλλα custom buttons ναι γίνεται
Και το ωραίο είναι οτι δεν χρειάζεται να πειράξεις κανένα skin και θα δουλεύει και σε όλα τα skins.
Απλά είναι λίγο επικίνδυνο μονοπάτι και πρέπει να είσαι πολύ προσεκτικός με τον κώδικα.
Για το Vectro:
1. Σε ένα custom button γράφεις custom_button_edit 90
2. Το πατάς.
3. Γράφεις τι θες να κάνει
4. Όταν κλείσεις το παράθυρο το button 90 δεν υπάρχει πουθενά στο skin
5. Κάνεις δεξί κλικ στο button που χρησιμοποίησες πριν. Θα δεις οτι ο κώδικας του είναι custom_button_edit 90
6. Το αλλάζεις σε custom_button_edit 91
7. Επαναλαμβάνεις τα βήματα 3-5 όσες φορές χρειαστεί
8. Όταν τελειώσεις σβήνεις τελείως τον κώδικα από το custom button
Και το ωραίο είναι οτι δεν χρειάζεται να πειράξεις κανένα skin και θα δουλεύει και σε όλα τα skins.
Απλά είναι λίγο επικίνδυνο μονοπάτι και πρέπει να είσαι πολύ προσεκτικός με τον κώδικα.
Για το Vectro:
1. Σε ένα custom button γράφεις custom_button_edit 90
2. Το πατάς.
3. Γράφεις τι θες να κάνει
4. Όταν κλείσεις το παράθυρο το button 90 δεν υπάρχει πουθενά στο skin
5. Κάνεις δεξί κλικ στο button που χρησιμοποίησες πριν. Θα δεις οτι ο κώδικας του είναι custom_button_edit 90
6. Το αλλάζεις σε custom_button_edit 91
7. Επαναλαμβάνεις τα βήματα 3-5 όσες φορές χρειαστεί
8. Όταν τελειώσεις σβήνεις τελείως τον κώδικα από το custom button
Posted Fri 10 Apr 20 @ 10:53 am
χμχμχμ ... οχι , αυτο που προσπαθώ να κανω ειναι διαφορετικό ... ειναι μια ιδεα μαλλον out of the box ... αλλα προιποθέτει να μπορεις να σεταρεις το action των custom buttons απο το skin , που απο οτι ειδα μάλλον δεν γινεται ... σοστά;
παρ ολα αυτα θα περιγραψω απο κάτω την ιδέα μου για ότι αξίζει ...
παρ ολα αυτα θα περιγραψω απο κάτω την ιδέα μου για ότι αξίζει ...
Posted Fri 10 Apr 20 @ 11:09 am
ο στόχος είναι να μπορείς να σεταρεις (και ενδεχομένως να απεικονίσεις ) περισσότερη πληροφορία στο skin χωρίς ποντίκι , και χωρίς ο χρήστης να χρειάζεται να γράφει πολύπλοκα scripts στο mapping του controller του
Ας υποθέσουμε οτι έχουμε 6 πανελς που μας ενδιαφέρει να σετάμε στοιχεία τους
τα πανελς 1 2 3 4 έχουν από 10 στοιχεία ( πχ τα πανελ με τα GQ QC,QL ktl στα 4 decks)
το πάνελ 5 έχει 4 στοιχεία (πχ τα πανελ του κεντρικού μηκτη)
και το πανελ 5 έχει 20 στοιχεία από τα οποία 2 ξεδιπλώνουν μενού επιλογών, το πρώτο με 5 επιλογές(track rating) και το δεύτερο με 10(track color) (πχ το command bar πάνω από τον browser )
ζητάς από τον χρήστη να σου μαπάρει 4 κουμπιά (ή εναν encoder και δυο κουμπιά) που θα καλούν 4 custom buttons , ας τα ονομάσουμε pointer+ , pointer- , set/select και back/exit
χρειαζόμαστε ακόμα τις μεταβλητές
panel_pointer (με τιμές 0-5 ) που μας δείχνει σε ποιο πάνελ κάνουμε φοκους,
panel_selected (με τιμές 0-6 ) που μας δείχνει σε ποιο πάνελ έχουμε μπει ,
panel_1_pointer ,panel_2_pointer, panel_3_pointer,panel_4_pointer (με τιμές 0-9 )
panel_5_pointer(με τιμές 0-3 )
panel_6_pointer(με τιμές 0-19 )
menu_1_pointer(με τιμές 0-4 )
menu_1_pointer(με τιμές 0-9 )
και στο skin σετάρεις τα actions των custom buttons ώστε
τα pointer+ , pointer-
αν panel_selected =0 θα κάνουν cycle τον panel_pointer
αν panel_selected =1 θα κάνουν cycle τον panel_1_pointer
αν panel_selected =2 θα κάνουν cycle τον panel_2_pointer
κτλ
το set/select
αν panel_selected =0 θα κάνει το panel_selected=panel_pointer δηλαδή θα μπαίνεις στο πάνελ που έχεις κάνει φόκους
αν panel_selected !=0 θα εκτελεις το action που έχει το κουμπί που δείχνει ο panel_x_pointer
και το back/exit θα κάνει τον panel_selected =0
εντάξει , το navigation θα είναι λίγο ποιο πολύπλοκο γιατι έχεις και τα κουμπιά που ξεδιπλώνουν μενού άλλα νομίζω κατάλαβες το concept ....
τα υπόλοιπα τα καταλαβαίνεις ... διαμορφώνεις το skin να κάνει highlight τα πάνελ/στοιχεία που δείχνουν οι pointers κτλ
και προφανώς το script του set/select θα είναι 5-6 σελίδες , doable για σένα (τόσους παπάδες έχεις κάνει , ένας πάνω ένας κάτω δεν έχει και μεγάλη διαφορά :-) ) ή για κάποιον που μπορεί να φτιάξει τέτοιας πολυπλοκότητας skin , άλλα οχι όμως και για τον μέσο user ...
όλα αυτά βέβαια θα ήταν ποιο εύκολα αν τα κουμπιά του skin μπορούσαν να δεχτούν "κλίκ" και από script ....
αυτή είναι εν ολίγοις η ιδέα και ελπίζω να αξίζει μιά πεντάρα, ακόμα και αν δεν γίνετε τώρα με τα διαθέσιμα εργαλεία ...
Ας υποθέσουμε οτι έχουμε 6 πανελς που μας ενδιαφέρει να σετάμε στοιχεία τους
τα πανελς 1 2 3 4 έχουν από 10 στοιχεία ( πχ τα πανελ με τα GQ QC,QL ktl στα 4 decks)
το πάνελ 5 έχει 4 στοιχεία (πχ τα πανελ του κεντρικού μηκτη)
και το πανελ 5 έχει 20 στοιχεία από τα οποία 2 ξεδιπλώνουν μενού επιλογών, το πρώτο με 5 επιλογές(track rating) και το δεύτερο με 10(track color) (πχ το command bar πάνω από τον browser )
ζητάς από τον χρήστη να σου μαπάρει 4 κουμπιά (ή εναν encoder και δυο κουμπιά) που θα καλούν 4 custom buttons , ας τα ονομάσουμε pointer+ , pointer- , set/select και back/exit
χρειαζόμαστε ακόμα τις μεταβλητές
panel_pointer (με τιμές 0-5 ) που μας δείχνει σε ποιο πάνελ κάνουμε φοκους,
panel_selected (με τιμές 0-6 ) που μας δείχνει σε ποιο πάνελ έχουμε μπει ,
panel_1_pointer ,panel_2_pointer, panel_3_pointer,panel_4_pointer (με τιμές 0-9 )
panel_5_pointer(με τιμές 0-3 )
panel_6_pointer(με τιμές 0-19 )
menu_1_pointer(με τιμές 0-4 )
menu_1_pointer(με τιμές 0-9 )
και στο skin σετάρεις τα actions των custom buttons ώστε
τα pointer+ , pointer-
αν panel_selected =0 θα κάνουν cycle τον panel_pointer
αν panel_selected =1 θα κάνουν cycle τον panel_1_pointer
αν panel_selected =2 θα κάνουν cycle τον panel_2_pointer
κτλ
το set/select
αν panel_selected =0 θα κάνει το panel_selected=panel_pointer δηλαδή θα μπαίνεις στο πάνελ που έχεις κάνει φόκους
αν panel_selected !=0 θα εκτελεις το action που έχει το κουμπί που δείχνει ο panel_x_pointer
και το back/exit θα κάνει τον panel_selected =0
εντάξει , το navigation θα είναι λίγο ποιο πολύπλοκο γιατι έχεις και τα κουμπιά που ξεδιπλώνουν μενού άλλα νομίζω κατάλαβες το concept ....
τα υπόλοιπα τα καταλαβαίνεις ... διαμορφώνεις το skin να κάνει highlight τα πάνελ/στοιχεία που δείχνουν οι pointers κτλ
και προφανώς το script του set/select θα είναι 5-6 σελίδες , doable για σένα (τόσους παπάδες έχεις κάνει , ένας πάνω ένας κάτω δεν έχει και μεγάλη διαφορά :-) ) ή για κάποιον που μπορεί να φτιάξει τέτοιας πολυπλοκότητας skin , άλλα οχι όμως και για τον μέσο user ...
όλα αυτά βέβαια θα ήταν ποιο εύκολα αν τα κουμπιά του skin μπορούσαν να δεχτούν "κλίκ" και από script ....
αυτή είναι εν ολίγοις η ιδέα και ελπίζω να αξίζει μιά πεντάρα, ακόμα και αν δεν γίνετε τώρα με τα διαθέσιμα εργαλεία ...
Posted Fri 10 Apr 20 @ 12:44 pm
Εάν έχω καταλάβει σωστά, αυτό που θα ήθελες να κάνεις, χωρίζεται σε 2 σκέλη...
Το 1ο σκέλος, αφορά την απεικόνιση αυτή καθεαυτή...
Έχεις ένα panel, το οποίο περιλαμβάνει κάποια buttons. Στην κάτωθι εικόνα, δες τα controls (unload, cue, play, previous, next).
Κατόπιν εστιάζεις στο εν λόγω panel, το οποίο πλέον είναι highlighted. Στην κάτωθι εικόνα παρατήρησε το ελαφρώς εντονότερο border του panel των controls.
Και τέλος, κατόπιν "εντολής", το συγκεκριμένο panel απεικονίζει άλλα buttons. Στην κάτωθι εικόνα έχουμε πλέον τα buttons που αλλάζουν το Jog Mode σε: Loop In, Loop Move, Loop Out, Browser, Search.
Όσον αφορά στην απεικόνιση, δεν κατάλαβα εάν τελικά αυτό εννοείς. Εάν ναι, όπως βλέπεις γίνεται (όπως για παράδειγμα στο skin που ετοιμάζω) και φυσικά αφορά πάρα πολλά panels του...
Το 2ο σκέλος, αφορά τον τρόπο επίτευξης της απεικόνισης. Στο δικό μου skin, επιτυγχάνω το highlighted με mouse over πάνω στο εκάστοτε panel και right click, για την εναλλαγή.
Εσύ, αυτό που επιθυμείς, είναι να το επιτύχεις μέσω knob του controller (mapping), το οποίο θα κάνει "cycling" το focus των panels και με push του knob, θα αλλάζει το focused panels.
Εάν και σε αυτό δεν κάνω λάθος, τότε το "cycling" δεν ξέρω κατά πόσο γίνεται προγραμματιστικά, αλλά δε νομίζω ότι έχει πρακτική ουσία. Για παράδειγμα, στο δικό μου skin, υπάρχουν καμιά 20αριά panels που "αλλάζουν" σε κάθε layout. Οπότε για σκέψου εάν και κατά πόσο αυτό είναι πρακτικό, έναντι της χρήσης mouse...
Υ.Γ. Εάν δεν κατάλαβα ορθά το σκεπτικό σου, διόρθωσέ με, καθότι το θέμα είναι αρκετά ενδιαφέρον...
Το 1ο σκέλος, αφορά την απεικόνιση αυτή καθεαυτή...
Έχεις ένα panel, το οποίο περιλαμβάνει κάποια buttons. Στην κάτωθι εικόνα, δες τα controls (unload, cue, play, previous, next).
Κατόπιν εστιάζεις στο εν λόγω panel, το οποίο πλέον είναι highlighted. Στην κάτωθι εικόνα παρατήρησε το ελαφρώς εντονότερο border του panel των controls.
Και τέλος, κατόπιν "εντολής", το συγκεκριμένο panel απεικονίζει άλλα buttons. Στην κάτωθι εικόνα έχουμε πλέον τα buttons που αλλάζουν το Jog Mode σε: Loop In, Loop Move, Loop Out, Browser, Search.
Όσον αφορά στην απεικόνιση, δεν κατάλαβα εάν τελικά αυτό εννοείς. Εάν ναι, όπως βλέπεις γίνεται (όπως για παράδειγμα στο skin που ετοιμάζω) και φυσικά αφορά πάρα πολλά panels του...
Το 2ο σκέλος, αφορά τον τρόπο επίτευξης της απεικόνισης. Στο δικό μου skin, επιτυγχάνω το highlighted με mouse over πάνω στο εκάστοτε panel και right click, για την εναλλαγή.
Εσύ, αυτό που επιθυμείς, είναι να το επιτύχεις μέσω knob του controller (mapping), το οποίο θα κάνει "cycling" το focus των panels και με push του knob, θα αλλάζει το focused panels.
Εάν και σε αυτό δεν κάνω λάθος, τότε το "cycling" δεν ξέρω κατά πόσο γίνεται προγραμματιστικά, αλλά δε νομίζω ότι έχει πρακτική ουσία. Για παράδειγμα, στο δικό μου skin, υπάρχουν καμιά 20αριά panels που "αλλάζουν" σε κάθε layout. Οπότε για σκέψου εάν και κατά πόσο αυτό είναι πρακτικό, έναντι της χρήσης mouse...
Υ.Γ. Εάν δεν κατάλαβα ορθά το σκεπτικό σου, διόρθωσέ με, καθότι το θέμα είναι αρκετά ενδιαφέρον...
Posted Fri 10 Apr 20 @ 4:55 pm
Theios Giorgos wrote :
Το 1ο σκέλος, αφορά την απεικόνιση αυτή καθεαυτή...
Το 1ο σκέλος, αφορά την απεικόνιση αυτή καθεαυτή...
αυτό είναι το εύκολο κομμάτι , ιδικά όταν από την αρχή έχεις προβλέψει borders γύρο από τα πάνελ και τα κουμπιά σου , οπός φέρνετε να έχεις κάνει ...
Theios Giorgos wrote :
Το 2ο σκέλος, αφορά τον τρόπο επίτευξης της απεικόνισης. Στο δικό μου skin, επιτυγχάνω το highlighted με mouse over πάνω στο εκάστοτε panel και right click, για την εναλλαγή.
Εσύ, αυτό που επιθυμείς, είναι να το επιτύχεις μέσω knob του controller (mapping), το οποίο θα κάνει "cycling" το focus των panels και με push του knob, θα αλλάζει το focused panels.
Εάν και σε αυτό δεν κάνω λάθος, τότε το "cycling" δεν ξέρω κατά πόσο γίνεται προγραμματιστικά, αλλά δε νομίζω ότι έχει πρακτική ουσία. Για παράδειγμα, στο δικό μου skin, υπάρχουν καμιά 20αριά panels που "αλλάζουν" σε κάθε layout. Οπότε για σκέψου εάν και κατά πόσο αυτό είναι πρακτικό, έναντι της χρήσης mouse...
Το 2ο σκέλος, αφορά τον τρόπο επίτευξης της απεικόνισης. Στο δικό μου skin, επιτυγχάνω το highlighted με mouse over πάνω στο εκάστοτε panel και right click, για την εναλλαγή.
Εσύ, αυτό που επιθυμείς, είναι να το επιτύχεις μέσω knob του controller (mapping), το οποίο θα κάνει "cycling" το focus των panels και με push του knob, θα αλλάζει το focused panels.
Εάν και σε αυτό δεν κάνω λάθος, τότε το "cycling" δεν ξέρω κατά πόσο γίνεται προγραμματιστικά, αλλά δε νομίζω ότι έχει πρακτική ουσία. Για παράδειγμα, στο δικό μου skin, υπάρχουν καμιά 20αριά panels που "αλλάζουν" σε κάθε layout. Οπότε για σκέψου εάν και κατά πόσο αυτό είναι πρακτικό, έναντι της χρήσης mouse...
εδω η λέξη απεικόνιση δεν είναι η πιο σωστή ... το ζητούμενο είναι με ποιόν τρόπο ο χρήστης θα περάσει την πληροφορία στο skin για το τι θέλει να να κάνει ...
από ότι βλέπω δεν υπάρχουν και πολλές εναλλακτικές άρα το mouse over - right click ειναι μια καλή λύση ....
τα πολλά ρυθμιζόμενα πάνελς βάζουν πολυπλοκότητα στον προγραμματισμό άλλα αν τα ομαδοποιήσεις σωστά νομίζω δεν θα είναι πρόβλημα να κάνεις navigation με ένα encoder ...
... θεωρώ "πρόβλημα " να πιάνεις το mouse την ώρα που παίζεις , και γενικά η κατεύθυνση που πάει το πράγμα είναι να μην σηκώνεις χεριά από τον controller ...
... πριν μερικά χρόνια ήταν φυσιολογικό να δουλεύει κάποιος τον browser με ποντίκι ... σήμερα είναι μάλλον αδιανόητο ... σήμερα όλοι οι controllers έχουν ένα ή δυο σετ encoder/κουμπιά για να χειρίζεσαι τον browser , αύριο μπορεί να έχουν αντίστοιχα σετ για να κάνεις navigation και ρυθμίσεις πάνω στο skin/ui ...
Posted Fri 10 Apr 20 @ 6:47 pm
MAC II wrote :
ο στόχος είναι να μπορείς να σεταρεις (και ενδεχομένως να απεικονίσεις ) περισσότερη πληροφορία στο skin χωρίς ποντίκι , και χωρίς ο χρήστης να χρειάζεται να γράφει πολύπλοκα scripts στο mapping του controller του
Ας υποθέσουμε οτι έχουμε 6 πανελς που μας ενδιαφέρει να σετάμε στοιχεία τους
τα πανελς 1 2 3 4 έχουν από 10 στοιχεία ( πχ τα πανελ με τα GQ QC,QL ktl στα 4 decks)
το πάνελ 5 έχει 4 στοιχεία (πχ τα πανελ του κεντρικού μηκτη)
και το πανελ 5 έχει 20 στοιχεία από τα οποία 2 ξεδιπλώνουν μενού επιλογών, το πρώτο με 5 επιλογές(track rating) και το δεύτερο με 10(track color) (πχ το command bar πάνω από τον browser )
ζητάς από τον χρήστη να σου μαπάρει 4 κουμπιά (ή εναν encoder και δυο κουμπιά) που θα καλούν 4 custom buttons , ας τα ονομάσουμε pointer+ , pointer- , set/select και back/exit
χρειαζόμαστε ακόμα τις μεταβλητές
panel_pointer (με τιμές 0-5 ) που μας δείχνει σε ποιο πάνελ κάνουμε φοκους,
panel_selected (με τιμές 0-6 ) που μας δείχνει σε ποιο πάνελ έχουμε μπει ,
panel_1_pointer ,panel_2_pointer, panel_3_pointer,panel_4_pointer (με τιμές 0-9 )
panel_5_pointer(με τιμές 0-3 )
panel_6_pointer(με τιμές 0-19 )
menu_1_pointer(με τιμές 0-4 )
menu_1_pointer(με τιμές 0-9 )
και στο skin σετάρεις τα actions των custom buttons ώστε
τα pointer+ , pointer-
αν panel_selected =0 θα κάνουν cycle τον panel_pointer
αν panel_selected =1 θα κάνουν cycle τον panel_1_pointer
αν panel_selected =2 θα κάνουν cycle τον panel_2_pointer
κτλ
το set/select
αν panel_selected =0 θα κάνει το panel_selected=panel_pointer δηλαδή θα μπαίνεις στο πάνελ που έχεις κάνει φόκους
αν panel_selected !=0 θα εκτελεις το action που έχει το κουμπί που δείχνει ο panel_x_pointer
και το back/exit θα κάνει τον panel_selected =0
εντάξει , το navigation θα είναι λίγο ποιο πολύπλοκο γιατι έχεις και τα κουμπιά που ξεδιπλώνουν μενού άλλα νομίζω κατάλαβες το concept ....
τα υπόλοιπα τα καταλαβαίνεις ... διαμορφώνεις το skin να κάνει highlight τα πάνελ/στοιχεία που δείχνουν οι pointers κτλ
και προφανώς το script του set/select θα είναι 5-6 σελίδες , doable για σένα (τόσους παπάδες έχεις κάνει , ένας πάνω ένας κάτω δεν έχει και μεγάλη διαφορά :-) ) ή για κάποιον που μπορεί να φτιάξει τέτοιας πολυπλοκότητας skin , άλλα οχι όμως και για τον μέσο user ...
όλα αυτά βέβαια θα ήταν ποιο εύκολα αν τα κουμπιά του skin μπορούσαν να δεχτούν "κλίκ" και από script ....
αυτή είναι εν ολίγοις η ιδέα και ελπίζω να αξίζει μιά πεντάρα, ακόμα και αν δεν γίνετε τώρα με τα διαθέσιμα εργαλεία ...
Ας υποθέσουμε οτι έχουμε 6 πανελς που μας ενδιαφέρει να σετάμε στοιχεία τους
τα πανελς 1 2 3 4 έχουν από 10 στοιχεία ( πχ τα πανελ με τα GQ QC,QL ktl στα 4 decks)
το πάνελ 5 έχει 4 στοιχεία (πχ τα πανελ του κεντρικού μηκτη)
και το πανελ 5 έχει 20 στοιχεία από τα οποία 2 ξεδιπλώνουν μενού επιλογών, το πρώτο με 5 επιλογές(track rating) και το δεύτερο με 10(track color) (πχ το command bar πάνω από τον browser )
ζητάς από τον χρήστη να σου μαπάρει 4 κουμπιά (ή εναν encoder και δυο κουμπιά) που θα καλούν 4 custom buttons , ας τα ονομάσουμε pointer+ , pointer- , set/select και back/exit
χρειαζόμαστε ακόμα τις μεταβλητές
panel_pointer (με τιμές 0-5 ) που μας δείχνει σε ποιο πάνελ κάνουμε φοκους,
panel_selected (με τιμές 0-6 ) που μας δείχνει σε ποιο πάνελ έχουμε μπει ,
panel_1_pointer ,panel_2_pointer, panel_3_pointer,panel_4_pointer (με τιμές 0-9 )
panel_5_pointer(με τιμές 0-3 )
panel_6_pointer(με τιμές 0-19 )
menu_1_pointer(με τιμές 0-4 )
menu_1_pointer(με τιμές 0-9 )
και στο skin σετάρεις τα actions των custom buttons ώστε
τα pointer+ , pointer-
αν panel_selected =0 θα κάνουν cycle τον panel_pointer
αν panel_selected =1 θα κάνουν cycle τον panel_1_pointer
αν panel_selected =2 θα κάνουν cycle τον panel_2_pointer
κτλ
το set/select
αν panel_selected =0 θα κάνει το panel_selected=panel_pointer δηλαδή θα μπαίνεις στο πάνελ που έχεις κάνει φόκους
αν panel_selected !=0 θα εκτελεις το action που έχει το κουμπί που δείχνει ο panel_x_pointer
και το back/exit θα κάνει τον panel_selected =0
εντάξει , το navigation θα είναι λίγο ποιο πολύπλοκο γιατι έχεις και τα κουμπιά που ξεδιπλώνουν μενού άλλα νομίζω κατάλαβες το concept ....
τα υπόλοιπα τα καταλαβαίνεις ... διαμορφώνεις το skin να κάνει highlight τα πάνελ/στοιχεία που δείχνουν οι pointers κτλ
και προφανώς το script του set/select θα είναι 5-6 σελίδες , doable για σένα (τόσους παπάδες έχεις κάνει , ένας πάνω ένας κάτω δεν έχει και μεγάλη διαφορά :-) ) ή για κάποιον που μπορεί να φτιάξει τέτοιας πολυπλοκότητας skin , άλλα οχι όμως και για τον μέσο user ...
όλα αυτά βέβαια θα ήταν ποιο εύκολα αν τα κουμπιά του skin μπορούσαν να δεχτούν "κλίκ" και από script ....
αυτή είναι εν ολίγοις η ιδέα και ελπίζω να αξίζει μιά πεντάρα, ακόμα και αν δεν γίνετε τώρα με τα διαθέσιμα εργαλεία ...
Υπάρχουν δύο βασικά θέματα.
1) Η απεικόνιση. Αυτό γίνεται σε επίπεδο skin όπως στο παράδειγμα που σου ανέβασα (αν πρόσεξες τα μικρά τετράγωνα στα custom buttons)
Η απεικόνιση γίνεται αναγκαστικά μέσω κάποιων μεταβλητών.
Επομένως το navigation μετά πρέπει να χρησιμοποιεί τις μεταβλητές. Όσο περισσότερες μεταβλητές, τόσο πιο πολύπλοκο θα είναι το script του navigation, ειδικά αν μιλάμε για ένα και μόνο encoder.
Για να μην γράφεις μακρινάρια στο mapping του controller θα μπορούσες να αποθηκεύσεις το μακρινάρι αυτό σε ένα custom_button (που π.χ δεν θα είναι ορατό ή π.χ. στο vectro θα ήταν ορατό μόνο στο παράθυρο των ρυθμίσεων.
Το πρόβλημα όμως παραμένει, οτι το skin δεν μπορεί να αποθηκεύσει κάτι στα custom_buttons
Άρα πάλι θα χρειαζόταν copy/paste
2) Η εκτέλεση. Ισχύουν τα ίδια, αλλά σε πολύ πιο πολύπλοκο βαθμό. Επειδή δεν υπάρχει η "εντολή" button click πρέπει το click του encoder που εκτελεί την εντολή να περιέχει στην ουσία ΟΛΕΣ τις εντολές ΟΛΩΝ των κουμπιών που κάνεις navigation.
Μαζί με το ίδιο το navigation, φαντάζεσαι πόσο πολύπλοκο θα γίνει το script.
Και πάλι μπορείς να το αποθηκεύσεις σε κάποιο custom button, αλλά πάλι θα πρέπει να κάνεις copy/paste τον κώδικα.
Κοινώς δεν γίνεται να φτιάξεις ένα skin που με μόνο 3 απλές εντολές σε ένα encoder θα μπορείς να κάνεις αυτό που θες.
Είναι αδύνατο με βάση τον σημερινό κώδικα της VDJ Script.
Σημείωση:
Το Vectro έχει πολλές συντομεύσεις και "έξυπνα" features "κρυμμένα" στο δεξί κλικ, ή σε μεταβλητές κτλ.
Αλλά δεν τα χρησιμοποιεί σχεδόν κανένας.
Στο SilverSleek 2 αν θυμάμαι καλά είχα φτιάξει πολύ περισσότερα που με "λίγες" αλλαγές στο mapping ενός encoder (ή ακόμα και του jog) μπορούσες να κάνεις σχεδόν τα πάντα χωρίς ποντίκι.
Κανένας χρήστης δεν έδωσε σημασία, όσο κι αν το "διαφήμιζα"
Έτσι στο SilverSleek 3 και αργότερα στο Vectro κράτησα μόνο αυτά που χρειάζομαι εγώ.
Για παράδειγμα και τα δύο έχουν ένα "On Screen BPM Editor" άν κάνεις δεξί κλικ πάνω στο BPM του deck
Αυτός ο BPM editor μπορεί πολύ εύκολα να ελεγθεί από τον controller σου και έτσι να διορθώνεις το Grid πολύ εύκολα χωρίς να πιάσεις ποντίκι.
Αλλά όσο κι αν τον έχω διαφημίσει, οι περισσότεροι αγνοούν την ύπαρξη του.... :P
Τέλος: Το ποντίκι ναι είναι κακό. Αλλά επειδή όλοι σχεδόν παίζουμε με laptop, το touchpad έχει και τα καλά του.
Προσωπικά παρόλο που έχω κάνει τρελά remapping στις κονσόλες μου, δεν μπορώ να κάνω browse μόνο με την κονσόλα. Χρησιμοποιώ περίπου κατά 75% το touchpad και κατά 25% την κονσόλα. Αυτό που πράγματι θα ήθελα να δω, θα ήταν touchpad πάνω σε κονσόλα!!!
Posted Fri 10 Apr 20 @ 7:10 pm
PhantomDeejay wrote :
προσπερνώ ολα αυτα που λέτε γιατι απλα δε καταλαβαινω Χριστό ;) και απαντω πως εχει βγαλει η maudio το exponent αλλα και η american audio αν δε κανω λεθος ειχε καποιο vms με touchpad!Αυτό που πράγματι θα ήθελα να δω, θα ήταν touchpad πάνω σε κονσόλα!!!
Posted Fri 10 Apr 20 @ 7:29 pm
@ PhantomDeejay
εσύ που είσαι μέσα στα πράγματα , πες τους να προσθέσουν κάποια στιγμή ένα button click ... πόσο τραγικό μπορεί να είναι ... :-)
πάντως, σε ότι με αφορά, και επειδή το είχα ξαναδεί που το έλεγες για το SilverSleek 2 , στο Vectro , μετά που είδα τα διάφορα layouts πέρασα το ποντίκι πάνω από όλο σχεδόν το skin να δω στα info το RC ...
... αλλά ρε φίλε , πέρα από την πολυπλοκότητα του Vectro , με εντυπωσίασε το πόσο δομημένα προγραμματίζεις , (και σκέψου ότι δεν εχω ιδέα από xml και άρα καταλαβαίνω το πολύ ενα -5-10% αυτών που βλέπω ) ... το ότι για να προσθέσεις τα μικρά τετραγωνάκια στα custom buttons χρειάστηκε μόνο μια γραμμή κωδικά , εντάξει , ουάου !!!! ...
τεσπα ... επιστροφή στην πραγματικότητα ... θα προσπαθήσω να ανεβάσω τα master efects στο top bar και να μα πάρω μερικά κουμπιά από το browser command bar σε έναν encoder οπότε θα χρειαστώ λίγη βοήθεια ακόμα , αυτή τη φορά σε πραγματικά και οχι μεταφυσικά προβλήματα ....
εσύ που είσαι μέσα στα πράγματα , πες τους να προσθέσουν κάποια στιγμή ένα button click ... πόσο τραγικό μπορεί να είναι ... :-)
πάντως, σε ότι με αφορά, και επειδή το είχα ξαναδεί που το έλεγες για το SilverSleek 2 , στο Vectro , μετά που είδα τα διάφορα layouts πέρασα το ποντίκι πάνω από όλο σχεδόν το skin να δω στα info το RC ...
... αλλά ρε φίλε , πέρα από την πολυπλοκότητα του Vectro , με εντυπωσίασε το πόσο δομημένα προγραμματίζεις , (και σκέψου ότι δεν εχω ιδέα από xml και άρα καταλαβαίνω το πολύ ενα -5-10% αυτών που βλέπω ) ... το ότι για να προσθέσεις τα μικρά τετραγωνάκια στα custom buttons χρειάστηκε μόνο μια γραμμή κωδικά , εντάξει , ουάου !!!! ...
τεσπα ... επιστροφή στην πραγματικότητα ... θα προσπαθήσω να ανεβάσω τα master efects στο top bar και να μα πάρω μερικά κουμπιά από το browser command bar σε έναν encoder οπότε θα χρειαστώ λίγη βοήθεια ακόμα , αυτή τη φορά σε πραγματικά και οχι μεταφυσικά προβλήματα ....
Posted Fri 10 Apr 20 @ 7:49 pm
Για τα master effects δώσε μου 1-2 μέρες...
Posted Fri 10 Apr 20 @ 9:05 pm
Στον Browser μου εμφανίζει στο τέλος του κάθε τίτλου και τι αρχείο είναι π.χ. mp3 mp4 κλπ Πως γίνετε να μην το εμφανίζει ( για εξοικονόμηση σου χώρου ) Εχω επιλέξει όνομα αρχείου
Posted Thu 23 Apr 20 @ 12:22 pm
Βαλε τιτλο αρχειου
Posted Fri 24 Apr 20 @ 5:38 am