Pinnacle Systems Torq - 2.0 User Manual

Torq Controller
®
Assignments
User Guide
Version 2.0
Legal Notices
This guide is copyrighted ©2011 by Avid Technology, Inc., with all rights reserved. Under copyright laws, this guide may not be duplicated in whole or in part without the written consent of Avid Technology, Inc.
Avid, the Avid logo, Pro Tools M-Audio, Torq, Conectiv, and Traq Morph are either trademarks or registered trademarks of Avid Technology, Inc. iTunes and iPod are registered trademarks of Apple, Inc. All other trademarks contained herein are the property of their respective owners.
Product features, specifications, system requirements, and availability are subject to change without notice.
Guide Part Number 9329-65150-00 REV A 02/11
Documentation Feedback
We are always looking for ways to improve our documentation. If you have comments, corrections, or suggestions regarding our documentation, email us at techpubs@avid.com.
Chapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Purpose of This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Using the Controller Assignment Page Vs. Right Click Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Chapter 2. Controller Assignments Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Accessing the Controller Assignments Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Chapter 3. Assignments Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
MIDI Assignment Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Chapter 4. MIDI Input Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Creating MIDI Input Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Chapter 5. Keyboard Input Assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Key Assignment Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Chapter 6. MIDI Output Assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
MIDI Output Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Creating MIDI Output Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Chapter 7. Control States. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Configuring Control States within Controller Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Multiple Conditions and Control States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
User States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Creating a multi function mapping using Control States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Setting up User State Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Appendix A. Controller Assignment Function List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Appendix B. Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Warranty Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Contentsiii

Chapter 1: Introduction

Purpose of This Guide

This User Guide provides details about the extensive and powerful features of the Torq® 2.0 Controller Assign­ments Page.
In addition to the MIDI control assignment and MIDI Learn methods detailed in Chapter 14 of the Torq User Guide, Torq also lets you make highly detailed control assignments via the Controller Assignments Page. Us­ing the Controller Assignments Editor (see Chapter 3, “Assignments Editor”) you can view, edit, or create hardware control assignments for qualified control hardware such as Torq Xponent, as well as the keys on your computer keyboard.
This functionality also allows you to edit and create output of feedback or information from Torq to qualified control hardware such as Torq Xponent. An example of this output information is the pre-configured MIDI LED Sync, which causes the buttons on your hardware to flash in time with the Master Tempo in Torq (see Chapter 12 of the Torq 2.0 User guide). If you are not using a qualified third party Torq controller, you can use the Controller Assignments Page to create custom assignments for your hardware.
Although, the Controller Assignment Page is an extremely powerful tool, you should really take the time to familiarize yourself with Torq in as much detail as possible before attempting to change or create co ntroller as­signments. However, you can always reset qualified controllers to their default mappings by clicking the reset button.
Torq 2.0 Controller Assignments User Guide
1
Chapter 1: Introduction

Using the Controller Assignment Page Vs. Right Click Mapping

Most Torq functions are easily mapped by right-clicking the parameter in the Torq interface. On qualified hardware, right click mapping not only maps the external controller to a Torq function, it also automatically configures feedback if your external controller has bi-directional MIDI feedback. This illuminates the corre­sponding button when the function is engaged in Torq (if the hardware supports it). Additionally, the right click mapping sets up any default secondary or shift functionality associated with the Torq feature.
Because of this, it may be quicker and easier to use right click mapping through the Controller Assignment Page. The Cue function is a good example of this. Right clicking and mapping this function creates 3 map­pings, which are also viewable in the device’s Controller Assignment Window:
1 Cue Action – the default Cue behavior assignment for the button
2 SetCuePoint – the shift click or alternate functionality associated with the cue button
3 CueLEDState – the MIDI feedback assignment which allows Torq to light up the MIDI controller button to
show that the function is engaged.
In this example, it is useful to map using a right click, given the time involved to set up the controller assign­ments.
However, some controls, such as wheels or platters on MIDI controllers require the use of the Controller As­signment Page to configure and are too complex to map with a simple right click. In many cases, the use of the Controller Assignment Page is necessary to configure items such as endless rotary encoders or non stan­dard controllers. Additionally, the Controller Assignment Page gives an additional level of customization. With it, it is possible to invert knobs values, create new secondary functions to buttons and limit the range of a knob or slider. The Controller Assignment Window can also be used to configure VU meters and other visual feedback mechanisms if your MIDI controller supports them.
Keep in mind that the vast majority of buttons and knobs are right clickable, and therefore the right click is a good place to start when mapping a MIDI controller. If necessary, functions that were mapped via right clicked can later be further edited via the Controller Assignment Page.
Torq 2.0 Controller Assignments User Guide
2
Chapter 1: Introduction

Chapter 2: Controller Assignments Page

Accessing the Controller Assignments Page

Torq Preferences Icon
To access the Controller Assignments Page click on the Preferences icon in the Torq Toolbar, and then click the Controller Assignments button at the bottom of the Preferences screen. Once the Controller Assignments Page opens you will see that it displays the parameters and buttons explained below, whenever you select an assignment from the list or create a new one.
Torq Controller Assignments Page - MIDI Input

Device

Clicking this pop-up menu displays a list of connected control devices that are connected to you computer, including the computer keyboard itself. Choosing one of these option lets you edit or create control assign­ments specific to that device.
Refer to Chapter 5, “Keyboard Input Assignments” for more information about assigning the keys on your computer keyboard to Torq functions and parameters.

Import Button

This button lets you import previously saved or backed-up controller assignments for the selected control de­vice by clicking this button and navigating to the folder where the assignments file (in XML format) is located. Once you have found the file click “Open” (Mac) or “Ok” (Windows) to load the assignments into Torq.
Torq 2.0 Controller Assignments User Guide
3
Chapter 2: Controller Assignments Page

Export Button

Clicking this button lets you save all current controller assignments for the selected device to you hard drive as an XML file. It’s definitely a good idea to save your current assignments before making changes or creating new ones.

Reset Button

Clicking this button automatically recalls the factory controller assignments for the selected device, even if you’ve accidentally deleted all of the assignments.

Clear Button

Clicking this button deletes all current controller assignments for the selected device.

Filter Buttons

These buttons let you view the current assignments based on the type of function. The available function types are Global and Deck Based. This information is displayed in the Assignment List immediately below the Filter buttons. Clicking on an item in the Assignment List displays the Assignment details and parameters in Assignments Editor located in the lower half of the Controller Assignments Page. An explanation of each filter follows.

Input

Clicking this button displays the list of current controller assignments in the Assignments List for all assigned inputs. These assignments represent the mapping of hardware controls to the knobs, buttons and faders in the Torq GUI.

Output

Clicking the Output button displays the list of Output assignments in the Assignments List for all assigned outputs. These assignments represent the mapping of information sent from Torq to the various controls and displays on your hardware such as the Level Meters. This button is not available when mapping the keys on your computer keyboard to various Torq functions and parameters (see Chapter 5, “Keyboard Input Assign­ments”).
Refer to Chapter 6, “MIDI Output Assignments” for more information.

Global

Clicking this button in combination with the Input or Output buttons displays the list of assignments for Global functions such as the Crossfader and other Master Functions within Torq.

Deck Buttons (1 through 4)

These correspond to Decks A, B, C, and D respectively. Clicking any or all of them in combination with the Input or Output buttons displays the list of assignments for Deck functions such as Deck Speed, Looping, EQ functions and effects parameters on a per Deck basis.
Torq 2.0 Controller Assignments User Guide
4
Chapter 2: Controller Assignments Page

Chapter 3: Assignments Editor

MIDI Assignment Parameters

The MIDI Assignment Parameter section allows you to create new or edit existing controller assignments for any MIDI devices connected to the system. For example choosing “Deck1 -FXRACK - FX1 -Enable” from the list displays details about the assignment are displayed in Assignment Editor, located in the lower half of the Controller Assignments Page.
You can also click different combinations of Filter buttons, and select various assignments in the Assignments List to see the different options used for mapping various Torq functions. Any accidental changes or deletions can be restored by clicking the Reset button.
Torq Assignments Editor

MIDI Input

This box displays the name of the current selected assignment, or the name of the assignment your are editing or creating. For example, “Deck1 - FXRACK - FX1 -Enable.” If no assignment is selected, it will display "Un­assigned"

New Input Button

Clicking this button creates a new unassigned input assignment. In other words this assignment does not have a hardware control mapped to it. The mapping is achieved using the Learn button. See “Learn Button” on page 8
Torq 2.0 Controller Assignments User Guide
5
Chapter 3: Assignments Editor

New Output Button

Clicking this button creates a new unassigned output assignment. In other words this assignment is not mapped to a hardware destination. If no assignment is selected, it will display "Unassigned"
Refer to “Creating MIDI Output Assignments” on page 26 for more information.

Duplicate Button

Clicking this button copies the currently selected assignment. To save confusion the duplicate will appear at the bottom of the Assignment List. This useful when you want to create an assignment for another, similar hardware control. You can select an assignment, click the Duplicate button, and then edit the new version us­ing the parameters found in the Assignments Editor.

Delete Button

This button deletes the currently selected assignment.

Path Button

This button is labeled with the destination of the assignment within the Torq Engine. For Input Assignments, the path selects what parameter in Torq you want to control such as buttons, and knobs. For Output Assign­ments, the path selects which feedback parameter in Torq you want to be sent to your controller such as whether a Play button is lit or not. For example the Input Assignment“/EN­GINE/DECK1/MIXER/FXRACK/ENABLE corresponds to the Enable button for Effects Slot 1, on Deck A.
When editing or creating a new assignment, clicking on this button lets you select a new destination from a list that is displayed in a “Select Destination” screen that appears.
Refer to “Creating MIDI Input Assignments” on page 14 and “Creating MIDI Output Assignments” on page 26 for more information.

MIDI Message

This box displays the MIDI Message type that will be sent to Torq from your hardware controller when it is an input message or to your hardware controller if it is an output message. In this case Note (a MIDI Note value). The Message Type is determined by the individual hardware control (button, knob, slider or MIDI keyboard note) you assign to the Torq control by clicking the Learn button, and then moving or pressing the hardware control (see “Learn Button” on page 8).
You can also click on the message name and choose one of the following message types from the pop-up menu when editing or creating control assignments: “Control Change” (MIDI CC), Note, Note Range, and Pitch Wheel.

Note

When this MIDI Message is selected, a mapped Torq parameter will react to one specific MIDI note number.
Torq 2.0 Controller Assignments User Guide
6
Chapter 3: Assignments Editor

Note Range

This MIDI Message causes a mapped Torq parameter to react to a range of notes. Choosing Note Range adds an extra Note Range box to the left of the Learn button in the Assignment Editor. You can enter the range of notes (for example 12) in this box.
The Note Range message type is useful when mapping a range of keys on a keyboard to a Torq function such as a Mixer Channel Volume. In this instance, with a range of 12 notes, the first note sets the Volume fader to full volume while the 12th note sets it to Zero.

Control Change

Selecting the Control Change message causes a mapped Torq control to react to a Control Changes (MIDI CC) sent on a CC #..

Pitch Wheel

This MIDI message causes a mapped Torq control to react to Pitch Wheel messages.

MIDI Channel

The MIDI Channel box displays the MIDI Channel that the message is transmitted on. For this assignment this is set to channel 1. This is determined by the individual hardware control (button, knob, slider or MIDI keyboard note) you assign to the Torq control by clicking the Learn button, and then moving or pressing the hardware control (see “Learn Button” on page 8). You can also click the channel number, and select one of the 16 available MIDI channels or “Any.”

Note/CC Index

This displays either the MIDI CC (Control Change) number or MIDI Note number transmitted from your hardware to Torq. For example with “Deck1 - FXRACK - FX1 - Enable” selected in the Assignments List for Deck 1 Input Messages, this value is a MIDI CC.
Because each hardware button transmits a unique MIDI Note number, this note value is based on the hard­ware button you assign to the Torq control. This assignment is achieved by clicking the Learn button, pressing a button on your hardware (see “Learn Button” on page 8). On the other hand, if you already know the value that you need to use, you can double click on the number and enter a new MIDI CC or note number. When manually entering the MIDI Note number, the range of available MIDI Note numbers is 0 - 127 (Notes C0 to G9)

Index Fine

When editing or creating an assignment for a fader or knob on a hardware controller capable of simultane­ously transmitting two MIDI CC numbers, the Fine Index box displays the second MIDI CC number for any LSB message sent to Torq. This configures the hardware control for performing adjustments in finer detail. This box is automatically filled in if you are using qualified control hardware that simultaneously transmits standard MSB and LSB messages.
Torq 2.0 Controller Assignments User Guide
7
Chapter 3: Assignments Editor

Feedback Index

When mapping a hardware button to a Torq function, you can enter that same MIDI CC or Note number that appears in the Note/CC Index box so that the button illuminates when pressed. This provides visual confir­mation, based on feedback from Torq, that the MIDI message was successfully transmitted to the application.
The feedback index is not used to show the state of the mapped parameter, and will only light up if the button is pressed. For example, if the mapping controls the play button, it will not light up when the play button is engaged in Torq. To do this, another output controller assignment must be created. Please read the MIDI Output Assignments section of the manual on how to configure this functionality.

Learn Button

To assign a hardware control to a Torq function, click the Learn button and then press or move the control on your MIDI device. Once this is done, the hardware control is mapped to the software function. The various values listed in the Assignment Editor will update to reflect those transmitted to Torq whenever the hardware control is used.

Control Type

This box displays the control type used for the current control assignment. The available options are Button, Fader/Knob, Jog/Encoder, Radio Buttons, Keyboard Range, and On/Off Switch. You should choose the appro­priate control type for each individual parameter on the hardware controller you're assigning and how you would it to function.

Control Behaviors

Torq offers additional Control Behaviors based on the following control Control Types:

Button Action

This Control Behavior is available when you select Button as the control type. Clicking on the pop-up menu offers you the following choices which define the behavior of a button when it is pressed, and therefore how it is to be used:
Trigger Action
This lets you use a button, MIDI keyboard note, or key on your computer keyboard for functions such as Jump to Track End. In other words, tapping the button once will trigger the mapped function.
Hold-Action
When this option is selected the hardware button performs its assigned function for as long as the it is held down. This setting is typically used when assigning a button to functions like Seek Forward.
Torq 2.0 Controller Assignments User Guide
8
Chapter 3: Assignments Editor
Set To Value
This setting configures a button to send a specific value, based on the Button Value 1 setting. You can select the Button Value from the Button Value 1 pop-up menu, located immediately below the Button Action. The available choices are On or Off. This pair of setting is useful when mapping a hardware button to function such as Mode Selection. Values change depending on which parameter in Torq is being controlled. In some cases, this may be a number range, in others, it may be a states such as Play/Pause.
Toggle Values
This setting configures a hardware button to toggle or switch between two values each time it is pressed.These values can be chosen from the Button Value 1 and Button Value 2 pop-up menus located immediately below the Button Action. This combination of setting configures a button to switch a Torq function on an off, for ex­ample, an Enable button on an Effects Slot. As mentioned in Set To Value, the actual value may change de­pending on what parameter is being effected.
Toggle Def./Last
This option configures a button to toggle or switch between a default setting and a value you have set yourself. This can be used for mapping a button to a knob in Torq, such as an Amount knob for an Effects plug-in, tog­gle between zero and a position you have manually set it to.
Hold Value
When this option is selected, the hardware button sets its assigned function to a specific value, based on the Button Value 1 setting, for as long as the it is held down. You can select the Button Value from the Button Value 1 pop-up menu, located immediately below the Button Action. The available choices are On or Off. As mentioned in Set To Value, the actual value may change depending on what parameter is being effected.
If you are assigning a hardware button to a Torq fader or knob, such as the Amount knob on an Effects Slot, the Button Value 1 pop-up menu changes to a knob that you can use for setting the Button Value.
Inc. Value (Increment Value)
When mapping a button to a Torq fader or knob, such as the Amount knob for an Effects plug-in, the param­eter value of the knob will increment (increase) every time the button is pressed. As mentioned in Set To Value, the actual value may change depending on what parameter is being effected.
Dec. Value (Decrement Value)
When mapping a button to a Torq fader or knob, such as the Amount knob for an Effects plug-in, the param­eter value of the knob will decrement (decrease) every time the button is pressed. As mentioned in Set To Value, the actual value may change depending on what parameter is being effected.
You can set the amount that the knob will move each time the button is pressed using the following param­eters:
• Resolution - This knob lets you set the amount that the control is moved every time the hardware button is pressed. If you set this knob to a value of 4, the v alues of t he softwa re know wi ll change in units o f 4 every time the hardware button is pressed.
• Fine Resolution -This knob lets you configure the hardware button to move the control in smaller amounts every time it is pressed when certain conditions are set using the Condition and State settings.
Torq 2.0 Controller Assignments User Guide
9
Chapter 3: Assignments Editor
The following example explains how to configure a hardware button to increment the setting of a Torq knob using the using both the Resolution and Fine Resolution settings.
Here is an example of how to configure a Torq knob with both a regular and fine resolution:
1 Load a song onto Deck A.
2 Load the Strobe plug-in into Effects Slot 2 on Deck A, switch it on, and set the Rate to 1/16. Leave the
Amount knob set to 0.00%.
3 Open the Controller Assignments Page, and click the Input and Deck 1 Filter Buttons. These should be the
only active buttons (white in color).
4 Choose a “Deck1 - FXRack - FX2 - Mix” in the Assignments List.
5 Choose “Button” in the Control Type pop-up menu.
6 Click the Learn button on the right side of the Assignments Editor.
7 Press a button on your hardware controller. The button is now mapped to the Amount knob for Effects
Slot 2 on Deck A.
8 Choose “Inc. Value” from the Button Action pop-up menu.
9 Set the Resolution knob to about 4.
10 Set the Fine Resolution knob to about 2.
11 Click the Auto Repeat button. It will turn white. When this button active, the value set by the Amount
knob in Torq will continue to increase if you hold down the button on your hardware.
12 Choose “Shift” from the Condition 1 pop-up menu.
13 Choose “Pressed” from the State 1 pop-up menu.
14 Choose “Alt” from the Condition 2 pop-up menu.
15 Choose “Pressed” from the State 2 pop-up menu.
16 Click the click the “OR - Conditions” button.
17 Close the Controller Assignments Page, and the Torq Preferences.
18 Press F5 on your computer keyboard, and Press play on you hardware.
If you hold down the Shift button on your hardware and press the mapped button two or three times you’ll see the value of the Amount knob increase in increments of about 4% each time. Holding down the Alt key on your keyboard and pressing the button will raise the value in increments of about 2%.
Now hold down the Shift button on your controller and then hold down the mapped button. The value of the Amount knob continues to increase until you release the button.
If you want to, you can reset the edited controller assignment to the factory default by clicking the Reset but­ton on the upper right side of the Controller Assignments page.
Reset Value
This setting configure a mapped button to reset the value of a Torq control (such as an Amount or EQ knob) to its default setting after it has been adjusted.
Torq 2.0 Controller Assignments User Guide
10
Chapter 3: Assignments Editor

Auto-Repeat Button

When this button is active, holding down a mapped button causes the value of the assigned parameter to con­tinue changing until the button is released.

Knob Behavior

Soft Takeover Button
This option is only available for the Fader/Knob and Jog/Encoder control types. When this button is active (white in color) the hardware control will do a slow or soft takeover of its corresponding Torq control. This type of “Control Behavior” prevents unwanted value (and sound changes), when there is a difference between the position of an assigned hardware fader or knob, and its counterpart in Torq.

Jog/Encoder Behavior (Jog Types)

When assigning a Jog Wheel or Encoder to a Torq function, there are four different Jog Types to choose from. Types A through C are used with third party MIDI DJ controllers. You will need to try out each of these to see which one works best. Type D is reserved for when you are controlling a Deck with a controller that has MIDI scratch platters or large jog wheels, although other jog types may work depending on the make of your con­troller
Torq will most often select the correct Jog type when the learn action is performed. After the controller as­signment is configured, test it out and then switch the encoder type only if it does not work properly.

Additional Jog/Encoder Parameters.

Jog Sensitivity (JOG SENSIV.)
This parameter is available for Jog Types A though D, and sets the scratch or nudge sensitivity of the scratch wheel. Jog Sensitivity is not available for Jog Type D if the Jog Interaction parameter is set to “Set Deck Speed.”
Jog Acceleration (JOG ACCELER.)
This parameter is also available for Jog Types A through D. Turning this knob to the right results quicker re­actions to fast scratch movements by Torq. When the Jog Acceleration knob is set to zero, Torq’s the reaction time is governed by the Jog Sensitivity value. Jog Acceleration is not available for Jog Type D if the Jog Inter­action parameter is set to “Set Deck Speed.”
When configuring a scratch wheel, it is recommended to set the Jog Acceleration to 0.
Reset After Jog Use
This button is button is available for Jog Types A though C. When this button is activated it turn white, and the value of the mapped parameter will revert to its value prior to being adjusted by a jog wheel or encoder. This can be useful when controlling effect parameters. Reset After Jog Use is not available for Jog Type D if the Jog Interaction parameter is set to “Set Deck Speed.”
Torq 2.0 Controller Assignments User Guide
11
Chapter 3: Assignments Editor
Loading...
+ 31 hidden pages