Skip to content

Commit

Permalink
Merge pull request #690 from fwcd/mc7000-jog-acceleration
Browse files Browse the repository at this point in the history
Denon MC7000: Document new jogwheel settings
  • Loading branch information
JoergAtGithub authored Aug 19, 2024
2 parents a9dfc25 + 86d7fdc commit 7265ead
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 3 deletions.
3 changes: 2 additions & 1 deletion netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
# also specified inline, and unsafe inline JS script blocks are allowed
# because it's needed for RTD theme navigation and the search function:
# https://github.com/readthedocs/sphinx_rtd_theme/issues/817
Content-Security-Policy = "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'"
# We also allow loading MathJax, which is needed to render math formulas.
Content-Security-Policy = "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' https://cdn.jsdelivr.net/npm/mathjax@3/ 'unsafe-inline'; font-src 'self' https://cdn.jsdelivr.net/npm/mathjax@3/"

# Disable all browser features that we don't need. Unfortunately
# there is no way to specify a default for all directives yet, so
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 51 additions & 2 deletions source/hardware/controllers/denon_mc7000.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,62 @@ improve the mapping, then please discuss it in the `Denon MC7000
Mapping <https://mixxx.discourse.group/t/denon-mc7000-mapping/18235>`__
thread.

Mapping Settings
~~~~~~~~~~~~~~~~

.. figure:: ../../_static/controllers/denon_mc7000_mapping_settings.png
:align: center
:width: 75%
:figwidth: 100%
:alt: Denon MC7000 mapping settings
:figclass: pretty-figures

Denon MC7000 mapping settings

The MC7000 mapping features a number of options that can be customized from the preferences under :guilabel:`Preferences` > :guilabel:`Controllers` after selecting your controller and the `DENON MC7000` mapping.

Jogwheel Settings
-----------------

.. csv-table::
:header: "Setting", "Variable", "Default", "Range", "Description"

Jogwheel sensitivity (:math:`s`), ``jogSensitivity``, 1.0, 0.05 to 10.0, "Sensitivity factor of the jog wheel (also depends on audio latency). Use 0.5 for half and 2 for double sensitivity. Recommendation:

Set to 0.5 with audio buffer set to 50ms

Set to 1 with audio buffer set to 25ms

Set to 3 with audio buffer set to 5ms"
Enable jogwheel acceleration, ``jogAccelerationEnabled``, ``false``, ``true``/``false``, "If enabled, the track speed will accelerate faster than the physical jogwheel movement."
Acceleration exponent (:math:`x`), ``jogAccelerationExponent``, 0.8, 0.0 to 20.0, The exponent of the acceleration curve
Acceleration coefficient (:math:`c`), ``jogAccelerationCoefficient``, 1.0, 0.05 to 20.0, The coefficient of the acceleration curve

Jogwheel Acceleration
^^^^^^^^^^^^^^^^^^^^^

Enabling jogwheel acceleration will increase the scratch speed in proportion to the physical speed at which the platters are turned, similar to Serato. The precise formula for computing the scratch speed :math:`S` from the physical platter ticks :math:`t` turned is as follows:

.. math::
S = \underbrace{st \vphantom{|}}_{\text{base speed}} \cdot \underbrace{c \cdot |st|^x}_{\text{acceleration factor}}
where

- :math:`s` is the jogwheel sensitivity
- :math:`t` is the number of physical platter ticks turned
- :math:`c` is the acceleration coefficient
- :math:`x` is the acceleration exponent

.. warning:: Be aware that the absolute track position will drift relative to the jogwheel position when enabling jogwheel acceleration! While this is convenient for scrubbing, this may make it less suitable for precise scratching.

.. hint:: An acceleration exponent :math:`x` of 0 and a coefficient :math:`c` of 1 are equivalent to no acceleration.

.. _denon_mc7000_uservariables:

User Variables
~~~~~~~~~~~~~~

User variables can be set to suit individual needs inside the :file:`Denon-MC7000-scripts.js` mapping file:
The mapping can further be customized to suit individual needs via user variables inside the :file:`Denon-MC7000-scripts.js` mapping file:

- ``MC7000.experimental`` activate :ref:`experimental beat count feature <denon_mc7000_experimental>` (default: ``false``)
- ``MC7000.needleSearchPlay`` activate :hwlabel:`NEEDLE DROP` sensor while a track is playing (default: ``false``)
Expand All @@ -59,7 +109,6 @@ User variables can be set to suit individual needs inside the :file:`Denon-MC700
- ``MC7000.modeSingleLED`` set single LED on or off (default: 1). Can be toggled with :hwlabel:`SHIFT` + :hwlabel:`Deck`
- ``MC7000.VinylModeOn`` set the Vinyl Mode on or off at Mixxx start which also triggers the Platter Ring LED function (default: 1)
- ``MC7000.scratchParams`` set Scratch Parameters (default: 33+1/3, 1/10, 1/10/32)
- ``MC7000.jogSensitivity`` set the Jog Sensitivity (default: 1)
- ``MC7000.SamplerQty`` set the sampler quantity (values 16 or 32, default: 16)


Expand Down

0 comments on commit 7265ead

Please sign in to comment.