Download PBPCE from [[:pedal_box#Download|HERE]] ======Errata===== OK, for a start, i'm not a real programmer, I've never worked in an object oriented envioronment before. \\ This project has served my personal want to learn more about programming. So this is my first ever java application, without any formal training on the subject. It's buggy, cumbersome and lacks the finese of experienced programmers. But it makes working with PB a much more enjoyable experience. In the not too distant future I plan to completely re-write it from the ground up - implementing some of the things I have learned along the way right from the start, rather than hacking them in place. But thats a long way off yet! 15/12/09 - A new PC Editor is on the way (written in VB - I know, I know, but it's so much easier than java ^_^) \\ It has some cool stuff - like: \\ * ability to move items up and down the lists - and auto change the pedal/switch settings to match (sooo much simpler if you change your mind about the order of things) * Entire Expression Pedal swapping * Assign the same settings to a banked footswitch to the same number in all the banks * Movable buttons on the footswitch screen allow for a basic visual representation of your footswitch layout * + more I have a few hickups though, namely with getting the MIDI side of things to work. If anyone has experirnce with MIDI in VB - i'd love some help :-D ======PB PC Editor Manual====== =====Overview===== PBPCE provides a simple way to get information about your midi setup and setting into PB. It works with 3 file types - .syx .rbs .pbx \\ .syx you should be familiar with. A standard sysex file, it's the same as that created by the hextosyx.pl script from TK. \\ .rbs (raw bank stick) is a replica of the data stored on a MBHP bankstick. \\ .pbx is used by PBPCE to store your entire rigs information, Basically a collection of .rbs files in one big file. You need to have understanding of how PB works to use this. See the PB [[pedal_box:manual]] for more information ====Getting Started===== {{pedal_box:pbpc_front_window.jpg}} **New** - Opens a new Master Bankstick Window with default data loaded. This can be modified to suit your rig. **Load PBX file** - Opens up a saved .pbx file **Import Master File** - Opens a new Master Bankstick Window with data from a .rbs or .syx file. **MIDI IO Settings** - Tell PBPCE what midi input and output is connected to your PB Hardware. ========== =====Master Bankstick Window===== ====Overview==== This window features the bulk of the application. \\ The Tree on the left displays all the information and settings for your PB hardware. \\ The Selection editor is where you change the settings for the selected item in the tree. \\ It also has facilities to save, export and upload data to the master bankstick. {{http://www.durisian.com/midibox/PB/images/pbpce_master.jpg}} **Device name** - Name of your Midibox PB harware **Channel** - Channel which you Midibox PB hardware will respond to (important for Pedal Box users). \\ ====Selection Editor==== The Selection Editor allopws you to edit the selected information from any bankstick window. The last selected tree item will be displayed in the Selection Editor and allow you to edit settings. Settings are updated automatically. Information that is modifiable and the definition of each is dependant on what has been selected. **Name** - Used for Rig Control Patch names, Gig Control List names and Device value maps **Parameter** - Used by Device value maps to define mid parameter 2. **Status** - NO LONGER USED **Handler** - Used by Device Event information to define which handler PB should use when dealing with this midi event. **Bankstick** - Used by Rig Control, AIN and DIN maps to define which of your midi devices the midi command should be sent to. **Event Type** - Used by Rig Control, AIN and DIN maps to define the type of midi event. **Event** - Used by Rig Control, AIN and DIN maps to define what event should be triggered. **Low Value** - AIN and DIN maps to define the lowest value to be sent. **High Value** - Used by Rig Control, AIN and DIN maps to define the Highest (or only) value to be sent. **Option** - \\ Rig Control: Whether the event will be transmitted \\ AIN map: To configure whether or not the selected pedal will change settings dependated on the current Rog Control patch \\ DIN map: Toggle or Momentary action. \\ ====Opening Device Bankstick Windows==== **New** - Opens a new Device bankstick Window with default data for you modify. **Import** - opens a new Device bankstick Window with data from a saved .rbs or .syx file. \\ ====Saving Files==== **Export** - Save data from the bankstick window to a .rbs or .syx file. **Save** - Saves all open bankstick windows to a .pbx file. \\ ====Uploading information to your PB hardware==== **PIC ID** - Set the PIC ID of your PB hardware here. **use feedback from core** - uncheck if you don't wish to use feedback from the core during upload. **Send** - will open an upload window and immeditaly begin trasmitting data to the relevant bankstick. \\ ====Modifying Pedals / Analog Inputs==== * In the Tree open the AIN folder. A list of 8 inputs will appear. * Open the desired input. This time a list of settings is shown. Firstly Static? - This allows to edit whether or not this input will have different settings for each Rig Control Patch change. It is done with **Option** in the Selection editor. Next are Setting 0, Setting 1, Setting 2... etc.\\ The number corresponds the program change number of the Rig Control Patches. \\ if Static? is set to 'Static' then only Setting 0 is used. If set to change w/pc the setting of the current program change number will be used. * Select the desired Setting - set the device you want to control with the **Bankstick** setting - set the midi event type with **Event Type** - set the midi event you want with **Event**. If you have device banksticks loaded into PBPBE they will be listed by name if you the event type is set control change. - set the minimum and maximum values with **Low Value** and **High Value** ====Modifying Buttons==== * In the Tree open the DIN folder. A list of 144 settings will appear. \\ These are 'Static Button' 1-16 (You may not be using all of these) and 'Banked Button' 1-128. * Select the desired Setting - set the device you want to control with the **Bankstick** setting - set the midi event type with **Event Type** - set the midi event you want with **Event**. If you have device banksticks loaded into PBPBE they will be listed by name if you the event type is set to control change or program change. - set the low and high values with **Low Value** and **High Value** - set whether it will be toggle or momentary action with **Option** Toggle will switch between the low and high value. Momentary will be high when pressed and low when un-pressed. ===Set to a Rig Control Patch=== - set the **Bankstick** to 0 - set the **Event Type** to 'Program Change' - set the Patch with **Event** Low / High / Option settings have no effect on functionality ===Set to Prev/Next Cue=== - set the **Bankstick** to 0 - set the **Event Type** to 'Special' - Use **Event** to select prev or next cue Low / High / Option settings have no effect on functionality ===Set to a Relay=== - set the **Bankstick** to 0 - set the **Event Type** to 'Special' - Use **Event** to select the desired relay, they are listed after prev/next cue - set whether it will be toggle or momentary action with **Option** Toggle will switch between off and on. Momentary will be on when pressed and off when un-pressed. Low / High settings have no effect on functionality ====Modifying Rig Control==== * In the Tree open the Rig Control folder. A list of 128 patches will appear. * Open the desired patch. This time a list of 32 events and 8 relay settings (you may not be using any of these) is shown. * Select the desired Event or Relay - set the device you want to control with the **Bankstick** setting - set te midi event type with **Event Type**. - set the midi event you want with **Event**. If you have device banksticks loaded into PBPBE they will be listed by name when event type is Control Change or Program Change - set the values with **High Value** - make sure you enable the Event with **Option** - you can also set the name of the patch from any event with **Name** Only events with enabled set in the option box will be triggered. * For Relays - using **Option** you can set the relay on, off or no change. ====Modifying Gig Control==== * In the Tree open the Gig Control folder. A list of 128 cue lists will appear. * Open the desired list. This time a list of 128 cues are shown. * Select the desired Cue - set the Patch you want with **Event**. - you can also set the name of the cue list from any cue with **Name** ========== =====Device Bankstick Window===== Device Files are the link between your PB Harware and Midi Devices that it is controlling. \\ PB can not function correctly without them. This window is opened from the Master Bankstick Window. \\ ====Overview==== {{http://www.durisian.com/midibox/PB/images/pbpce_device.jpg}} Same as the Master Bankstick, all the information is displayed in a Tree. ====Creating Device Files==== **Device Name** - the name of the Midi Device that this file is for. **Channel** - The Midi channel that your device is set to recieve data. ===Modify information about events your device responds too=== CC's and Program changes can be named. The maps are shown in order, with their control number listed first. Let's use CC's as an example: - open the CC's folder a list of 128 is shown, something like this '0 | Reverb level' \\ the format - ' | ' \\ - select the desired control to name - set the name of the control with **Name** - set the way PB will handle this event with **Handler** (see [[pc_editor_manual#Event Handlers|Event Handlers]]). This is the same for the Program Change List. ===Modify the value maps=== Value maps can be selected as a handler for events in the Device Event List. * Open the desired Map folder. The first in the list is 'Entries: ##' - This number tells PB how many entries you are using in the list. This is followed by a list of 128 is entries in the format of ' | ' Not all need to be used, but they must be in order from lowest value to highest value, with no blank gaps. \\ Example: \\ on 0, 32, and 64. You want text to show, 'off', 'Quarter', and 'half'. You need to use the first 3 entries. * Entries: 3 * 1 | 0: Off * 2 | 32: Quarter * 3 | 64: Half * 4 | 0: * 5 | 0: * 6 | 0: * etc PB will use the name from the nearest lesser value. So at 40, the text would be 'Quarter'. - Select the desired entry. - Set the value with **Parameter** - Set the text associated with this value with **Name** - Repeat until done. - Select the Entries node at the top of the list and use **Parameter** to tell PB how many entries you have used ====Save Device Files==== **Export** - Files can be saved as a .rbs file for sharing with others. Or can be saved as a .syx file ====Upload Device Files==== Make sure your PIC ID has been set on the Master Bankstick Window and whether or not you want to use feedback from the core. **Send** - Will open the upload window and immediatly begin transmitting. ====Event Handlers==== The display and MIDI handling is dependant on the event definition. This is set in the Device Event List with **Handler**\\ There are 9 types: ^Handler ^Button MIDI ^Pedal MIDI ^LED ^LCD 2nd line ^ |PROGRAM_CHANGE |Guess... |N/A |Marks Current |Device Name | |ON_OFF_ONLY |Toggle 0/127 |N/A |0 = off 127 = on |On or Off | |TAP_TEMPO |127 |N/A |On when pressed |Tempo in BPM | |VALUE |Toggle Low/High |Scale Low - High|High = on, Other = off |value (decimal) | |METER_ONLY |Toggle Low/High |Scale Low - High|High = on, Other = off |approx. position meter | |METER_OFF |Toggle Low/High |Scale Low - High|High = on, Other = off |approx. position meter w/"off" when at 0 | |METER_ON_OFF |Toggle Low/High |Scale Low - High|High = on, Other = off |approx. position meter w/"off" when at 0 and "On" when at 127| |METER_PAN |Toggle Low/High |Scale Low - High|High = on, Other = off |approx. pan style meter | |USE_MAP_# |Toggle Low/High |Scale Low - High|High = on, Other = off |value map (10 available) | The event handler for each midi event is pre defined in the Device Event List. Pedals can not be mapped to event types of the first three. LCD first line is always the event name listed in the event map. ========================= ======Application Notes====== =====Known Bugs/Issues===== * Tree in the Master Bankstick window can sometimes adopt text from the Device Bankstick window when editing settings in the Device bankstick Please report bugs in the [[http://www.midibox.org/forum/index.php/topic,9770.30.html | Pedal Box forum thread ]] =====History===== * 0.6 - Updated to work with PB 2.5, + bug fixes * 0.5 - (2nd Beta) Improved MIDI In when using feedback, added magic number support, updated to new bankstick data format. * 0.4 - Fixed some bugs * 0.3 - (First Beta) added Upload via MIDI features * 0.2 - Improved GUI, added special file type for pb. * 0.1 - First incarnation, no midi support. Can translate to and from syx files. =====To Do===== * Re-make gui into a desktop window * Drag and Drop (one day, maybe) * Lot's of pretty-ing * Better code managment to improve performance