Quick Sign In:  

Forum: Greek Forum

Topic: Controller Definition & Mapping

This topic is old and might contain outdated or incorrect information.

Με τον Denon MC6000Mk2 που διαθέτω, έχω παρατηρήσει τα ακόλουθα:

1. Όταν θέσω σε λειτουργία πρώτα τον controller και κατόπιν το VDj, το VDj δεν αναγνωρίζει αμέσως τις θέσεις των knobs - faders - etc. Λογικό...

2. Όταν θέσω σε λειτουργία πρώτα το VDj και κατόπιν τον controller, το VDj δίχνει (όχι πάντα) "λανθασμένες" ενδείξεις (στο skin που δημιουργώ και το οποίο έχει μηδενικές "ανοχές" τιμών).

Παράδειγμα Α: Κατά το άνοιγμα και μόλις το software "δει" τον controller, δείχνει μία τιμή στο Gain (π.χ. +30), η οποία φυσικά και είναι "ψευδής", αφού το knob είναι κεντραρισμένο. Μόλις κάνω loading song, η τιμή επανέρχεται "μόνη της" στο "0" ή μπορεί και να μην επανέλθει καθόλου, εάν δεν της κάνω χειροκίνητα reset...

Παράδειγμα B: Μόλις κάνω loading song, μπορεί να αλλάξει η τιμή του balance, χωρίς να έχω πειράξει τίποτε...

Τελικά, για όλα αυτά, θα ήταν "λύση" να συμπεριλάβω στο OnInit κάποια εντολή, όπως: reinit_controller?
 

Posted Fri 31 May 19 @ 5:42 am
Όχι.

Το "πρόβλημα" σου έχει συγκεκριμένη αιτία και δεν "λύνεται" παρά μόνο αν καταλάβεις γιατί δημιουργείται:

Οπότε:
1) Οι περισσότεροι controllers έχουν μια εντολή με βάση την οποία αναφέρουν στο πρόγραμμα την θέση διάφορων ποτενσιόμετρων (είτε γραμμικών είτε περιστροφικών)
2) Σε όσους controllers διαθέτουν τέτοια εντολή, η εντολή εκτελείται αυτόματα με το που το πρόγραμμα αναγνωρίζει τον controller
3) Κατά την εκκίνηση του προγράμματος (VirtualDJ) υπάρχει ένα μικρό χρονικό παράθυρο στο οποίο όταν το πρόγραμμα δεχθεί "εντολές" από τον controller τις εκτελεί αμέσως. Με λίγα λόγια, το πρόγραμμα μετακινεί τα ποτενσιόμετρα στην οθόνη για να ταιριάζουν με αυτά του controller.
4) Μετά την έλευση αυτού του χρονικού διαστήματος το πρόγραμμα εξακολουθεί και δέχεται μεν τις εντολές αρχικοποίησης της κονσόλας (την θέση των ποτενσιομέτρων κατά τη σύνδεση) ΑΛΛΑ δεν μετακινεί αυτόματα τα ποτενσιόμετρα στη νέα θέση (ανάλογα και με τις ρυθμίσεις takeover mode)
Αντίθετα, εμφανίζει "ghost" sliders τα οποία αντιπροσωπεύουν την θέση των knob της κονσόλας και πρέπει πρώτα να ταιριάξουν τα ghost με τα "κανονικά" sliders στην οθόνη προκειμένου να αρχίσουν να δουλεύουν.
Αυτό γίνεται για λόγους ασφαλείας. Π.χ. συνδέεις μια δεύτερη κονσόλα ενώ παίζεις ήδη και δεν θες η δεύτερη κονσόλα να μετακινήσει τα ποτενσιόμετρα όπου να 'ναι και να επηρεάσει τον ήχο. Ένα άλλο παράδειγμα αφορά την αποσύνδεση/επανασύνδεση μιας κονσόλας όπου στο μεσοδιάστημα κάποια ποτενσιόμετρα μπορεί να έχουν μετακινηθεί, κ.ο.κ.
5) Η Denon MC6000MKII αποτελεί από μόνη της "ειδική" περίπτωση. Για να δουλέψει η εντολή που στέλνει πίσω την θέση των ποτενσιομέτρων στο πρόγραμμα πρέπει απαραιτήτως να έχουν εγκατασταθεί οι ASIO drivers (ακόμα κι αν δεν χρησιμοποιούνται)
Χωρίς αυτούς εγκατεστημένους η κονσόλα ΔΕΝ στέλνει την θέση των ποτενσιόμετρων κατά τη σύνδεση της στο πρόγραμμα
6) Το ρυθμιστικό Gain επίσης αποτελεί "ειδική" περίπτωση. Για την διευκόλυνση της χρήσης του gain (σε συνδυασμό με το autoGain) αν στο skin σου είχες ένα knob τότε θα το έβλεπες σε γενικές γραμμές να συμφωνεί με την κονσόλα σου. Η τιμή που αναφέρει όμως είναι άλλο πράγμα... Κι αυτό γιατί υπάρχει αφενός η ρύθμιση του autogain και αφετέρου το gainSliderIncludesAutoGain.
Για να πάρεις μια "καλή" ένδειξη σε κείμενο (που θα συμφωνεί με τη ρύθμιση του Gain knob είτε στο skin είτε στον controller΄) θα πρέπει να χρησιμοποιήσεις το get_text '%Plevel'
7) Στο μήνυμα αρχικοποίησης δεν στέλνουν όλες οι κονσόλες πάντα την θέση από όλα τα ποτενσιόμετρα. Πολλές κονσόλες π.χ. δεν στέλνουν την θέση του Master Volume παρόλο που το ίδιο το Master Volume στέλνει εντολές MIDI.
Αν το Master Volume δεν είναι fake, κανονικά μόλις το κουνήσεις θα πρέπει να δεις Ghost Slider. Αν είναι fake τότε θα το δεις να πηδάει αυτόματα στη θέση που αναφέρει ο controller. Επειδή είναι fake η απότομη αλλαγή του δεν έχει καμία παρενέργεια στο πρόγραμμα και γι αυτό και δεν εμφανίζει ghost.
Στις περισσότερες "μοντέρνες" κονσόλες το master volume, headphones volume και headphones mix είναι fake.

Δεν ξέρω αν υπάρχει κάτι που δεν κάλυψα, αλλά τώρα που ξέρεις πως και γιατί εμφανίζονται ή δεν εμφανίζονται ghost και πως το VirtualDJ κάνει αρχικοποίηση στις κονσόλες νομίζω οτι θα καταλάβεις οτι δεν υπάρχει και "πρόβλημα" (ή τουλάχιστον πρόβλημα που να χρειάζεται "λύση" με κάποιο τρόπο)
 

Posted Fri 31 May 19 @ 12:07 pm
PhantomDeejay wrote :
...5) Η Denon MC6000MKII αποτελεί από μόνη της "ειδική" περίπτωση. Για να δουλέψει η εντολή που στέλνει πίσω την θέση των ποτενσιομέτρων στο πρόγραμμα πρέπει απαραιτήτως να έχουν εγκατασταθεί οι ASIO drivers (ακόμα κι αν δεν χρησιμοποιούνται)
Χωρίς αυτούς εγκατεστημένους η κονσόλα ΔΕΝ στέλνει την θέση των ποτενσιόμετρων κατά τη σύνδεση της στο πρόγραμμα
Εδώ νομίζω ότι είναι το "ζουμί", καθότι και ως γνωστόν οι ASIO drivers του Denon MC6000MKII είναι για τα πανηγύρια, οπότε τους είχα απεγκαταστήσει. Συνεπώς, τους ξανα-περνάω και απλά δεν τους χρησιμοποιώ...

PhantomDeejay wrote :
......6) Το ρυθμιστικό Gain επίσης αποτελεί "ειδική" περίπτωση. Για την διευκόλυνση της χρήσης του gain (σε συνδυασμό με το autoGain) αν στο skin σου είχες ένα knob τότε θα το έβλεπες σε γενικές γραμμές να συμφωνεί με την κονσόλα σου. Η τιμή που αναφέρει όμως είναι άλλο πράγμα... Κι αυτό γιατί υπάρχει αφενός η ρύθμιση του autogain και αφετέρου το gainSliderIncludesAutoGain. Για να πάρεις μια "καλή" ένδειξη σε κείμενο (που θα συμφωνεί με τη ρύθμιση του Gain knob είτε στο skin είτε στον controller΄) θα πρέπει να χρησιμοποιήσεις το get_text '%Plevel'
Αυτό έχω χρησιμοποιήσει...

Πέρα από αυτά, είδα διαφορά (προς το θετικό), όταν αντί του κώδικα π.χ.

action="param_equal gain 0.5 ? get_text '0.0' : param_smaller gain 0.5 ? get_text '+%Plevel' : get_text '%Plevel'"

το συνέταξα:

action="param_bigger 0.51 gain ? get_text '+%Plevel' : param_smaller 0.49 gain ? get_text '%Plevel' : get_text '0.0'"


Γιώργο σε ευχαριστώ πολύ, ήσουν απόλυτα κατανοητός...
 

Posted Fri 31 May 19 @ 5:08 pm


(Old topics and forums are automatically closed)