]> Shamusworld >> Repos - ardour-manual-diverged/commitdiff
Minimal commit for Paul.
authorShamus Hammons <jlhamm@acm.org>
Sun, 29 Jan 2017 15:06:25 +0000 (09:06 -0600)
committerShamus Hammons <jlhamm@acm.org>
Sun, 29 Jan 2017 15:06:25 +0000 (09:06 -0600)
473 files changed:
README.md
_config.yml [deleted file]
_layouts/bootstrap.html [deleted file]
_layouts/default.html [deleted file]
_manual/01_welcome-to-ardour.html [deleted file]
_manual/01_welcome-to-ardour/01_about-ardour.html [deleted file]
_manual/01_welcome-to-ardour/01_about-ardour/01_isnt-this-a-really-complicated-program.html [deleted file]
_manual/01_welcome-to-ardour/01_about-ardour/02_why-write-a-daw-for-linux.html [deleted file]
_manual/01_welcome-to-ardour/01_about-ardour/03_why-is-it-called-ardour.html [deleted file]
_manual/01_welcome-to-ardour/01_about-ardour/04_why-write-another-daw.html [deleted file]
_manual/01_welcome-to-ardour/02_about-ardour-documentation.html [deleted file]
_manual/01_welcome-to-ardour/03_additional-resources.html [deleted file]
_manual/02_introducing-ardour.html [deleted file]
_manual/02_introducing-ardour/01_creating-music-with-ardour.html [deleted file]
_manual/02_introducing-ardour/02_understanding-basic-concepts-and-terminology.html [deleted file]
_manual/02_introducing-ardour/03_basic-gui-operations.html [deleted file]
_manual/02_introducing-ardour/03_basic-gui-operations/01_interface-elements.html [deleted file]
_manual/02_introducing-ardour/03_basic-gui-operations/02_selection-techniques.html [deleted file]
_manual/02_introducing-ardour/03_basic-gui-operations/03_tooltips.html [deleted file]
_manual/02_introducing-ardour/03_basic-gui-operations/04_undoredo-for-editing-.html [deleted file]
_manual/02_introducing-ardour/03_basic-gui-operations/05_using-the-mouse.html [deleted file]
_manual/02_introducing-ardour/03_basic-gui-operations/06_cut-and-paste-operations.html [deleted file]
_manual/02_introducing-ardour/03_basic-gui-operations/07_deleting-objects.html [deleted file]
_manual/02_introducing-ardour/03_basic-gui-operations/08_editing-clocks.html [deleted file]
_manual/03_setting-up-your-system.html [deleted file]
_manual/03_setting-up-your-system/01_the-right-computer-system-for-digital-audio.html [deleted file]
_manual/03_setting-up-your-system/02_mouse.html [deleted file]
_manual/03_setting-up-your-system/03_using-external-midi-devices.html [deleted file]
_manual/03_setting-up-your-system/04_connecting-audio-and-midi-devices.html [deleted file]
_manual/03_setting-up-your-system/05_setting-up-midi.html [deleted file]
_manual/03_setting-up-your-system/05_setting-up-midi/01_midi-on-os-x.html [deleted file]
_manual/03_setting-up-your-system/05_setting-up-midi/02_midi-on-linux.html [deleted file]
_manual/03_setting-up-your-system/06_using_more_than_one_audio_device.html [deleted file]
_manual/03_setting-up-your-system/07_platform-specifics.html [deleted file]
_manual/03_setting-up-your-system/07_platform-specifics/01_ubuntu-linux.html [deleted file]
_manual/03_setting-up-your-system/07_platform-specifics/02_microsoft-windows.html [deleted file]
_manual/03_setting-up-your-system/08_starting-ardour.html [deleted file]
_manual/04_meters.html [deleted file]
_manual/05_ardours-interface.html [deleted file]
_manual/05_ardours-interface/01_main-menu.html [deleted file]
_manual/05_ardours-interface/01_main-menu/01_Session-menu.html [deleted file]
_manual/05_ardours-interface/01_main-menu/02_Transport-menu.html [deleted file]
_manual/05_ardours-interface/01_main-menu/03_Edit-menu.html [deleted file]
_manual/05_ardours-interface/01_main-menu/04_Region-menu.html [deleted file]
_manual/05_ardours-interface/01_main-menu/05_Track-menu.html [deleted file]
_manual/05_ardours-interface/01_main-menu/06_View-menu.html [deleted file]
_manual/05_ardours-interface/01_main-menu/07_Window-menu.html [deleted file]
_manual/05_ardours-interface/01_main-menu/08_Help-menu.html [deleted file]
_manual/05_ardours-interface/02_status-bar.html [deleted file]
_manual/05_ardours-interface/03_the-transport-bar.html [deleted file]
_manual/05_ardours-interface/04_transport-clocks.html [deleted file]
_manual/05_ardours-interface/05_selection-and-punch-clocks.html [deleted file]
_manual/05_ardours-interface/06_status-indicators.html [deleted file]
_manual/05_ardours-interface/07_the-toolbox.html [deleted file]
_manual/05_ardours-interface/08_the-zoom-controls.html [deleted file]
_manual/05_ardours-interface/09_the-grid-controls.html [deleted file]
_manual/05_ardours-interface/10_the-edit-point-control.html [deleted file]
_manual/05_ardours-interface/11_the-nudge-controls.html [deleted file]
_manual/05_ardours-interface/12_the-ruler.html [deleted file]
_manual/05_ardours-interface/13_the-summary.html [deleted file]
_manual/05_ardours-interface/14_editor-lists.html [deleted file]
_manual/05_ardours-interface/14_editor-lists/01_region-list.html [deleted file]
_manual/05_ardours-interface/14_editor-lists/02_tracks-and-busses-list.html [deleted file]
_manual/05_ardours-interface/14_editor-lists/03_snapshot-list.html [deleted file]
_manual/05_ardours-interface/14_editor-lists/04_track-and-bus-group-list.html [deleted file]
_manual/05_ardours-interface/14_editor-lists/05_ranges-and-marks-list.html [deleted file]
_manual/05_ardours-interface/15_favorite-plugins-window.html [deleted file]
_manual/05_ardours-interface/16_the-strips-list.html [deleted file]
_manual/05_ardours-interface/17_the-groups-list.html [deleted file]
_manual/05_ardours-interface/18_audio-midi-mixer-strips.html [deleted file]
_manual/05_ardours-interface/19_busses-mixer-strips.html [deleted file]
_manual/05_ardours-interface/20_control-masters.html [deleted file]
_manual/05_ardours-interface/21_the-master-bus-strip.html [deleted file]
_manual/05_ardours-interface/22_the-monitor-section.html [deleted file]
_manual/06_controlling-playback.html [deleted file]
_manual/07_working-with-markers.html [deleted file]
_manual/07_working-with-markers/01_creating-location-markers.html [deleted file]
_manual/07_working-with-markers/02_creating-range-markers.html [deleted file]
_manual/07_working-with-markers/03_moving-markers.html [deleted file]
_manual/07_working-with-markers/04_loop-range.html [deleted file]
_manual/07_working-with-markers/05_marker-context-menu.html [deleted file]
_manual/07_working-with-markers/06_punch-range.html [deleted file]
_manual/08_working-with-sessions.html [deleted file]
_manual/08_working-with-sessions/01_new-session-dialog.html [deleted file]
_manual/08_working-with-sessions/02_whats-in-a-session.html [deleted file]
_manual/08_working-with-sessions/03_where-are-sessions-stored.html [deleted file]
_manual/08_working-with-sessions/04_backup-and-sharing-of-sessions.html [deleted file]
_manual/08_working-with-sessions/05_interchange-with-other-daws.html [deleted file]
_manual/08_working-with-sessions/05_interchange-with-other-daws/01_copying-the-interchange-folder.html [deleted file]
_manual/08_working-with-sessions/05_interchange-with-other-daws/02_stem-exports.html [deleted file]
_manual/08_working-with-sessions/05_interchange-with-other-daws/03_using-aatranslator.html [deleted file]
_manual/08_working-with-sessions/06_renaming-a-session.html [deleted file]
_manual/08_working-with-sessions/07_session-templates.html [deleted file]
_manual/08_working-with-sessions/08_snapshots.html [deleted file]
_manual/08_working-with-sessions/09_metadata.html [deleted file]
_manual/08_working-with-sessions/10_cleaning_up.html [deleted file]
_manual/09_working-with-regions.html [deleted file]
_manual/09_working-with-regions/01_region-naming.html [deleted file]
_manual/09_working-with-regions/02_corresponding-regions-selection.html [deleted file]
_manual/09_working-with-regions/03_region-context-menu.html [deleted file]
_manual/10_working-with-playlists.html [deleted file]
_manual/10_working-with-playlists/01_understanding-playlists.html [deleted file]
_manual/10_working-with-playlists/02_playlist-operations.html [deleted file]
_manual/10_working-with-playlists/03_playlist_usecases.html [deleted file]
_manual/11_working-with-tracks.html [deleted file]
_manual/11_working-with-tracks/01_track-types.html [deleted file]
_manual/11_working-with-tracks/02_adding-tracks-and-busses.html [deleted file]
_manual/11_working-with-tracks/03_selecting-tracks.html [deleted file]
_manual/11_working-with-tracks/04_controlling-track-appearance.html [deleted file]
_manual/11_working-with-tracks/04_controlling-track-appearance/01_layering-display.html [deleted file]
_manual/11_working-with-tracks/04_controlling-track-appearance/02_track-coloring.html [deleted file]
_manual/11_working-with-tracks/04_controlling-track-appearance/03_track-height.html [deleted file]
_manual/11_working-with-tracks/04_controlling-track-appearance/04_waveform-display.html [deleted file]
_manual/11_working-with-tracks/05_controlling-track-ordering.html [deleted file]
_manual/11_working-with-tracks/05_controlling-track-ordering/01_reordering-tracks.html [deleted file]
_manual/11_working-with-tracks/05_controlling-track-ordering/02_track-ordering-and-remote-control-ids.html [deleted file]
_manual/11_working-with-tracks/06_bus-controls.html [deleted file]
_manual/11_working-with-tracks/07_audio-track-controls.html [deleted file]
_manual/11_working-with-tracks/08_midi-track-controls.html [deleted file]
_manual/11_working-with-tracks/09_track-and-bus-groups.html [deleted file]
_manual/11_working-with-tracks/10_track-context-menu.html [deleted file]
_manual/12_working-with-midi.html [deleted file]
_manual/12_working-with-midi/01_fundamental-concepts.html [deleted file]
_manual/12_working-with-midi/02_create-midi-tracks.html [deleted file]
_manual/12_working-with-midi/03_create-midi-regions.html [deleted file]
_manual/12_working-with-midi/04_add-new-notes.html [deleted file]
_manual/12_working-with-midi/05_change-note-properties.html [deleted file]
_manual/12_working-with-midi/06_handle-overlapping-notes.html [deleted file]
_manual/12_working-with-midi/07_note-cut-copy-and-paste-.html [deleted file]
_manual/12_working-with-midi/08_note-selection.html [deleted file]
_manual/12_working-with-midi/09_quantize-midi.html [deleted file]
_manual/12_working-with-midi/10_step-entry.html [deleted file]
_manual/12_working-with-midi/11_patch-change.html [deleted file]
_manual/12_working-with-midi/12_copy-midi-region.html [deleted file]
_manual/12_working-with-midi/13_transpose-midi.html [deleted file]
_manual/12_working-with-midi/14_automation-midi.html [deleted file]
_manual/12_working-with-midi/15_transformation-midi.html [deleted file]
_manual/13_working-with-plugins.html [deleted file]
_manual/13_working-with-plugins/01_managing-plugin-presets.html [deleted file]
_manual/13_working-with-plugins/02_plugin-manager.html [deleted file]
_manual/13_working-with-plugins/03_processor-box.html [deleted file]
_manual/13_working-with-plugins/04_plugin-sidebar.html [deleted file]
_manual/13_working-with-plugins/05_windows-vst-support.html [deleted file]
_manual/13_working-with-plugins/06_working-with-ardour-built-plugin-editors.html [deleted file]
_manual/13_working-with-plugins/07_getting-plugins.html [deleted file]
_manual/14_working-with-tempo-and-meter.html [deleted file]
_manual/15_adding-pre-existing-material.html [deleted file]
_manual/15_adding-pre-existing-material/01_import-dialog.html [deleted file]
_manual/15_adding-pre-existing-material/02_copying-versus-linking.html [deleted file]
_manual/15_adding-pre-existing-material/03_searching-for-files-using-tags.html [deleted file]
_manual/15_adding-pre-existing-material/04_supported-file-formats.html [deleted file]
_manual/16_recording.html [deleted file]
_manual/16_recording/01_monitoring.html [deleted file]
_manual/16_recording/01_monitoring/01_latency-considerations.html [deleted file]
_manual/16_recording/01_monitoring/02_monitor-signal-flow.html [deleted file]
_manual/16_recording/01_monitoring/03_monitor-setup-in-ardour.html [deleted file]
_manual/16_recording/02_track-recording-modes.html [deleted file]
_manual/17_signal-routing.html [deleted file]
_manual/17_signal-routing/01_aux-sends.html [deleted file]
_manual/17_signal-routing/02_comparing-aux-sends-and-subgroups.html [deleted file]
_manual/17_signal-routing/03_external-sends.html [deleted file]
_manual/17_signal-routing/04_inserts.html [deleted file]
_manual/17_signal-routing/06_subgrouping.html [deleted file]
_manual/17_signal-routing/07_Patchbay.html [deleted file]
_manual/17_signal-routing/08_signal-flow.html [deleted file]
_manual/18_editing-and-arranging.html [deleted file]
_manual/18_editing-and-arranging/01_select-regions.html [deleted file]
_manual/18_editing-and-arranging/02_which-regions-are-affected.html [deleted file]
_manual/18_editing-and-arranging/03_common-region-edit-operations.html [deleted file]
_manual/18_editing-and-arranging/04_change-region-lengths.html [deleted file]
_manual/18_editing-and-arranging/04_change-region-lengths/01_pushpull-trimming.html [deleted file]
_manual/18_editing-and-arranging/05_copy-regions.html [deleted file]
_manual/18_editing-and-arranging/06_move-regions.html [deleted file]
_manual/18_editing-and-arranging/06_move-regions/01_move-regions-with-the-mouse.html [deleted file]
_manual/18_editing-and-arranging/06_move-regions/02_align-spotting-regions.html [deleted file]
_manual/18_editing-and-arranging/07_create-region-fades-and-crossfades.html [deleted file]
_manual/18_editing-and-arranging/08_separation.html [deleted file]
_manual/18_editing-and-arranging/08_separation/01_separate-under.html [deleted file]
_manual/18_editing-and-arranging/08_separation/02_separate-range.html [deleted file]
_manual/18_editing-and-arranging/09_strip-silence-from-audio-regions.html [deleted file]
_manual/19_automation.html [deleted file]
_manual/19_automation/01_midi-scenes.html [deleted file]
_manual/20_mixing.html [deleted file]
_manual/20_mixing/01_muting-and-soloing.html [deleted file]
_manual/20_mixing/02_panning.html [deleted file]
_manual/20_mixing/02_panning/01_mono_panner.html [deleted file]
_manual/20_mixing/02_panning/02_balance_control.html [deleted file]
_manual/20_mixing/02_panning/03_stereo_panner.html [deleted file]
_manual/20_mixing/02_panning/04_vbap_panner.html [deleted file]
_manual/21_exporting.html [deleted file]
_manual/21_exporting/01_export-dialog.html [deleted file]
_manual/21_exporting/02_edit-export-format-profile.html [deleted file]
_manual/22_synchronization.html [deleted file]
_manual/22_synchronization/01_on-clock-and-time.html [deleted file]
_manual/22_synchronization/02_latency-and-latency-compensation.html [deleted file]
_manual/22_synchronization/03_timecode-generators-and-slaves.html [deleted file]
_manual/22_synchronization/04_overview-of-timecode-related-settings.html [deleted file]
_manual/23_default-keyboard-bindings.html [deleted file]
_manual/23_default-keyboard-bindings/01_mnemonic-bindings-for-linux.html [deleted file]
_manual/23_default-keyboard-bindings/02_mnemonic-bindings-for-os-x.html [deleted file]
_manual/24_preferences-and-session-properties.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/01_misc.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/02_transport.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/03_editor.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/04_audio.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/05_solomute.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/06_midi.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/07_interaction.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/08_control_surfaces.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/09_video.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/10_plugins.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/11_gui.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/12_metering.html [deleted file]
_manual/24_preferences-and-session-properties/01_preferences-dialog/13_theme.html [deleted file]
_manual/24_preferences-and-session-properties/02_session-properties-dialog.html [deleted file]
_manual/24_preferences-and-session-properties/02_session-properties-dialog/01_timecode.html [deleted file]
_manual/24_preferences-and-session-properties/02_session-properties-dialog/02_sync.html [deleted file]
_manual/24_preferences-and-session-properties/02_session-properties-dialog/03_fades.html [deleted file]
_manual/24_preferences-and-session-properties/02_session-properties-dialog/04_media.html [deleted file]
_manual/24_preferences-and-session-properties/02_session-properties-dialog/05_locations.html [deleted file]
_manual/24_preferences-and-session-properties/02_session-properties-dialog/06_filenames.html [deleted file]
_manual/24_preferences-and-session-properties/02_session-properties-dialog/07_monitoring.html [deleted file]
_manual/24_preferences-and-session-properties/02_session-properties-dialog/08_meterbridge.html [deleted file]
_manual/24_preferences-and-session-properties/02_session-properties-dialog/09_misc.html [deleted file]
_manual/25_using-control-surfaces.html [deleted file]
_manual/25_using-control-surfaces/01_controlling-ardour-with-osc.html [deleted file]
_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/01_osc-control.html [deleted file]
_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/02_osc-setup-dialog.html [deleted file]
_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/03_querying-ardour-with-osc.html [deleted file]
_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/04_feedback-in-osc.html [deleted file]
_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/05_calculating-feedback-and-strip-types-values.html [deleted file]
_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/06_osc-personal-monitoring.html [deleted file]
_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/07_parameter-types-in-osc.html [deleted file]
_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/08_selection-considerations-in-osc.html [deleted file]
_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/09_osc-control-in-ardour-4.7-and-prior.html [deleted file]
_manual/25_using-control-surfaces/02_mackie-control-protocol.html [deleted file]
_manual/25_using-control-surfaces/02_mackie-control-protocol/01_mackie-control-configure.html [deleted file]
_manual/25_using-control-surfaces/02_mackie-control-protocol/02_ssl-nucleus.html [deleted file]
_manual/25_using-control-surfaces/02_mackie-control-protocol/03_behringer-devices-in-mackielogic-control-mode.html [deleted file]
_manual/25_using-control-surfaces/02_mackie-control-protocol/04_devices-not-listed.html [deleted file]
_manual/25_using-control-surfaces/02_mackie-control-protocol/05_working-with-extenders.html [deleted file]
_manual/25_using-control-surfaces/03_generic-midi.html [deleted file]
_manual/25_using-control-surfaces/03_generic-midi/01_midi-binding-maps.html [deleted file]
_manual/25_using-control-surfaces/03_generic-midi/02_midi-learn.html [deleted file]
_manual/25_using-control-surfaces/03_generic-midi/03_working-with-encoders.html [deleted file]
_manual/25_using-control-surfaces/04_Presonus_FaderPort.html [deleted file]
_manual/25_using-control-surfaces/05_Ableton_Push2.html [deleted file]
_manual/26_video-timeline.html [deleted file]
_manual/26_video-timeline/01_setup.html [deleted file]
_manual/26_video-timeline/02_transcoding_formats_codecs.html [deleted file]
_manual/26_video-timeline/03_operations.html [deleted file]
_manual/27_lua-scripting.html [deleted file]
_manual/27_lua-scripting/01_brain_dump.html [deleted file]
_manual/27_lua-scripting/02_class_reference.html [deleted file]
_manual/28_appendix.html [deleted file]
_manual/28_appendix/01_menu-actions-list.html [deleted file]
_manual/28_appendix/02_monitor-modes.html [deleted file]
_manual/28_appendix/03_files-and-directories.html [deleted file]
source/bootstrap-2.2.2/css/bootstrap-responsive.css [deleted file]
source/bootstrap-2.2.2/css/bootstrap-responsive.min.css [deleted file]
source/bootstrap-2.2.2/css/bootstrap.css [deleted file]
source/bootstrap-2.2.2/css/bootstrap.min.css [deleted file]
source/bootstrap-2.2.2/img/glyphicons-halflings-white.png [deleted file]
source/bootstrap-2.2.2/img/glyphicons-halflings.png [deleted file]
source/bootstrap-2.2.2/js/bootstrap.js [deleted file]
source/bootstrap-2.2.2/js/bootstrap.min.js [deleted file]
source/css/app.css [deleted file]
source/css/luadoc.css [deleted file]
source/diagrams/ardour-monitoring.png [deleted file]
source/diagrams/editor-summary.png [deleted file]
source/diagrams/external-monitoring.png [deleted file]
source/diagrams/jack-latency-excerpt.png [deleted file]
source/diagrams/jack-monitoring.png [deleted file]
source/diagrams/latency-chain.png [deleted file]
source/diagrams/ltc-transport-alignment.png [deleted file]
source/diagrams/mixer-summary.png [deleted file]
source/diagrams/solo-mute.png [deleted file]
source/diagrams/typical-midi-track-controls.png [deleted file]
source/files/a3_mnemonic_cheat_sheet_osx.pdf [deleted file]
source/files/a3_mnemonic_cheatsheet-a4.pdf [deleted file]
source/files/a3_mnemonic_cheatsheet.pdf [deleted file]
source/files/ardour-2.8.3-bindings-osx-a4.pdf [deleted file]
source/files/ardour-2.8.3-bindings-x.pdf [deleted file]
source/images/225-ARDOUR_1_2_1.png [deleted file]
source/images/226-ARDOUR_1_2_1.png [deleted file]
source/images/Audio-MIDI_Setup.png [deleted file]
source/images/BCF2000-EG.png [deleted file]
source/images/BCF2000-Modes.png [deleted file]
source/images/BCF2000-Pan.png [deleted file]
source/images/BCF2000-Send.png [deleted file]
source/images/BCF2000-Shift1.png [deleted file]
source/images/BCF2000-Shift2.png [deleted file]
source/images/BCF2000-Views.png [deleted file]
source/images/BCF2000.png [deleted file]
source/images/MIDI_pitch_bending.png [deleted file]
source/images/MIDI_transform.png [deleted file]
source/images/No_problem.gif [deleted file]
source/images/VBAP-panner-10.png [deleted file]
source/images/VBAP-panner-4in5.png [deleted file]
source/images/VBAP-panner-5.png [deleted file]
source/images/a3_after_push_trim.png [deleted file]
source/images/a3_after_separate_under.png [deleted file]
source/images/a3_after_trim.png [deleted file]
source/images/a3_ardour_preferences.png [deleted file]
source/images/a3_before_separate_under.png [deleted file]
source/images/a3_before_trim.png [deleted file]
source/images/a3_layers_menu.png [deleted file]
source/images/a3_layers_stacked.png [deleted file]
source/images/a3_nonlayered_example.png [deleted file]
source/images/a3_nonlayered_mode_menu.png [deleted file]
source/images/a3_overlaps_layered.png [deleted file]
source/images/a3_quantize.png [deleted file]
source/images/a3_session_properties.png [deleted file]
source/images/a3_step_entry.png [deleted file]
source/images/a3_strip_silence.png [deleted file]
source/images/a3_video_export.png [deleted file]
source/images/a3_video_import.png [deleted file]
source/images/a3_video_open.png [deleted file]
source/images/a3_videotimeline.png [deleted file]
source/images/a4_meterbridge_full.png [deleted file]
source/images/a4_monitoring_section.png [deleted file]
source/images/a4_plugin_manager.png [deleted file]
source/images/a4_plugin_sidebar.png [deleted file]
source/images/a4_preferences_audio.png [deleted file]
source/images/a4_preferences_control_surfaces.png [deleted file]
source/images/a4_preferences_editor.png [deleted file]
source/images/a4_preferences_gui.png [deleted file]
source/images/a4_preferences_interaction.png [deleted file]
source/images/a4_preferences_metering.png [deleted file]
source/images/a4_preferences_midi.png [deleted file]
source/images/a4_preferences_misc.png [deleted file]
source/images/a4_preferences_plugins.png [deleted file]
source/images/a4_preferences_solomute.png [deleted file]
source/images/a4_preferences_theme.png [deleted file]
source/images/a4_preferences_transport.png [deleted file]
source/images/a4_preferences_video.png [deleted file]
source/images/a4_session_properties_fades.png [deleted file]
source/images/a4_session_properties_filenames.png [deleted file]
source/images/a4_session_properties_locations.png [deleted file]
source/images/a4_session_properties_media.png [deleted file]
source/images/a4_session_properties_meterbridge.png [deleted file]
source/images/a4_session_properties_misc.png [deleted file]
source/images/a4_session_properties_monitoring.png [deleted file]
source/images/a4_session_properties_sync.png [deleted file]
source/images/a4_session_properties_timecode.png [deleted file]
source/images/add-track-or-bus.png [deleted file]
source/images/aux_routing.png [deleted file]
source/images/bigclock-recording.png [deleted file]
source/images/bigclock.png [deleted file]
source/images/bus-mixer-strip.png [deleted file]
source/images/checkbox-checked.png [deleted file]
source/images/checkbox-unchecked.png [deleted file]
source/images/clockedit.png [deleted file]
source/images/connecting_bus_output.png [deleted file]
source/images/connecting_bus_send.png [deleted file]
source/images/connecting_to_vca.png [deleted file]
source/images/connection-manager.png [deleted file]
source/images/constant-tempo.png [deleted file]
source/images/detailed-editor-window.png [deleted file]
source/images/detailed-mixer-window.png [deleted file]
source/images/edit-export-format-profile.png [deleted file]
source/images/edit-session-metadata.png [deleted file]
source/images/editor_split.png [deleted file]
source/images/editor_split_Automation.png [deleted file]
source/images/editor_split_EditPoint.png [deleted file]
source/images/editor_split_EditorsList.png [deleted file]
source/images/editor_split_EditorsMixerStrip.png [deleted file]
source/images/editor_split_GridControls.png [deleted file]
source/images/editor_split_Groupstabs.png [deleted file]
source/images/editor_split_MasterBusTrack.png [deleted file]
source/images/editor_split_Menu.png [deleted file]
source/images/editor_split_NudgeControls.png [deleted file]
source/images/editor_split_OSTitlebar.png [deleted file]
source/images/editor_split_Rulers.png [deleted file]
source/images/editor_split_SelectionandPunchClocks.png [deleted file]
source/images/editor_split_StatusBar.png [deleted file]
source/images/editor_split_StatusandModebuttons.png [deleted file]
source/images/editor_split_Summary.png [deleted file]
source/images/editor_split_Toolbox.png [deleted file]
source/images/editor_split_TransportBar.png [deleted file]
source/images/editor_split_TransportClocks.png [deleted file]
source/images/editor_split_ZoomControls.png [deleted file]
source/images/editor_split_aMIDITrack.png [deleted file]
source/images/editor_split_anAudioTrack.png [deleted file]
source/images/editor_split_anotherAudioTrack.png [deleted file]
source/images/export-dialog-channels.png [deleted file]
source/images/export-dialog-file-format.png [deleted file]
source/images/export-dialog-stem-export.png [deleted file]
source/images/export-dialog-timespan.png [deleted file]
source/images/faderport-ssmall.png [deleted file]
source/images/faderport_dialog.png [deleted file]
source/images/global-editor-window-split.png [deleted file]
source/images/global-mixer-window-split.png [deleted file]
source/images/import-window.png [deleted file]
source/images/left_right_eq.png [deleted file]
source/images/logo.png [deleted file]
source/images/master-strip.png [deleted file]
source/images/mcp-extender-position.png [deleted file]
source/images/meter-preferences.png [deleted file]
source/images/meter-types-18.png [deleted file]
source/images/mixer-1-strip-numbered.png [deleted file]
source/images/mixer-meter-context-menu.png [deleted file]
source/images/mixer_split.png [deleted file]
source/images/mixer_split_ControlMasters.png [deleted file]
source/images/mixer_split_FavoritePlugins.png [deleted file]
source/images/mixer_split_GroupList.png [deleted file]
source/images/mixer_split_GroupTabs.png [deleted file]
source/images/mixer_split_MenuBar.png [deleted file]
source/images/mixer_split_MonitorSection.png [deleted file]
source/images/mixer_split_OsTitleBar.png [deleted file]
source/images/mixer_split_PunchandSelectionClocks.png [deleted file]
source/images/mixer_split_PunchansSelectionClocks.png [deleted file]
source/images/mixer_split_StatusBar.png [deleted file]
source/images/mixer_split_StatusandModebuttons.png [deleted file]
source/images/mixer_split_StripsList.png [deleted file]
source/images/mixer_split_TransportBar.png [deleted file]
source/images/mixer_split_TransportClocks.png [deleted file]
source/images/mixer_split_aBusStrip.png [deleted file]
source/images/mixer_split_aMIDIStrip.png [deleted file]
source/images/mixer_split_anAudioStrip.png [deleted file]
source/images/mixer_split_anotherAudioStrip.png [deleted file]
source/images/mixer_split_theMasterStrip.png [deleted file]
source/images/monitoring-strip.png [deleted file]
source/images/mono-panner-annotated.png [deleted file]
source/images/mouse-tail.png [deleted file]
source/images/needle-meters-18.png [deleted file]
source/images/new_main_clocks.png [deleted file]
source/images/osc-dialog.png [deleted file]
source/images/osc-feedbackdefault.png [deleted file]
source/images/osc-strip-types.png [deleted file]
source/images/pin_config_ctx_menu.png [deleted file]
source/images/push2-globalmix.png [deleted file]
source/images/push2-gui.png [deleted file]
source/images/push2-main.jpg [deleted file]
source/images/push2-scale.png [deleted file]
source/images/push2-trackmix.png [deleted file]
source/images/ramped-tempo.png [deleted file]
source/images/route-group-dialogue.png [deleted file]
source/images/ruler.png [deleted file]
source/images/selectionpunchclocks.png [deleted file]
source/images/soundcloud-upload.png [deleted file]
source/images/status-and-mode-buttons.png [deleted file]
source/images/status-bar.png [deleted file]
source/images/stereo-balance.png [deleted file]
source/images/stereo-panner-annotated.png [deleted file]
source/images/stereo-panner-hard-right.png [deleted file]
source/images/stereo-panner-inverted.png [deleted file]
source/images/stereo-panner-right.png [deleted file]
source/images/stereo-panner-with-ORTF-fullwidth.png [deleted file]
source/images/stereo-panner-with-ORTF-halfwidth.png [deleted file]
source/images/stereo-panner-zero.png [deleted file]
source/images/stereo-panner.png [deleted file]
source/images/strict_io_routing.png [deleted file]
source/images/subgroup_routes.png [deleted file]
source/images/summary.png [deleted file]
source/images/toolbar-editpoint.png [deleted file]
source/images/toolbar-grid.png [deleted file]
source/images/toolbar-nudge.png [deleted file]
source/images/toolbar-tools.png [deleted file]
source/images/toolbar-zoom.png [deleted file]
source/images/toolbar_split.png [deleted file]
source/images/track-in-group.png [deleted file]
source/images/track-layer-dialog.png [deleted file]
source/images/track_signal_routing.png [deleted file]
source/images/transport-bar.png [deleted file]
source/images/transport.png [deleted file]
source/images/transpose_midi.png [deleted file]
source/images/typical-audio-track-controls.png [deleted file]
source/images/typical-bus-controls.png [deleted file]
source/images/vca-numbered.png [deleted file]
source/images/vcas.png [deleted file]
upload.sh [deleted file]

index fd61c3b5ca408d6772596017e7333d010d7ed2b6..581a9c634d1bd5329f6e6cb626b097df98fb7cd9 100644 (file)
--- a/README.md
+++ b/README.md
@@ -154,14 +154,10 @@ The above will have to be revised eventually, but for now, here's what's what:
 
 1. All content lives in master-doc.txt and in include/ .
 
-2. A little C helper program needs to be built and run. To build it, do:
+2. Run the 'build' scripts:
 
-        gcc munge.cpp -o munge -lstdc++ -g
+        ./build.py && ./build.rb
 
-3. Run the 'doit' script:
-
-        ./doit
-
-4. Now _site/ should contain the correct built site. Have fun! ;-)
+3. Now _site/ should contain the correct built site. Have fun! ;-)
 
 
diff --git a/_config.yml b/_config.yml
deleted file mode 100644 (file)
index 0ffca95..0000000
+++ /dev/null
@@ -1 +0,0 @@
-source: source
diff --git a/_layouts/bootstrap.html b/_layouts/bootstrap.html
deleted file mode 100644 (file)
index f949bbb..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
----
-bootstrap_path: /bootstrap-2.2.2
-page_title: The Ardour Manual
----
-
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-      
-    <head>
-        <title>{{page.page_title}}</title>
-        <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
-
-        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-        <link href="{{page.bootstrap_path}}/css/bootstrap.min.css" rel="stylesheet" />
-        <link href="{{page.bootstrap_path}}/css/bootstrap-responsive.min.css" rel="stylesheet" />
-
-        <link href="/css/app.css" rel="stylesheet" />
-        {% if page.style %}
-        <link href="/css/{{page.style}}.css" rel="stylesheet" />
-        {% endif %}
-
-        <link href='http://fonts.googleapis.com/css?family=Junge' rel='stylesheet' type='text/css' />
-    </head>
-    <body>
-
-        <!--
-    <div class="navbar">
-        <div class="navbar-inner">
-            <div class="container">
-              <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-              </a>
-                <a class="brand" href="#">The Ardour Manual</a>
-                <div class="nav-collapse collapse">
-                </div>
-            </div>
-        </div>
-    </div>
-    -->
-
-    <div class="container-fluid">
-        <div class="row-fluid">
-            <div id="tree">
-                <div id="tree-inner">
-                    <h1 class="title"><a href="/"><img src="/images/logo.png" alt="The Ardour Manual" /></a></h1>
-                    {% tree %}
-                </div>
-            </div>
-            <div class="span12" id="content">
-                <div id="search" class="gcse-search">
-                </div>
-                <div id="content-main">
-                    <h1 class="title">{{ page.title }}</h1>
-                    {{ content }}
-                   {% prevnext %}
-                </div>
-            </div>
-        </div>
-    </div>
-
-    <script type="text/javascript">
-    //<![CDATA[
-
-        // I'll go to hell for this
-        var isA = function(regex) { return navigator.userAgent.match(regex) };
-        var isAbout = function(regex) { return document.getElementsByTagName('h1')[1].textContent.match(regex) };
-
-        if ( (isA(/Mac/) || isAbout(/OS X/)) && (!isAbout(/Linux/)) ) {
-            var e = document.getElementsByTagName('body')[0];
-            e.className += ' mac';  // class magic for Cmd vs. Ctrl keys.
-        }
-    //]]>
-    </script>
-
-    <script type="text/javascript">
-        (function() {
-          var cx = '011950134405426689607:2lg2y9xgf3a';
-          var gcse = document.createElement('script'); gcse.type = 'text/javascript';
-          gcse.async = true;
-          gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
-              '//www.google.com/cse/cse.js?cx=' + cx;
-          var s = document.getElementsByTagName('script')[0];
-          s.parentNode.insertBefore(gcse, s);
-        })();
-    </script>
-  
-    </body>
-</html>
diff --git a/_layouts/default.html b/_layouts/default.html
deleted file mode 100644 (file)
index 8a79e18..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
----
-layout: bootstrap
----
-
-{{content}}
\ No newline at end of file
diff --git a/_manual/01_welcome-to-ardour.html b/_manual/01_welcome-to-ardour.html
deleted file mode 100644 (file)
index 80eb9e2..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
----
-layout: default
-title: Welcome to Ardour!
----                        
-
-
-  
-  
-<p>
-<dfn>Ardour</dfn> is a professional digital workstation for working with
-audio and MIDI.
-</p>
-
-<h2>Ardour is meant for...</h2>
-
-<h3>Audio Engineers</h3>
-<p>
-Ardour's core user group: people who want to record, edit, mix and master
-audio and MIDI projects. When you need complete control over your tools,
-when the limitations of other designs get in the way, when you plan to spend
-hours or days working on a session, Ardour is there to make things work the
-way you want them to.
-</p>
-
-<h3>Musicians</h3>
-<p>
-Being the best tool to record talented performers on actual instruments has
-always been a top priority for Ardour. Rather than being focused on
-electronic and pop music idioms, Ardour steps out of the way to encourage
-the creative process to remain where it always has been: a musician playing
-a carefully designed and well built instrument.
-</p>
-
-<h3>Soundtrack Editors</h3>
-<p>
-Sample accurate sync and shared transport control with video playback tools
-allows Ardour to provide a fast and natural environment for creating and
-editing soundtracks for film and video projects.
-</p>
-
-<h3>Composers</h3>
-<p>
-Arrange audio and MIDI using the same tools and same workflow. Use external
-hardware synthesizers or software instruments as sound sources. From sound
-design to electro-acoustic composition to dense multitrack MIDI editing,
-Ardour can help.
-</p>
-
-<h2>Ardour features...</h2>
-
-<h3>Audio and MIDI Multi-Track Recording and Editing</h3>
-<p>
-Any number of tracks and busses. Non-linear editing. Non-destructive (and
-destructive!) recording. Any bit depth, any sample rate. Dozens of file
-formats.
-</p>
-
-<h3>Plugins with Full Sample Accurate Automation</h3>
-<p>
-AudioUnit, LV2, LinuxVST and LADSPA formats. FX plugins. Software
-instruments. MIDI processors. Automate any parameters. Physically manipulate
-them via control surfaces. Distribute processing across as many (or as few)
-cores as you want.
-</p>
-
-<h3>Transport Sync and External Control Surfaces</h3>
-<p>
-Best-in-industry sync to MIDI timecode and LTC. Send and receive MIDI
-Machine Control. Sync with JACK transport and MIDI clock. Dedicated Mackie
-Control protocol support, pre-defined mappings for many MIDI controllers
-plus dynamic MIDI learn. Use OSC to drive almost any operation in Ardour.
-</p>
-
-<h3>Powerful Anywhere-to-Anywhere Signal Routing</h3>
-<p>
-Complex signal flows are simple and elegant. Inputs and outputs connect to
-your hardware and/or other applications. Use sends, inserts and returns
-freely. Connections can be one-to-many, many-to-one or many-to-many. Tap
-signal flows at any point. If you can't connect in the way you want with
-Ardour, it probably can't be done.
-</p>
-
-<h3>Video Timeline</h3>
-<p>
-Import a single video and optionally extract the soundtrack from it. Display
-a frame-by-frame (thumbnail) timeline of the video. Use a Video-monitor
-window, or full-screen display, of the imported video in sync with any of
-the available ardour timecode sources. Lock audio-regions to the video: Move
-audio-regions with the video at video-frame granularity. Export the video,
-cut start/end, add blank frames and/or mux it with the soundtrack of the
-current-session.
-</p>
-
-{% children %}
diff --git a/_manual/01_welcome-to-ardour/01_about-ardour.html b/_manual/01_welcome-to-ardour/01_about-ardour.html
deleted file mode 100644 (file)
index dff309b..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
----
-layout: default
-title: About Ardour
----                        
-<p>
-<dfn>Ardour</dfn> allows you to record and edit both audio and MIDI data, add
-many different kinds of effects and mix.
-</p>
-<p>Things you might use Ardour for include:</p>
-<ul>
-<li>Digitally record acoustic/electric instruments or vocals</li>
-<li>Compose and arrange audio and MIDI tracks</li>
-<li>Edit live recordings</li>
-<li>Mix and edit movie soundtracks and dialogue</li>
-<li>Create sound designs for an arbitrary number of output channels</li>
-</ul>
-
-{% children %}
diff --git a/_manual/01_welcome-to-ardour/01_about-ardour/01_isnt-this-a-really-complicated-program.html b/_manual/01_welcome-to-ardour/01_about-ardour/01_isnt-this-a-really-complicated-program.html
deleted file mode 100644 (file)
index 8a061e2..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: default
-title: Isn't This A Really Complicated Program?
----                        
-  
-<p>
-There is no point in pretending that Ardour is a simple, easy to use
-program. The development group has worked hard to try to make simple
-things reasonably easy, common tasks quick, and hard and/or uncommon 
-things possible. There is no doubt that we have more to do in this 
-area, as well as polishing the user interface to improve its 
-intuitiveness and work flow characteristics. 
-</p>
-<p>
-At the same time, multi-track, multi-channel, non-linear, 
-non-destructive audio editing is a far from simple process. Doing it 
-right requires not only a good ear, but a solid appreciation of
-basic audio concepts and a robust mental model/metaphor of what you
-are doing. Ardour is not a simple "audio recorder" - you can
-certainly use it to record stereo (or even mono) material in a
-single track, but the program has been designed around much richer
-capabilities than this.
-</p>
-<p>
-Some people complain that Ardour is not "intuitive" to use &mdash; its
-lead developer has 
-<a href="https://community.ardour.org/node/3322">some thoughts on that</a>.
-</p>
-  
diff --git a/_manual/01_welcome-to-ardour/01_about-ardour/02_why-write-a-daw-for-linux.html b/_manual/01_welcome-to-ardour/01_about-ardour/02_why-write-a-daw-for-linux.html
deleted file mode 100644 (file)
index 48cbb4d..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: default
-title: Why Write a DAW for Linux?
----                        
-
-<p>
-It is fairly understandable that existing proprietary DAWs do not run on 
-Linux, given the rather small (but growing) share of the desktop market
-that Linux has. However, when surveying the landscape of "popular 
-operating systems", we find:
-</p>
-<ul>
-  <li>older versions of Windows: plagued by abysmal stability and
-  appalling security</li>
-  <li>newer versions of Windows seem stable but still suffer from
-  security problems</li>
-  <li>OS X: an amazing piece of engineering that is excellent for
-  audio work but only runs on proprietary hardware and still lacks the
-  flexibility and adaptability of Linux.</li>
-</ul>
-<p>
-Security matters today, and will matter more in the future as more and
-more live or semi-live network based collaborations take place.
-</p>
-<p>
-Let's contrast this with Linux, an operating system which:
-</p>
-<ul>
-  <li>can stay up for months (or even years) without issues</li>
-  <li>is endlessly configurable down to the tiniest detail</li>
-  <li>is not owned by any single corporate entity, ensuring its life 
-  and direction are not intertwined with that of a company (for a 
-  contrary example, consider BeOS)</li>
-  <li>is fast and efficient</li>
-  <li>runs on almost any computing platform ever created, including
-  old "slow" systems and new "tiny" systems (e.g. Raspberry Pi)</li>
-  <li>is one of the most secure operating systems "out of the box"</li>
-</ul>
-<p>
-More than anything, however, Ardour's primary author uses Linux and
-wanted a DAW that ran there.
-</p>
-<p>
-Having written a DAW for Linux, it turned out to be relatively easy
-to port Ardour to OS X, mostly because of the excellent work done by 
-the JACK OS X group that ported JACK to OS X.<br />
-Although OS X has a number of disadvantages compared to Linux, its
-ease of use and its presence in many studios already makes it a
-worthwhile platform.
-</p>
-  
diff --git a/_manual/01_welcome-to-ardour/01_about-ardour/03_why-is-it-called-ardour.html b/_manual/01_welcome-to-ardour/01_about-ardour/03_why-is-it-called-ardour.html
deleted file mode 100644 (file)
index aaa0e2b..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
----
-layout: default
-title: Why is it called Ardour?
----                        
-  
-<p>
-  The name <dfn>"Ardour"</dfn> came from considerations of how to pronounce the acronym
-  <abbr title="Hard Disk Recorder">HDR</abbr>. The most obvious attempt sounds
-  like a vowelless "harder" and it then was then a short step to an unrelated
-  but slightly homophonic word:
-</p>
-<blockquote>
-  <p>
-    <dfn>ardour</dfn> n 1: a feeling of strong eagerness (usually in favor of
-    a person or cause); "they were imbued with a revolutionary ardor"; "he 
-    felt a kind of religious zeal" [syn: ardor, elan, zeal]<br />
-    2: intense feeling of love [syn: ardor]<br /> 
-    3: feelings of great warmth and intensity; "he spoke with great ardor" 
-    [syn: ardor, fervor, fervour, fervency, fire, fervidness]
-  </p>
-</blockquote>
-<p>
-  Given the work required to develop Ardour, and the personality of its
-  primary author, the name seemed appropriate even without the vague
-  relationship to HDR.
-</p>
-<p>
-  Years later, another interpretation of "Ardour" appeared, this time based
-  on listening to non-native English speakers attempt to pronounce the word.
-  Rather than "Ardour", it became "Our DAW", which seemed poetically fitting
-  for a Digital Audio Workstation whose source code and design belongs to a
-  group of collaborators.
-</p>
-  
diff --git a/_manual/01_welcome-to-ardour/01_about-ardour/04_why-write-another-daw.html b/_manual/01_welcome-to-ardour/01_about-ardour/04_why-write-another-daw.html
deleted file mode 100644 (file)
index 5faf16f..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: default
-title: Why write another DAW?
----                        
-
-<p>
-There are already a number of excellent digital audio workstations. To
-mention just a few: ProTools, Nuendo, Samplitude, Digital Performer, Logic, 
-Cubase (SX), Sonar, along with several less well known systems such as 
-SADIE, SAWStudio and others.<br />
-Each of these programs has its strengths and weaknesses, although over the
-last few years most of them have converged on a very similar set of core
-features. However, each of them suffers from two problems when seen from the
-perspective of Ardour's development group:
-</p>
-<ul>
-  <li>they do not run natively on Linux</li>
-  <li>they are not available in source code form, making modifications, 
-  improvements, bugfixes by technically inclined users or their friends
-  or consultants impossible.</li>
-</ul>
diff --git a/_manual/01_welcome-to-ardour/02_about-ardour-documentation.html b/_manual/01_welcome-to-ardour/02_about-ardour-documentation.html
deleted file mode 100644 (file)
index 99c59ec..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
----
-layout: default
-title: About Ardour documentation
----                        
-
-<h2>Conventions Used In This Manual</h2>
-<p>
-  This section covers some of the typographical and language conventions 
-  used in this manual.
-</p>
-
-<h3>Keyboards and Modifiers</h3>
-<p>
-  <dfn>Keyboard bindings</dfn> are shown like this: <kbd>s</kbd> or
-  <kbd class="mod1">x</kbd>.
-</p>
-<p>
-  <kbd class="mod1">x</kbd> means "press the <kbd class="mod1">&nbsp;</kbd> key, keep it pressed
-  and then also press the <kbd>x</kbd> key.
-</p>
-<p>
-  You may also see key combinations 
-  such as <kbd class="mod12">e</kbd>, which mean that you should hold down
-  the <kbd class="mod1">&nbsp;</kbd> key <em>and</em> the
-  <kbd class="mod2">&nbsp;</kbd> key, and then, while keeping them both
-  down, press the <kbd>e</kbd> key.
-</p>
-<p>
-  Note that different platforms have different conventions for which
-  modifier key (Control or Command) to use as the primary or most common
-  modifier. When viewing this manual from a machine identifying itself as
-  running OS X, you will see  <kbd>Cmd&nbsp;</kbd> where appropriate (for instance
-  in the first example above). On other machines you will see
-  <kbd>Ctrl&nbsp;</kbd> instead.
-</p>
-<h3>Mouse Buttons</h3>
-<p>
-  We refer to <a href="/setting-up-your-system/mouse/">mouse buttons</a> as 
-  <kbd class="mouse">Left</kbd>, <kbd class="mouse">Middle</kbd> and
-  <kbd class="mouse">Right</kbd>. Ardour can use additional buttons, but they have
-  no default behaviour in the program.
-</p>
-
-<h4>Mouse click modifiers</h4>
-<p>
-  Many editing functions are performed by clicking the mouse while holding a
-  modifier key, for example <kbd class="mouse mod1">Left</kbd>.
-</p>
-
-<h4>Mouse wheel</h4>
-<p>
-  Some GUI elements can optionally be controlled with the mouse wheel when
-  the pointer is hovering over them. The notation for mouse wheel action is
-  <kbd class="mouse">&uArr;</kbd> <kbd class="mouse">&lArr;</kbd>
-  <kbd class="mouse">&dArr;</kbd> <kbd class="mouse">&rArr;</kbd>.
-</p>
-
-<h4>Context-click</h4>
-<p>
-  The term <dfn>context-click</dfn> is used to indicate
-  that you should (typically) <kbd class="mouse">Right</kbd>-click on a particular element of the graphical 
-  user interface. Although right-click is the common, default way to do this, there 
-  are other ways to accomplish the same thing - this term refers to any of them, 
-  and the result is always that a menu specific to the item you clicked on will be
-  displayed.
-</p>
-
-<h4>"The Pointer"</h4>
-<p>
-  When the manual refers to the "pointer", it means the on-screen representation 
-  of the mouse position or the location of a touch action if you are using a touch
-  interface.
-</p>
-
-<h3>Other user input</h3>
-<p>
-  Ardour supports hardware controllers, such as banks of
-  <kbd class="fader">faders</kbd>, <kbd class="knob">knobs</kbd>, or
-  <kbd class="button">buttons</kbd>.
-</p>
-
-<h3>Menu Items</h3>
-<p>
-  Menu items are indicated like this:<br />
-  <kbd class="menu">Top &gt; Next &gt; Deeper</kbd>.<br />
-  Each "&gt;"-separated item indicates one level of a nested (sub-)menu.
-</p>
-
-<h3>Preference/Dialog Options</h3>
-<p>
-  Choices in various dialogs, notably the Preferences and Properties dialog, are 
-  indicated like this:<br />
-  <kbd class="option">Edit &gt; Preferences &gt; Audio &gt; Some
-  Option</kbd>.<br />
-  Each successive item indicates either a (sub-) menu or a tabbed dialog
-  navigation. The final item is the one to choose or select.
-</p>
-<p>
-  If you are requested to deselect an option, you will see something like
-  this:<br />
-  <kbd class="optoff">Edit &gt; Preferences &gt; Audio &gt; Some other
-  Option</kbd>.<br />
-</p>
-
-<h3>User Input</h3>
-<p>
-  Some dialogs or features may require you to type in some <kbd class="input">data
-  such as this</kbd>. In rare cases, you will be required to perform certain
-  operations at the command line of your operating system:
-</p>
-<kbd class="cmd lin">cat /proc/cpuinfo</kbd>
-<kbd class="cmd mac">sleep 3600</kbd>
-<kbd class="cmd win">ping www.google.com</kbd>
-
-<h3>Program Output</h3>
-<p>
-  Important messages from Ardour or other programs will be displayed
-  <samp>like this</samp>.
-</p>
-
-<h3>Notes</h3>
-<p class="note">
-  Important notes about things that might not otherwise be obvious are shown in
-  this format.
-</p>
-
-<h3>Warnings</h3>
-<p class="warning">
-  Hairy issues that might cause things to go wrong, lose data, impair sound
-  quality, or eat your proverbial goldfish, are displayed in this way.
-</p>
-
diff --git a/_manual/01_welcome-to-ardour/03_additional-resources.html b/_manual/01_welcome-to-ardour/03_additional-resources.html
deleted file mode 100644 (file)
index aaa8c6b..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: default
-title: Additional Resources
----                        
-
-<p>In addition to this documentation, you may check a variety of other
-<dfn>resources</dfn>:</p>
-<ul>
-  <li>the <a href="https://ardour.org/whatsnew.html">Ardour release
-  notes</a></li>
-  <li>the <a href="https://community.ardour.org/forums">Ardour
-  Forums</a></li>
-  <li>information about <a href="https://community.ardour.org/community">Ardour
-  Support</a> via mailing lists and IRC (chat)</li>
-</ul>
-<p>
-  The <dfn>IRC channels</dfn> in particular are where most of the day-to-day
-  development and debugging is done, and there are plenty of experienced
-  users to help you if you run into problems.<br />
-  Please be prepared to hang around for a few hours, the chat is usually
-  busiest from 19:00&nbsp;UTC to 04:00&nbsp;UTC. If you can, keep your chat
-  window open, so that you don't miss a belated answer.
-</p>  
diff --git a/_manual/02_introducing-ardour.html b/_manual/02_introducing-ardour.html
deleted file mode 100644 (file)
index ed6f89d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: default
-title: Introducing Ardour
----                        
-
-
-  
-  
-<p>This chapter gives you a conceptual overview of Ardour and provides an example of a common workflow when creating music with the program.</p>
-
-{% children %}
diff --git a/_manual/02_introducing-ardour/01_creating-music-with-ardour.html b/_manual/02_introducing-ardour/01_creating-music-with-ardour.html
deleted file mode 100644 (file)
index 1b472a8..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
----
-layout: default
-title: Creating Music with Ardour
----                        
-<p>
-  Ardour can be used in many different ways, from extremely simple to
-  extremely complex. Many projects will be handled using the following
-  kind of <dfn>workflow</dfn>.
-</p>
-
-<h2>Stage 1: Creating Your Project</h2>
-<p>
-  The first step is to create a new <dfn>session</dfn>, or open an
-  existing one. A session consists of a folder containing a session file
-  that defines all the information about the session. All media files used
-  by the session can be stored within the session folder.
-</p>
-<p>
-  More details on sessions can be found in
-<a href="/working-with-sessions/">Working With Sessions</a>.
-</p>
-
-<h2>Stage 2: Creating and Importing Audio and MIDI data</h2>
-<p>
-  Once you have a session, you will want to add some audio and/or MIDI
-  material to it, which can be done in one of 3 ways:
-</p>
-<ul>
-  <li><dfn>Record</dfn> incoming audio or MIDI data, either via audio or MIDI hardware
-  connected to your computer, or from other applications.</li>
-  <li><dfn>Create</dfn> new MIDI data using the mouse and/or various dialogs</li>
-  <li><dfn>Import</dfn> existing media files into the session</li>
-</ul>
-<p>
-  <dfn>MIDI recordings</dfn> consist of performance data ("play note X at 
-  time T") rather than actual sound. As a result, they are more flexible 
-  than actual audio, since the precise sound that they will generate when
-  played depends on where you send the MIDI to.<br />
-  Two different synthesizers may produce very different sound in response
-  to the same incoming MIDI data.
-</p>
-<p>
-  <dfn>Audio recordings</dfn> can be made from external instruments with
-  electrical outputs (keyboards, guitars etc.) or via microphones from 
-  acoustic instruments.
-</p>
-<p>
-  Ardour uses the <dfn>JACK Audio Connection Kit</dfn> for all audio and
-  MIDI I/O, which means that recording audio/MIDI from other applications
-  is fundamentally identical to recording audio/MIDI from your audio/MIDI
-  hardware.
-</p>
-
-<h2>Stage 3: Editing and Arranging</h2>
-<p>
-  Once you have some material within the session, you can start to arrange
-  it in time. This is done in one of the two main windows of Ardour, the 
-  <dfn>Editor</dfn> window.
-</p>
-<p>
-  Your audio/MIDI data appears in chunks called <dfn>regions</dfn>, which
-  are arranged into horizontal lanes called <dfn>tracks</dfn>. Tracks are 
-  stacked vertically in the Editor window. You can copy, shorten, move, 
-  and delete regions without changing the actual data stored in the session 
-  at all &mdash; Ardour is a <dfn>non-destructive</dfn> editor. (Almost) 
-  nothing that you do while editing will ever modify the files stored on 
-  disk (except the session file itself). 
-</p>
-<p>
-  You can also carry out many <dfn>transformations</dfn> to the contents 
-  of regions, again without altering anything on disk. You can alter,
-  move, and delete MIDI notes, and remove silence from audio regions, for 
-  example.
-</p>
-
-<h2>Stage 4: Mixing and Adding Effects</h2>
-<p>
-  Once you have the arrangement of your session mostly complete, you will 
-  typically move on to the <dfn>mixing</dfn> phase. Mixing is a broad term
-  to cover the way the audio signals that your session generates during 
-  playback and processed and added together into a final result that you 
-  actually hear. It can involve altering the relative levels of various 
-  parts of the session, adding effects that improve or transform certain 
-  elements, and others that bring the sound of the whole session to a new 
-  level.
-</p>
-<p>
-  Ardour will allow you to <dfn>automate</dfn> changes to any mixing 
-  parameters (such as volume, panning, and effects controls) - it will 
-  record the changes you make over time, using a mouse or keyboard or some 
-  external control device, and can play back those changes later. This is 
-  very useful because often the settings you need will vary in one part of 
-  a session compared to another &mdash; rather than using a single setting 
-  for the volume, you may need increases followed by decreases (for example,
-  to track the changing volume of a singer). Using automation can make all
-  of this relatively simple.
-</p>
-
-<h2>Stage 5: Export</h2>
-<p>
-  Once you are really satisfied with the arrangement and mix of your
-  session, you will typically want to produce a single audio file that
-  contains a ready-to-listen to version of the work. Ardour will allow you to
-  <dfn>export</dfn> audio files in a variety of formats (simultaneously in
-  some cases). This exported file would typically be used in creating a CD, 
-  or be the basis for digital distribution of the work.
-</p>
-<p>
-  Of course sometimes you will want to do export material that isn't finished
-  yet, for example to give a copy to someone else to try to mix on their own
-  system. Ardour will allow you to export as much of a session as you want, at
-  any time, in any supported format.
-</p>
-  
diff --git a/_manual/02_introducing-ardour/02_understanding-basic-concepts-and-terminology.html b/_manual/02_introducing-ardour/02_understanding-basic-concepts-and-terminology.html
deleted file mode 100644 (file)
index 8394174..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
----
-layout: default
-title: Understanding Basic Concepts and Terminology
----                        
-
-<p>
-  This section will help you get acquainted with the basic terminology and
-  concepts associated with Ardour. More detailed information on each aspect
-  of the program is provided in later chapters.
-</p>
-
-<h2>Sessions</h2>
-<p>
-  An <dfn>Ardour session</dfn> is a container for an entire project. A
-  session may contain an arbitrary number of <dfn>tracks</dfn> and
-  <dfn>busses</dfn> consisting of audio and <abbr title="Musical Instrument
-  Digital Interface">MIDI</abbr> data, along with
-  information on processing those tracks, a mix of levels, and everything
-  else related to the project. A session might typically contain a song, or
-  perhaps an entire album or a complete live recording.
-</p>
-<p>
-  Ardour sessions are held in directories; these directories contain one or 
-  more <dfn>session files</dfn>, some or all of the audio and MIDI data and
-  a number of other state files that Ardour requires. The session file
-  describes the structure of the session, and holds automation data and
-  other details.
-</p>
-<p>
-  Ardour's session file is kept in 
-  <abbr title="eXtensible Markup Language">XML</abbr> format, which is
-  advantageous as it is somewhat human-readable, and human-editable in a
-  crisis. Sound files are stored in one of a number of optional formats, and
-  MIDI files as <abbr title="Standard MIDI File">SMF</abbr>.
-</p>
-<p>
-  It is also possible for Ardour sessions to reference sound and MIDI files
-  outside the session directory, to conserve disk space and avoid
-  unnecessary copying if the data is available elsewhere on the disk.
-</p>
-<p>
-  Ardour has a single current session at all times; if Ardour is started
-  without specifying one, it will offer to load or create one.
-</p>
-<p>
-  More details can be found at 
-  <a href="/working-with-sessions/">Working With Sessions</a>.
-</p>
-
-<h2>Tracks</h2>
-<p> 
-  A <dfn>track</dfn> is a concept common to most
-  <abbr title="Digital Audio Workstation">DAWs</abbr>, and also used in
-  Ardour. Tracks can record audio or MIDI data to disk, and then replay
-  it with processing. They also allow the audio or MIDI data to be edited
-  in a variety of different ways.
-</p>
-<p>
-  In a typical pop production, one might use a track each for the kick
-  drum, another for the snare, more perhaps for the drum overheads and
-  others for bass, guitars and vocals.
-</p>
-<p>
-  Ardour can record to any number of tracks at one time, and then play
-  those tracks back. On playback, a track's recordings may be processed by
-  any number of plugins, panned, and its level altered to achieve a
-  suitable mix.
-</p>
-<p>
-  A track's type is really only related to the type of data that it stores
-  on disk. It is possible, for example, to have a MIDI track with a
-  synthesizer plugin which converts MIDI to audio. Even though the track
-  remains MIDI (in the sense that its on-disk recordings are MIDI), its
-  output may be audio-only.
-</p>
-<p>
-  More details can be found at
-  <a href="/working-with-tracks/">Working With Tracks</a>.
-</p>
-
-<h2 id="busses">Busses</h2>
-<p>
-  <dfn>Busses</dfn> are another common concept in both DAWs and hardware
-  mixers. They are similar in many ways to tracks; they process audio or
-  MIDI, and can run processing plugins. The only difference is that their
-  input is obtained from other tracks or busses, rather than from disk.
-</p>
-<p>
-  One might typically use a bus to collect together the outputs of related
-  tracks. Consider, for example, a 3-track recording of a drum-kit; given
-  kick, snare and overhead tracks, it may be helpful to connect the output
-  of each to a bus called "drums", so that the drum-kit's level can be set
-  as a unit, and processing (such as equalisation or compression) can be
-  applied to the mix of all tracks. Such buses are also called
-  <dfn>groups</dfn>.
-</p>
-
-<h2>Regions</h2>
-<p>
-  A track may contain many segments of audio or MIDI. Ardour contains
-  these segments in things called <dfn>regions</dfn>, which are 
-  self-contained snippets of audio or MIDI data. Any recording pass, for
-  example, generates a region on each track that is enabled for recording.
-  Regions can be subjected to many editing operations; they may be moved
-  around, split, trimmed, copied, and so on.
-</p>
-<p>
-  More details can be found at
-  <a href="/working-with-regions/">Working With Regions</a>.
-</p>
-
-<h2>Playlists</h2>
-<p>
-  The details of what exactly each track should play back is described by a
-  <dfn>playlist</dfn>. A playlist is simply a list of regions; each track
-  always has an active playlist, and can have other playlists which can be
-  switched in and out as required.
-</p>
-<p>
-  More details can be found at
-  <a href="/working-with-playlists/">Working With Playlists</a>.
-</p>
-
-<h2>Plugins</h2>
-<p>
-  Ardour allows you to process audio and MIDI using any number of 
-  <dfn>plugins</dfn>. These are external pieces of code, commonly seen as
-  VST plugins on Windows or AU plugins on Mac OS X. Ardour supports
-  the following plugin standards:
-</p>
-<dl class="wide-table">
-  <dt><abbr title="Linux Audio Developers' Simple Plugin API">LADSPA</abbr></dt>
-  <dd>the first major plugin standard for Linux. Many LADSPA plugins are
-  available, mostly free and open-source.</dd>
-  <dt><abbr title="LADSPA Version 2">LV2</abbr></dt>
-  <dd>the successor to LADSPA. Lots of plugins have been ported from
-  LADSPA to LV2, and also many new plugins written.</dd>
-  <dt><abbr title="Virtual Studio Technology">VST</abbr></dt>
-  <dd>Ardour supports VST plugins that have been compiled for Linux.</dd>
-  <dt><abbr title="Audio Units">AU</abbr></dt>
-  <dd>Mac OS X versions of Ardour support AudioUnit plugins.</dd>
-</dl>
-<p>
-  Ardour has some support for running Windows VST plugins on Linux, but
-  this is rather complicated, extremely difficult for the Ardour
-  developers to debug, and generally unreliable, as it requires to run a
-  large amount of Windows code in an emulated environment.<br />
-  If it is at all possible, you are strongly advised to use native
-  LADSPA, LV2 or Linux VST plugins on Linux, or AU on Mac OS X.
-</p>
-<p>
-  More details can be found at
-  <a href="/working-with-plugins/">Working With Plugins</a>.
-</p>
diff --git a/_manual/02_introducing-ardour/03_basic-gui-operations.html b/_manual/02_introducing-ardour/03_basic-gui-operations.html
deleted file mode 100644 (file)
index d0a87c8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: default
-title: Basic GUI Operations
----                        
-
-<p>
-  Ardour offers a number of different ways for you to interact with it.
-  This chapter provides information on basic techniques for <dfn>entering
-  text</dfn>, <dfn>making selections</dfn>, and <dfn>using shortcuts</dfn>.
-</p>
-
-{% children %}
diff --git a/_manual/02_introducing-ardour/03_basic-gui-operations/01_interface-elements.html b/_manual/02_introducing-ardour/03_basic-gui-operations/01_interface-elements.html
deleted file mode 100644 (file)
index b25c57b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: default
-title: Interface Elements
----                        
-
-<h2>Checkboxes</h2>
-<h2>Buttons</h2>
-<h2>Pull Down Menus</h2>
-<h2>Pop Up Menus</h2>
-<h2>Context Menus</h2>
-<h2>Browsers</h2>
-  
diff --git a/_manual/02_introducing-ardour/03_basic-gui-operations/02_selection-techniques.html b/_manual/02_introducing-ardour/03_basic-gui-operations/02_selection-techniques.html
deleted file mode 100644 (file)
index cf569ed..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
----
-layout: default
-title: Selection Techniques
----                        
-  
-<p>
-  Ardour follows the conventions used by most other computer software
-  (including other DAWs) for <dfn>selecting objects</dfn> in the 
-  <abbr title="Graphical User Interface">GUI</abbr>.
-</p>
-
-<h2>Selecting individual objects</h2>
-<p>
-  Clicking on an object (sometimes on a particular part of its
-  on-screen representation) will select the object, and deselect other
-  similar objects.
-</p>
-
-<h2>Selecting multiple (similar) objects</h2>
-<p>
-  A <kbd class="mod1 mouse">left</kbd> click on an object toggles its 
-  <samp>selected</samp> status, so using <kbd class="mod1 mouse">left</kbd>
-  on a series of objects will select (or deselect) each one of them. You can
-  construct completely arbitrary selections with this technique.
-</p>
-
-<h2>Selecting a range of objects</h2>
-<p>
-  In cases where the idea of "select all objects between this one and that
-  one" makes sense, you can select one object and then click
-  <kbd class="mod3 mouse">left</kbd> on another to select both of them as
-  well as all objects in between.
-</p>
-
-<h2>Time range selection</h2>
-<p>
-  To select a time <dfn>range</dfn> in the Editor,
-  click <kbd class="mouse">Left</kbd> and drag the mouse. 
-  A <kbd class="mod1 mouse">Left</kbd> drag then lets you create other
-  ranges and a <kbd class="mod3 mouse">left</kbd> click extends a range
-  to cover a wider area.
-</p>
-
-<h2>Selection Undo</h2>
-<p>
-  The set of objects (including time range) that are selected at any one 
-  time is known as the selection.
-  Each time you select or deselect an object, the new selection is stored in an
-  undo/redo stack.
-  This stack is cleared each time the content of the timeline changes.
-  If you have built up a complex selection and then accidentally cleared it,
-  choosing <kbd class="menu">Edit &gt; Undo Selection Change</kbd> will restore your
-  previous selection.
-  If you then decide that you had in fact made the correct change, choosing
-  <kbd class="menu">Edit &gt; Redo Selection Change</kbd> will take you back
-  to where you were before you chose <kbd class="menu">Edit &gt; Undo Selection Change</kbd>.
-</p>
diff --git a/_manual/02_introducing-ardour/03_basic-gui-operations/03_tooltips.html b/_manual/02_introducing-ardour/03_basic-gui-operations/03_tooltips.html
deleted file mode 100644 (file)
index 45699cd..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
----
-layout: default
-title: Tooltips
----                        
-
-<p>
-  By default, Ardour will show helpful <dfn>tooltips</dfn> about
-  the purpose and use of each <abbr title="Graphical User
-  Interface">GUI</abbr> element if you position the pointer 
-  over it and hover there for a short while. 
-  These little pop-up messages can be a good way to discover the
-  purpose of many aspects of the GUI.
-</p>
-<p>
-  Pop-ups can be distracting for experienced users, who may opt to
-  disable them via <kbd class="optoff">Edit &gt; Preferences &gt; GUI &gt; 
-  Show tooltip if mouse hovers over a control</kbd>.
-</p>
-  
diff --git a/_manual/02_introducing-ardour/03_basic-gui-operations/04_undoredo-for-editing-.html b/_manual/02_introducing-ardour/03_basic-gui-operations/04_undoredo-for-editing-.html
deleted file mode 100644 (file)
index 4b03fdf..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
----
-layout: default
-title: Undo/Redo for Editing
----
-
-<p>
-  While editing, it happens that you apply an unintended change, or make
-  a choice one that you later decide was wrong. All changes to the
-  arrangement of session components (regions, control points) along the
-  timeline can be <dfn>undone</dfn> (and <dfn>redone</dfn> if necessary).
-</p>
-<p>
-  The default keybindings are <kbd class="mod1">Z</kbd> for Undo and
-  <kbd class="mod1">R</kbd> for Redo. These match the conventions of most
-  other applications that provide undo/redo.
-</p>
-<p>
-  Changes are also saved to the <dfn>session history</dfn> file, so that
-  undo/redo is possible even if you close the session and reopen it later,
-  even if you quit Ardour in between.
-</p>
-<p>
-  The maximum number of changes that can be undone can be configured under
-  <kbd class="menu">Edit &gt; Preferences &gt; Misc &gt; Undo</kbd>.
-  The maximum number of changes stored in the history file is a separate
-  parameter, and can also be set in the same place.
-</p>
-
-<p class="note">
-  In addition to the normal undo (which works only on actions that change
-  the timeline), there is a <dfn>visual undo</dfn> which will revert any
-  command that affects the display of the editor window. Its shortcut is
-  <kbd class="mod3">Z</kbd>.
-  There is also an undo for selection. See
-  <a href="/introducing-ardour/basic-gui-operations/selection-techniques/">Selection Techniques</a> for more information.
-</p>
diff --git a/_manual/02_introducing-ardour/03_basic-gui-operations/05_using-the-mouse.html b/_manual/02_introducing-ardour/03_basic-gui-operations/05_using-the-mouse.html
deleted file mode 100644 (file)
index 10f1c25..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
----
-layout: default
-title: Using the Mouse
----                        
-
-<h2>Clicking</h2>
-<p>
-  Throughout this manual, the term <dfn>click</dfn> refers to the act of pressing
-  and releasing the <kbd class="mouse">Left</kbd> mouse button. This action is used to select objects, activate
-  buttons, turn choices on and off, pop up menus and so forth.<br />
-  On touch surfaces, it also corresponds to a single, one-finger tap on 
-  the GUI.
-</p>
-
-<h2>Right Clicking</h2>
-<p>
-  The term <dfn>right-click</dfn> refers to the act of pressing and releasing 
-  the <kbd class="mouse">Right</kbd> mouse button. 
-  This action is used to pop up <dfn>context menus</dfn> (hence the term 
-  "context click", which you will also see). It is also used by default in
-  combination with the shift key to delete objects within the editor
-  window.
-</p>
-<p class="note mac"> 
-  Some mice designed for use with Mac OS X may have only one button. By
-  convention, pressing and holding the Control key while clicking is
-  interpreted as a right-click by many application..
-</p>
-
-<h2>Middle Clicking</h2>
-<p>
-  A <dfn>middle-click</dfn> refers to the act of pressing and releasing the
-  <kbd class="mouse">Middle</kbd> mouse button. Not all all mice have a middle click button 
-  (see the <a href="/setting-up-your-system/mouse/">Mouse</a> chapter for
-  details). Sometimes the scroll wheel acts as a clickable middle button. 
-  This action is used for time-constrained region copying and mapping MIDI
-  bindings.
-</p>
-<p class="note">
-  Internally, your operating system may identify the mouse buttons as 
-  <kbd class="mouse">Button1</kbd>, <kbd class="mouse">Button2</kbd>, and
-  <kbd class="mouse">Button3</kbd>, respectively. It may be possible to 
-  invert the order of buttons to accommodate left-handed users, or to re-assign
-  them arbitrarily. This manual assumes the canonical order.
-</p>
-
-<h2>Double Clicking</h2>
-<p>
-  A <dfn>double click</dfn> refers to two rapid press/release cycles on the
-  leftmost mouse button. The time interval between the two actions that
-  determines whether this is seen as two clicks or one double click is
-  controlled by your system preferences, not by Ardour.
-</p>
-
-<h2>Dragging</h2>
-<p>
-  A <dfn>drag</dfn> primarily refers to the act of pressing the leftmost
-  mouse button, moving the mouse with the button held down, and then 
-  releasing the button. On touch surfaces, this term also corresponds to 
-  a single one-finger touch-move-release action.
-</p>
-<p>
-  Ardour also uses the middle mouse button for certain kinds of drags,
-  which will be referred to as <dfn>middle-drag</dfn>.
-</p>
-
-<h2>Modifiers</h2>
-<p>
-  There are many actions in Ardour that can be carried out using a mouse
-  button in combination with a <dfn>modifier key</dfn>. When the manual 
-  refers to <kbd class="mod1 mouse">Left</kbd>, it means that you should first 
-  press the <kbd class="mod1"></kbd> key, carry out a left click
-  while <kbd class="mod1"></kbd> is held down, and then finally release the key.
-</p>
-<p>
-  Available modifiers depend on your platform:
-</p>
-<h3>Linux Modifiers</h3>
-<ul>
-  <li><kbd>Ctrl</kbd> (Control)</li>
-  <li><kbd>Shift</kbd></li>
-  <li><kbd>Alt</kbd></li>
-  <li><kbd>Mod2</kbd></li>
-  <li><kbd>Mod3</kbd></li>
-  <li><kbd>Mod4</kbd></li>
-  <li><kbd>Mod5</kbd></li>
-</ul>
-<p class="warning">
-  The following section is almost certainly wrong. Will need to be checked
-  and rewritten asap.
-</p>
-<p>
-  Mod2 typically corresponds to the <kbd>NumLock</kbd> key on many systems.
-  On most Linux systems, there are no keys that will function as modifiers
-  Mod3, Mod4 or Mod5 by default, but they can be setup using
-  <dfn>xmodmap(1)</dfn>. This can be rather useful.
-</p>
-
-<h3>OS X Modifiers</h3>
-<ul>
-  <li><kbd>Cmd</kbd> (Command, "windmill")</li>
-  <li><kbd>Ctrl</kbd> (Control)</li>
-  <li><kbd>Alt</kbd>  (Option)</li>
-  <li><kbd>Shift</kbd></li>
-</ul>
-
-<h2>Scroll Wheel</h2>
-<p>
-  Ardour can make good use of a <dfn>scroll wheel</dfn> on your mouse, which can be
-  utilized for a variety of purposes. Scroll wheels generate vertical 
-  scroll events, <kbd class="mouse">&uArr;</kbd> (ScrollUp) and 
-  <kbd class="mouse">&dArr;</kbd> (ScrollDown). Some also emit horizontal 
-  events, <kbd class="mouse">&lArr;</kbd> (ScrollLeft) and 
-  <kbd class="mouse">&rArr;</kbd> (ScrollRight).
-</p>
-<p>
-  When appropriate, Ardour will differentiate between these two different
-  scroll axes. Otherwise it will interpret ScrollDown and ScrollLeft as
-  equivalent and similarly interpret ScrollUp and ScrollRight as equivalent.
-</p>
-<p>
-  Typically, scroll wheel input is used to adjust
-  <dfn>continuous controls</dfn> such as faders and knobs, or to scroll
-  vertically or horizontally inside a window.
-</p>
-  
diff --git a/_manual/02_introducing-ardour/03_basic-gui-operations/06_cut-and-paste-operations.html b/_manual/02_introducing-ardour/03_basic-gui-operations/06_cut-and-paste-operations.html
deleted file mode 100644 (file)
index 01d8571..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: default
-title: Cut and Paste Operations
----                        
-  
-<p>
-  The <dfn>clipboard</dfn> is a holder for various kinds of objects (regions,
-  control events, plugins) that is used during <dfn>cut-and-paste
-  operations</dfn>.
-</p>
-
-<h2>Cut</h2>
-<p>
-  A <dfn>cut</dfn> operation removes selected objects and places them in the
-  clipboard. The existing contents of the clipboard are overwriten.<br />
-  The default key binding is <kbd class="mod1">x</kbd>.
-</p>
-
-<h2>Copy</h2>
-<p>
-  A <dfn>copy</dfn> of the selected objects are placed in clipboard. There is
-  no effect on the selected objects themselves. The existing contents of the
-  clipboard are overwritten. <br />
-  The default key binding is <kbd class="mod1">c</kbd>.
-</p>
-
-<h2>Paste</h2>
-<p>
-  The current contents of the clipboard are <dfn>paste</dfn>d (inserted)
-  into the session, using the current <dfn>edit point</dfn> as the
-  destination. The contents of the clipboard remain unchanged &mdash; you
-  can paste the same item multiple times. <br />
-  The default key binding is <kbd class="mod1">v</kbd>.
-</p>
-  
diff --git a/_manual/02_introducing-ardour/03_basic-gui-operations/07_deleting-objects.html b/_manual/02_introducing-ardour/03_basic-gui-operations/07_deleting-objects.html
deleted file mode 100644 (file)
index e88c09a..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: default
-title: Deleting Objects
----                        
-
-<p>
-  Within the Editor window (and to some extent within the Mixer window too),
-  there are several techniques for <dfn>deleting</dfn> objects (regions, 
-  control points, and more).
-</p>
-
-<h2>Using the mouse and keyboard</h2>
-<p>
-  Select the object(s) and then press the <kbd>Del</kbd> key. 
-  This does <strong>not</strong> put the deleted object(s) into the cut
-  buffer, so they cannot be pasted elsewhere.
-</p>
-
-<h2>Using normal cut and paste shortcuts</h2>
-<p>
-  Select the object(s) and then press <kbd class="mod1">x</kbd>. This puts
-  the deleted object(s) into the cut buffer so that they could be pasted
-  elsewhere.
-</p>
-
-<h2>Using just the mouse</h2>
-<p>
-  By default, <kbd class="mouse">Shift Right</kbd> will delete the
-  clicked-upon object. Like the Del key, this does <strong>not</strong> 
-  put the deleted object(s) into the cut buffer.
-</p>
-<p>
-  The modifier and mouse button used for this can be controlled via 
-  <kbd class="menu">Edit &gt; Preferences &gt; User Interaction &gt; 
-  Delete using ...</kbd>. Any modifier and mouse button combination can 
-  be used.
-</p>
-  
diff --git a/_manual/02_introducing-ardour/03_basic-gui-operations/08_editing-clocks.html b/_manual/02_introducing-ardour/03_basic-gui-operations/08_editing-clocks.html
deleted file mode 100644 (file)
index 22dded2..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
----
-layout: default
-title: Editing Clocks
----
-<h2>Clock Modes</h2>
-
-<p>
-  Every clock in Ardour has four different, selectable <dfn>clock
-  modes</dfn>. Each mode displays time using different units.
-  You can change the clock mode by <kbd class="mouse">Right</kbd>-clicking
-  on the clock and selecting the desired mode from the menu. Some clocks are
-  entirely independent of any other clock's mode; others are linked so that
-  changing one changes all clocks in that group. The different modes are:
-</p>
-
-<dl>
-  <dt>Timecode</dt><dd>Time is shown as <dfn><abbr title="Society of Motion Picture and Television
-  Engineers">SMPTE</abbr> timecode</dfn> in Hours:Minutes:Seconds:Frames,
-  measured from the timecode zero point on the timeline (which may not
-  correspond to the session start and/or absolute zero on the timeline,
-  depending on configurable timecode offsets).
-  The frames value is dictated by either the session <abbr title="Frames Per
-  Second">FPS</abbr> setting, or, if slaved to an external timecode master,
-  the master's setting. In the transport clocks, the FPS value is shown below
-  the time display, along with an indication of the current timecode source
-  (<samp>INT</samp> means that Ardour is its own timecode source).</dd>
-  <dt>BBT</dt><dd>Time is shown as Bars:Beats:Ticks, indicating <dfn>musical time</dfn> measured
-  from the start of the session. The transport clocks show the current tempo
-  in <abbr title="Beats Per Minute">bpm</abbr> and meter below the time
-  display.</dd>
-  <dt>Minutes:Seconds</dt><dd>Time is shown as Hours:Minutes:Seconds.Milliseconds, measured from the
-  absolute start of the timeline (ignoring the session start and any timecode
-  offsets).</dd>
-  <dt>Samples</dt><dd>Time is shown as a <dfn>sample count</dfn> from the absolute start of the timeline
-  (ignoring the session start and any timecode offsets). The number of
-  samples per second is given by the current sample rate, and in the transport
-  clocks, this rate is shown below the time display along with any
-  pullup/pulldown adjustment.</dd>
-</dl>
-
-<h2>Changing clock values with the keyboard</h2>
-
-<p>
-  New values for the clock can be typed in after clicking on the relevant clock.
-  Clicking on the clock will show a thin vertical cursor bar just to the right
-  of the next character to be overwritten. Enter time in the same order as the
-  current clock mode&mdash;if the clock is in Timecode mode, you need to enter
-  hours, minutes, seconds, frames. So, to change to a time of 12:15:20:15 you
-  would type <kbd class="input">1 2 1 5 2 0 1 5</kbd>. Each number you type will
-  appear in a different color, from right to left, overwriting the existing value.
-  Mid-edit, after typing <kbd class="input">3 2 2 2</kbd> the clock might look like this:
-</p>
-
-<img src="/images/clockedit.png" alt="An image of a clock being edited in Ardour">
-
-<p>
-  To finish the edit, press <kbd>&crarr;</kbd> or <kbd>Tab</kbd>. To exit an
-  edit without changing the clock press <kbd>ESC</kbd>. If you mis-type an entry
-  so that the new value would be illegal (for example, resulting in more than 30
-  frames when Timecode is set to 30 frames per second), the clock will reset at
-  the end of the edit, and move the cursor back to the start so that you can
-  start over.
-</p>
-
-<h2>Avoiding the mouse entirely</h2>
-
-<p>
-  There is a shortcut available for those who wish to be able to edit the transport
-  clocks entirely without the mouse. It can be found in
-  <kbd class="menu">Window &gt; Key Bindings &gt; Transport &gt; Focus On
-  Clock</kbd>. If bound to a key (<kbd>&divide;</kbd> on the numerical
-  keypad is the
-  default), then pressing that key is equivalent to clicking on the primary (left)
-  transport clock, and editing can begin immediately.
-</p>
-
-<h2>Entering Partial Times</h2>
-
-<p>
-  One detail of the editing design that is not immediately obvious is that it is
-  possible to enter part of a full time value. Suppose that the clock is in BBT
-  mode, displaying <samp>024|03|0029</samp>, and you want to alter the value to
-  the first beat of the current bar. Click on the clock and type
-  <kbd class="input">0 1 0 0 0 0</kbd>. Similarly, if it is in Minutes:Seconds
-  mode, displaying <samp>02:03:04.456</samp>, and you want to get to exactly 2
-  hours, click on the clock and type <kbd class="input">0 0 0 0 0 0 0</kbd> to
-  reset the minutes, seconds and milliseconds fields.
-</p>
-
-<h2>Entering Delta Times</h2>
-
-<p>
-  You can also type values into the clock that are intended as a relative change,
-  rather than a new absolute value. Simply end the edit by pressing
-  <kbd>+</kbd> or <kbd>-</kbd> (the ones on any keypad will also work). The plus
-  key will add the entered value to the current value of the clock, minus will
-  subtract it. For example, if the clock is in Samples mode and displays
-  <samp>2917839</samp>, you move it back 2000 samples by typing
-  <kbd class="input">2 0 0 0</kbd> and <kbd>-</kbd>, rather than ending with
-  Enter or Tab.
-</p>
-
-<h2>Changing clock values with the mouse</h2>
-
-<h3>Using a scroll wheel</h3>
-
-<p>
-  Position the mouse pointer over the clock, and move the scroll wheel. Moving
-  the scroll wheel up (<kbd class="mouse">&uArr;</kbd>) increases the value
-  shown on the clock, moving it down  (<kbd class="mouse">&uArr;</kbd>)
-  decreases it. The step size is equal to the unit of the field
-  you are hovering over (seconds, hours, etc.).
-</p>
-
-<h3>Dragging the mouse</h3>
-
-<p>
-  Position the mouse pointer over the clock, press the left mouse button and drag.
-  Dragging upwards increases the value shown on the clock, dragging downwards
-  decreases it, again with a step size equal to the unit of the field you
-  began the drag on.
-</p>
diff --git a/_manual/03_setting-up-your-system.html b/_manual/03_setting-up-your-system.html
deleted file mode 100644 (file)
index 84c4a86..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: default
-title: Setting Up Your System
----                        
-  
-<p>
-  Using a general purpose computer for recording digital audio is not
-  trivial. This chapter will guide you through the basic steps and help
-  you with some of the most common pitfalls on the way to a reliable and
-  powerful audio workstation.
-</p>
-
-{% children %}
diff --git a/_manual/03_setting-up-your-system/01_the-right-computer-system-for-digital-audio.html b/_manual/03_setting-up-your-system/01_the-right-computer-system-for-digital-audio.html
deleted file mode 100644 (file)
index d09a5f2..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
----\r
-layout: default\r
-title: The Right Computer System for Digital Audio\r
-menu_title: The Right Computer System\r
----                        \r
-\r
-<p>\r
-  It would be nice to think that you could just go and buy any computer,\r
-  install a bit of software on it and start using it to record and create\r
-  music. This idea isn't wrong, but there some important details that it\r
-  misses.\r
-</p>\r
-<p>\r
-  Any computer that you can buy today (since somewhere around the end of\r
-  2012) is capable of recording and processing a lot of audio data. It \r
-  will come with a builtin audio interface that can accept inputs from\r
-  microphones or electrical instruments. It will have a disk with a huge\r
-  amount of space for storing audio files.\r
-</p>\r
-<p>\r
-  When you are recording, editing and mixing music, you generally want to\r
-  work with very little <dfn>latency</dfn> between the time that\r
-  a sound is generated and when you can hear it. When the audio signal\r
-  flows through a computer, that means that the computer has to be able to\r
-  receive the signal, process it and send it back out again as fast as\r
-  possible.<br /> \r
-  And that is where it becomes very important <em>what</em> computer system\r
-  you have, because it is <strong>absolutely not</strong> the case that any\r
-  computer can do this job well.\r
-</p>\r
-<p>\r
-  Routing audio through a computer will always cause some delay, but if it\r
-  is small, you will generally never notice it. There are also ways to work\r
-  in which the delay does not matter at all (for example, not sending the\r
-  output from the computer to speakers).\r
-</p>\r
-<p>\r
-  The latency that you want for working with digital audio is typically in\r
-  the 1&ndash;5&nbsp;ms range. For comparison, if you are sitting 1&nbsp;m \r
-  (3&nbsp;ft) from your speakers, the time the sound takes to reach your\r
-  ears is about 3&nbsp;ms. Any modern computer can limit the delay to \r
-  100&nbsp;ms. Most can keep it under 50&nbsp;ms. Many will be able to get\r
-  down to 10&nbsp;ms without too much effort. If you try to reduce the delay\r
-  on a computer that cannot meet your goal, you will get clicks and\r
-  glitches in the audio, which is clearly extremely undesirable.\r
-</p>\r
-\r
-<h2>Hardware-related Considerations</h2>\r
-<dl class="wide-table">\r
-  <dt>Video interface</dt>\r
-  <dd>Poorly engineered video interfaces (and/or their device drivers) can\r
-  "steal" computer resources for a long time, preventing the audio interface\r
-  from keeping up with the flow of data</dd>\r
-  <dt>Wireless interface</dt>\r
-  <dd>Poorly engineered wireless networking interfaces (and/or their device\r
-  drivers) can also block the audio interface from keeping up with the flow\r
-  of data</dd>\r
-  <dt><abbr title="Universal Serial Bus">USB</abbr> ports</dt>\r
-  <dd>If you are using an audio interface connected via USB, and sometimes\r
-  even if you are not, the precise configuration of your system's USB ports\r
-  can make a big difference. There are many cases where plugging the \r
-  interface into one port will work, but using different USB port results\r
-  in much worse performance. This has been seen even on Apple systems.\r
-  </dd>\r
-  <dt>Internal USB Hubs</dt>\r
-  <dd>Ideally, you'd like your USB ports to all connect directly to the\r
-  main bus inside the computer. Some laptops (and possibly some\r
-  desktop systems) come wired with an internal USB hub between the\r
-  ports and the system bus, which can then cause problems for various\r
-  kinds of external USB devices, including some models of audio\r
-  interfaces. It is very difficult to discover whether this is true or\r
-  not, without simplying trying it out.</dd>\r
-  <dt><abbr title="Central Processing Unit">CPU</abbr> speed control</dt>\r
-  <dd>Handling audio with low latency requires that your processor keeps\r
-  running at its highest speed at all times. Many portable systems try to\r
-  regulate processor speed in order to save power &mdash; for low latency\r
-  audio, you want this totally disabled, either in the BIOS or at the OS\r
-  level.</dd>\r
-  <dt>Excessive Interrupt Sharing</dt>\r
-  <dd>If your audio interface is forced by your computer to share an\r
-  interrupt line (basically a way to tell the CPU that something needs\r
-  its attention) with too many, or the wrong, other devices, this can also\r
-  prevent the audio interface from keeping up with the flow of data. In\r
-  laptops it is generally impossible to do anything about this. In many\r
-  desktop systems, it is possible at the BIOS level to reassign interrupts\r
-  to work around the problem.</dd>\r
-  <dt><abbr title="System Management Interrupt">SMI</abbr>s</dt>\r
-  <dd>SMIs are interrupts sent by the motherboard to tell the computer\r
-  about the state of various hardware. They cannot safely be disabled,\r
-  but they can also take a relatively long time to process. It is better\r
-  to have a motherboard which never sends SMIs at all &mdash;  this is\r
-  also a requirement for realtime stock trading systems, which have\r
-  similar issues with latency.</dd>\r
-  <dt>Hyperthreading</dt>\r
-  <dd>This technology is becoming less common as actual multi-core CPUs\r
-  become the norm, but it still exists and is generally not good for\r
-  realtime performance. Sometimes you can disable this in the BIOS,\r
-  sometimes you cannot. A processor that uses hyperthreading will be\r
-  less stable in very low latency situations than one without.</dd>\r
-  <dt>Excessive vibration</dt>\r
-  <dd>This doesn't affect the flow of data to/from the audio interface,\r
-  but it can cause the flow of data to/from your disk storage to become\r
-  <em>much</em> slower. If you are going to use a computer in an\r
-  environment with loud live sound (specifically, high bass volume),\r
-  make sure to place it so that the disk is not subject to noticeable\r
-  vibration. The vibrations will physically displace the head-write\r
-  heads of disk, and the resulting errors will force a retry of the\r
-  reading from the disk. Retrying over and over massively reduces the\r
-  rate at which data can be read from the disk. Avoid this.</dd>\r
-</dl>\r
diff --git a/_manual/03_setting-up-your-system/02_mouse.html b/_manual/03_setting-up-your-system/02_mouse.html
deleted file mode 100644 (file)
index 1329780..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: default
-title: Mouse
----
-
-<p>
-  Ardour is designed to work best with a <dfn>three button mouse</dfn>
-  equipped with a <dfn>scroll wheel</dfn>.
-</p>
-<p>
-  It can be used with a two button mouse or touchpad, but at least two key
-  operations will not (easily) be available to you:
-</p>
-<ul>
-  <li>time-constrained region copying</li>
-  <li><a href="/using-control-surfaces/generic-midi/midi-learn/"><abbr title="Musical
-  Instrument Digital Interface">MIDI</abbr> bindings</a>
-  created by "learning" them from incoming MIDI data</li>
-</ul>
-<p>
-  You are strongly encouraged to invest in a three-button mouse. You will
-  find that a good quality mouse (especially one with a weighted,
-  latchable scroll wheel) will make your use of Ardour vastly more
-  efficient. They are cheap, and time is not.
-</p>
-<p>
-  For more detailed instructions, see
-  <a href="/introducing-ardour/basic-gui-operations/using-the-mouse//">Using the mouse</a>.
-</p>
diff --git a/_manual/03_setting-up-your-system/03_using-external-midi-devices.html b/_manual/03_setting-up-your-system/03_using-external-midi-devices.html
deleted file mode 100644 (file)
index c40ff1e..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
----
-layout: default
-title: Using External MIDI Devices
----                        
-
-
-  
-  
-  
diff --git a/_manual/03_setting-up-your-system/04_connecting-audio-and-midi-devices.html b/_manual/03_setting-up-your-system/04_connecting-audio-and-midi-devices.html
deleted file mode 100644 (file)
index c9c7ce9..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
----
-layout: default
-title: Connecting Audio and MIDI Devices
----                        
-
-
-  
-  
-  
diff --git a/_manual/03_setting-up-your-system/05_setting-up-midi.html b/_manual/03_setting-up-your-system/05_setting-up-midi.html
deleted file mode 100644 (file)
index 4172ba9..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: default
-title: Setting Up MIDI
----                        
-
-<h2>What Can Ardour Do With MIDI?</h2>
-<p>
-  <dfn><abbr title="Musical Instrument Digital
-  Interface">MIDI</abbr></dfn> is a way to describe musical
-  performances and to control music hardware and software.
-</p> 
-<p>Ardour can import and record MIDI data, and perform a variety of
-  editing operations on it. Furthermore, MIDI can be used to control
-  various functions of Ardour.
-</p>
-
-<h2>MIDI Handling Frameworks</h2>
-<p>
-  MIDI input and output for Ardour are handled by the same "engine"
-  that handles audio input and output. 
-</p>
-
-<dl>
-<dt>OS X</dt>
-<dd>  <dfn>CoreMIDI</dfn> is the standard MIDI framework on OSX systems. 
-</dd>
-<dt>Linux</dt>
-<dd>
-  <dfn><abbr title="Advanced Linux Sound API">ALSA</abbr> MIDI</dfn>
-  is the standard MIDI framework on Linux systems.
-</dd>
-<dt>Windows</dt>
-<dd>
-  <dfn>There is no single standard MIDI framework on Windows,
-    but Ardour can work with ASIO and others.
-</dd>
-
-</dl>
-
-<p class="note">
-  On Linux systems, <dfn>QJackCtl</dfn> control software displays ALSA MIDI
-  ports under its "ALSA" tab (it does not currently display CoreMIDI
-  ports).  By contrast, JACK MIDI ports show up under
-  the <kbd class="menu">MIDI</kbd> tab in QJackCtl.
-</p>
-   
-<h2>JACK MIDI Configuration</h2>
-<p>
-By default, JACK will <strong>not</strong> automatically detect and use existing MIDI
-ports on your system. You must choose one of several ways
-of <dfn>bridging</dfn> between the native MIDI frameworks
-(e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections
-below.
-</p>
-
-{% children %}
diff --git a/_manual/03_setting-up-your-system/05_setting-up-midi/01_midi-on-os-x.html b/_manual/03_setting-up-your-system/05_setting-up-midi/01_midi-on-os-x.html
deleted file mode 100644 (file)
index 8107a2e..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: default
-title: MIDI on OS X
----                        
-  
-<p>
-  In order for CoreMIDI to work with Jack MIDI, a CoreMIDI-to-JACK-MIDI
-  <dfn>bridge</dfn>
-  is required. This feature is available on versions equal to or great than
-  version 0.89 of JackOSX.
-</p>
-
-<h2>Routing MIDI</h2>
-<h3>Inside Ardour</h3>
-<p>
-  MIDI ports show up in Ardour's MIDI connection matrix in multiple
-  locations. Bridged CoreMIDI ports as well as JACK MIDI ports that have 
-  been created by other software clients will show up under the "Other" tab. 
-  Bridged CoreMIDI hardware ports show up under the "Hardware" tab.
-</p>
-
-<h3>External Applications</h3>
-<p>
-  There are multiple options for connecting MIDI ports outside of Ardour.
-</p>
-<ul>
-  <li><a href="http://www.snoize.com/MIDIMonitor/">MIDI Monitor</a> is a handy
-  tool for doing various MIDI-related tasks.</li>
-  <li><a href="http://notahat.com/midi_patchbay/">MIDI Patchbay</a> lets you
-  connect ports and filters MIDI data.</li>
-</ul>
-
-  
diff --git a/_manual/03_setting-up-your-system/05_setting-up-midi/02_midi-on-linux.html b/_manual/03_setting-up-your-system/05_setting-up-midi/02_midi-on-linux.html
deleted file mode 100644 (file)
index f775c83..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
----
-layout: default
-title: MIDI on Linux
----                        
-
-The right approach for using MIDI on Linux depends on which version of
-JACK you use. The world divides into:
-
-<dl>
-<dt>Systems using JACK 1, versions 0.124 or later</dt>
-<dd>On these systems, just start JACK with 
- the <code>-X alsa_midi</code> server argument. To support legacy control
- applications, you can also use the -X seq argument to the ALSA
- backend of JACK and get the exact same results.</dd>
-<dt>All others</dt>
-<dd>Use a2jmidid to act as a bridge between ALSA MIDI and JACK. Do
-  not use the -X seq or -X raw arguments - the timing and performance
-  of these options is not acceptable.
-</dd>
-</dl>
-  
-<h2>a2jmidid</h2>
-<p>
-  <dfn>a2jmidid</dfn> is an application that bridges between the system
-  <abbr title="Musical Instrument Digital Interface">MIDI</abbr> ports and
-  <abbr title="JACK Audio Connection Kit">JACK</abbr>.
-</p>
-<p>
-  First you should make sure that there is no ALSA sequencer support enabled
-  in JACK. To do that open QJackCtl's <kbd class="menu">Setup</kbd> window.
-</p>
-<p>
-  Set <kbd class="menu">Settings &gt; MIDI Driver</kbd> to <kbd
-  class="input">none</kbd>.
-  Then uncheck the <kbd class="optoff">Misc &gt; Enable ALSA Sequencer
-  support</kbd> option.<br />
-  Now it's time to restart your jack server before going on.
-</p>
-
-<h3>Check for a2jmidid availability</h3>
-<p>
-  First, check whether a2jmidid is already installed in your system. After
-  starting your JACK server, go to the command line and type
-</p>
-<kbd class="cmd lin">a2jmidid -e</kbd>
-<p>
-  If a2jmidid does not exist, install it with the software manager of your
-  Linux distribution and try again.
-</p>
-
-
-<h2>Check available MIDI ports</h2>
-<p>
-  If you have correctly configured JACK for MIDI, then your MIDI ports should appear in
-  qjackctl under <kbd class="menu">Connections &gt; MIDI </kbd>.
-</p>
-
-<h3>Making it automatic</h3>
-<p>
-Once you've verified that the ports appear in JACK as expected, you
-can make this happen whenever you start JACK.
-</p>
-
-<p>If you use a newer version of JACK 1, just make sure the -X
-alsa_midi or -X seq options are enabled for whatever technique you use
-to start JACK.
-</p>
-
-<p>
-For other versions of JACK,
-add <kbd class="input">a2jmidid -e &amp;</kbd> as an "after start-up" script
-in the <kbd class="menu">Setup &gt; Options</kbd> tab of QJackCtl, so
-that it is started automatically whenever you start JACK.
-</p>
diff --git a/_manual/03_setting-up-your-system/06_using_more_than_one_audio_device.html b/_manual/03_setting-up-your-system/06_using_more_than_one_audio_device.html
deleted file mode 100644 (file)
index b979a86..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
----
-layout: default
-title: Using More Than One Audio Device
----                        
-    
-<p>
-  Ardour will only ever deal with a single <dfn>audio device</dfn>. If you 
-  want to use more than one, you have two choices: 
-</p>
-<ul>
-  <li>
-    If you want to use Ardour to start JACK (which handles all
-    audio I/O) you will need to create a "fake" audio device on your
-    computer the represents all the multiple devices you wish to
-    use. How to do this is platform dependent and described below.
-  </li>
-  <li>
-    Use a different tool to start JACK and manage all the devices.
-  </li>
-</ul>
-<p>
-  Ardour is fundamentally designed to be a component in a
-  pro-audio/music creation environment. Standard operating practice
-  for such setups involves using only a single digital <dfn>sample
-  clock</dfn> (something counting off the time between audio samples). 
-  This means that trying to use multiple independent soundcards is
-  problematic, because each soundcard has its own sample clock, running 
-  independently from the others. Over time, these different clocks
-  <dfn>drift</dfn> 
-  out of sync with each other, which causes glitches in the audio. You 
-  cannot stop this drift, although in some cases the effects may be
-  insignificant enough that some people might not care about them.
-</p>
-<p>
-  Thus in an ideal world you should not use multiple independent
-  soundcards but instead use a single device with a single clock and all
-  the inputs, outputs and other features that you need.
-</p>
-<p>
-  Of course, a lot of people don't live in an ideal world, and believe
-  that software should make up for this.
-</p>
-
-<h2>OS X</h2>
-<p>
-  In CoreAudio, <dfn>aggregate devices</dfn> provide a method to use 
-  multiple soundcards as a single device. For example, you can 
-  aggregate two 8-channel devices so that you can record 16 channels
-  into Ardour.
-</p>
-<div class="note">
-<p>
-  If you are using a <em>single</em> typical 3rd party
-  audio interface (such as those from Apogee, RME, Presonus, and many
-  others), <em>or</em> you are using JackPilot or a similar
-  application to start JACK, you do not need to worry about this.<br />
-  You will need to set up an aggregate device only if either 
-  of the following conditions are true:
-</p>
-<ul>
-  <li>You want to use two entirely separate
-    devices <em>and</em> want to start JACK using Ardour.</li>
-  <li>You want to use your <dfn>builtin audio device</dfn> <em>and</em>
-    want to start JACK using Ardour.</li>
-  <li>You want to use more than two entirely separate devices</li>
-</ul>
-</div>  
-<p>
-  In the case of your builtin audio device, you will need to create
-  an aggregate device that combines "Builtin Input" and "Builtin
-  Output" into one device.
-</p>
-<p>
-  The precise instructions for creating an aggregate device on OS X
-  have varied from one released to another. Please read <a href="https://support.apple.com/en-us/HT202000">https://support.apple.com/en-us/HT202000</a>
-</p>
-
-<h2>Linux</h2>
-<p>
-  Please see the instructions at <a href="http://jackaudio.org/faq/"
-  title="http://jackaudio.org/faq/">http://jackaudio.org/faq</a>
-</p>
-  
diff --git a/_manual/03_setting-up-your-system/07_platform-specifics.html b/_manual/03_setting-up-your-system/07_platform-specifics.html
deleted file mode 100644 (file)
index ef6b154..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: default
-title: Platform Specifics
----                        
-
-<h2>Platform Specifics</h2>
-<p>
-  This section of the manual collects together the collective wisdom
-  of the user community regarding details of using Ardour on various
-  specific platforms
-</p>
-
-{% children %}
diff --git a/_manual/03_setting-up-your-system/07_platform-specifics/01_ubuntu-linux.html b/_manual/03_setting-up-your-system/07_platform-specifics/01_ubuntu-linux.html
deleted file mode 100644 (file)
index 349142c..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
----
-layout: default
-title: Ubuntu Linux
----
-
-<p>
-  <dfn>Ubuntu Linux</dfn> is the most popular variety of Linux in use on desktop
-  and laptop systems. It has the backing of a for-profit corporation
-  (Canonical Inc.), a defined philosophy and a huge and
-  worldwide user base. As a result, it is a common platform for people
-  who want to use Ardour and other tools for music creation and
-  pro-audio work.
-</p>
-
-<h2>High Level Recommendations for Ubuntu Users</h2>
-<p>
-  Currently, installing pro audio applications on vanilla Ubuntu requires
-  some configuration, in order for the user to gain realtime privilege
-  (read below).
-  Ubuntu Studio, which is an official flavor of Ubuntu, and thus shares
-  the repositories with Ubuntu, has this already configured.
-  Other distributions, such as KXStudio, and Dreamstudio are largely based
-  on Ubuntu, and like Ubuntu Studio, has these settings preconfigured, while
-  also containing customized versions of Ubuntu packages, which often are
-  more up to date.
-</p>
-
-<h2>Installing Ardour</h2>
-<p>
-  There may be unintended differences, and even bugs in Ubuntu native
-  packages, as a result of a different building method. For this reason,
-  Ardour developers highly recommend you to install the official
-  ready-to-run version of the program that you can get from <a
-  href="https://community.ardour.org/download">ardour.org</a>, as Ubuntu native
-  packages are not supported in official Ardour forums or other
-  support channels.
-</p>
-<p>
-  Follow these steps to install the latest version of Ardour.
-  <ol>
-  <li>Download the latest release from <a href="https://community.ardour.org/download">
-    ardour.org</a>.</li>
-  <li><kbd class="mouse">Right+Click</kbd> the downloaded file and choose
-    properties.</li>
-  <li>Click the Permissions tab and check the option "Allow this file to
-    run as a program"</li>
-  <li>Close the dialog and double-click the file.</li>
-  <li>Follow the prompts.</li>
-</ol>
-</p>
-
-<h2>Problems with the interaction between PulseAudio and JACK</h2>
-
-<h3>Background Info</h3>
-<p>
-  Like many distributions, Ubuntu has decided to use <dfn>PulseAudio</dfn> as the
-  default audio system. PulseAudio is a rich and capable system that
-  provides excellent services for typical users of Linux on the
-  desktop. However, it is not capable of the type of performance that
-  tools like Ardour require and in particular does not offer the
-  possibility of sending audio between applications that can make the
-  Linux audio environment a very interesting one.
-</p>
-<p>
-  This would not be a problem if it were not for the fact that JACK
-  will not run correctly (if at all) if it needs to use the same
-  soundcard/audio interface that PulseAudio is using. And since on
-  Ubuntu, PulseAudio is configured by default to always use the
-  (typically single) audio interface on your computer, this is a bit
-  of a problem.
-</p>
-<p>
-  The developers of JACK and PulseAudio got together in 2009 and
-  agreed upon a mechanism by which PulseAudio and JACK could cooperate
-  in their use of a single soundcard. Whether or not PulseAudio is running by
-  default, when JACK starts up it sends out a request to use the
-  soundcard. If PulseAudio is running, it will give up its use of the
-  soundcard to allow JACK to take over (and can optionally be told to
-  route its own audio through JACK). When JACK finishes, it sends out
-  another message, and PulseAudio can once again use the soundcard
-  directly.
-</p>
-<h3>What is the problem?</h3>
-<p>
-  The specific issues known at this time for all flavors of Ubuntu
-  12.04 and 12.10 are:
-</p>
-  <ul>
-    <li>a bug in PulseAudio that causes it not to give up the
-      soundcard when JACK asks
-      (<a href="https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1163638">LP:
-      #1163638</a>,
-      fixed in Ubuntu 13.04).</li>
-  </ul>
-
-<h3>Symptoms</h3>
-<p>
-    <samp>Cannot start JACK</samp> (though see the next section for other
-      causes of this)
-</p>
-
-<h3>How to fix</h3>
-<p>
-  These bugs do not affect releases from 13.04, and earlier releases
-  (12.04 and 12.10) are in the process of being fixed.
-</p>
-
-<h2>Problems with JACK configuration</h2>
-
-<h3>What is the problem?</h3>
-    <p>
-      To function as intended, JACK needs to run with access to two
-      operating system facilities called <dfn>realtime scheduling</dfn> and
-      <dfn>memory locking</dfn>. This means that you, the user who starts JACK, must be
-      allowed access to these facilities. By default, Ubuntu does create a
-      user group that has this permission but &mdash; it does not put new
-      users into this group by default. Read more about why <a href="https://wiki.ubuntu.com/Audio/TheAudioGroup">here</a>.
-      Consequently, you will not have permission to run JACK in the way you should.
-    </p>
-<h3>Symptoms</h3>
-    <p>
-      A message like <samp>Cannot lock down memory</samp> in the output from JACK as
-      it starts up. This output may be hidden in the Messages window of
-      QJackctrl (aka JACK Control), so you should check there.
-    </p>
-
-<h3>How to fix</h3>
-    <p>
-      Make sure the file /etc/security/limits.d/audio.conf exists. If it is
-      named /etc/security/limits.d/audio.conf.disabled, rename it to the former.
-      Run the command
-    </p>
-    <kbd class="cmd lin">sudo usermod -a -G audio
-    <em>YOUR-LOGIN-NAME</em></kbd>
-    <p>
-      Then log out and log in again. On Ubuntu Studio the user is a member of audio
-      group by default, but not on other official flavors.
-    </p>
-
-<h2>Reporting Issues</h2>
-<p>
-  Given the difficulties in supporting Ubuntu and the limited time/resources
-  of the Ardour team, the <dfn>Ubuntu Studio Project</dfn> has requested that
-  issues and bug reports related to Ubuntu, Ubuntu Studio and other
-  derivitives be directed to them.
-</p>
-<h3>Contact Information for Ubuntu Studio</h3>
-<p><a href="http://ubuntustudio.org">The Ubuntu Studio Homepage</a></p>
-<p><a href="http://ubuntuforums.org/forumdisplay.php?f=335">The Ubuntu Studio Forums.</a></p>
-<p><a href="https://help.ubuntu.com/community/UbuntuStudio/MailLists">Information on the Ubuntu Studio Mailing Lists.</a></p>
-<p><a href="https://help.ubuntu.com/community/UbuntuStudio/IRC">Information on the Ubuntu Studio IRC channel.</a> #ubuntustudio on irc.freenode.net</p>
diff --git a/_manual/03_setting-up-your-system/07_platform-specifics/02_microsoft-windows.html b/_manual/03_setting-up-your-system/07_platform-specifics/02_microsoft-windows.html
deleted file mode 100644 (file)
index 781b718..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: default
-title: Microsoft Windows
----
-
-<p>
-  <dfn>Microsoft Windows</dfn> is not currently officially supported. If you are
-  willing to live with bugs and <b>help to test</b> this platform, read on.
-</p>
-
-<h2>Installing Ardour</h2>
-<p>
-  <ol>
-    <li>Download the latest windows build from <a href="http://nightly.ardour.org/">
-      the nightly build page</a>.</li>
-    <li>Run the installer and follow the prompts.</li>
-  </ol>
-</p>
-
-<h2>How to help</h2>
-<p>
-  <ul>
-    <li>Hang out in #ardour-windows on irc.freenode.net. You may ask questions
-      there and if you can, answer questions that others have.</li>
-    <li>Keep an eye on the <a href="https://community.ardour.org/forum/27"> Windows
-      forum</a> and contribute to the discussions there.</li>
-    <li>Update this manual via pull requests on <a href="https://github.com/Ardour/manual">github<a/>.</li>
-  </ul>
-</p>
diff --git a/_manual/03_setting-up-your-system/08_starting-ardour.html b/_manual/03_setting-up-your-system/08_starting-ardour.html
deleted file mode 100644 (file)
index a04323f..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: default
-title: Starting Ardour
----
-
-<p>
-  There are several ways of <dfn>starting Ardour</dfn>, which may vary
-  depending on which platform you are using it.
-</p>
-<ul>
-  <li>double-click the Ardour icon in your platform's file manager (e.g.
-  Nautilus on Linux, Finder on OS X)</li>
-  <li>double click on an Ardour session file in your platform's file manager</li>
-  <li>on Linux, you can also start Ardour on the command line (see below)</li>
-</ul>
-<p>
-  When Ardour is run for the very first time, a special dialog is displayed
-  that will ask you several questions about your setup. You will not be asked
-  these questions again, but you can always modify your choices via the
-  <kbd class="menu">Edit &gt; Preferences</kbd> dialog.
-</p>
-<p>
-  If you want to use JACK, in general, it is sensible to start it <em>before</em> you run Ardour. This is not
-  necessary, but will provide you with more control and options over JACK's operation.
-  You can start JACK through its <abbr title="Command Line Interface">CLI</abbr>, or using a <abbr title="Graphical User Interface">GUI</abbr>
-  program, like <a href="https://qjackctl.sourceforge.io/">QjackCtl</a> or <a href="http://kxstudio.linuxaudio.org/Applications:Cadence">Cadence</a>.
-</p>
-<p>
-  If you open Ardour without specifying an existing session it will display
-  the <kbd class="menu">Session &gt; New...</kbd> dialog and the <kbd class="menu">Audio/MIDI Setup</kbd> dialog.
-  See <a href="/working-with-sessions/new-session-dialog/">New/Open Session Dialog</a> for a description of those dialogs.
-</p>
-
-<h2>Starting Ardour From the Command Line (Linux)</h2>
-
-<p>
-  Like (almost) any other program on Linux, Ardour can be started on the
-  command line. Type the following command in a terminal window:
-</p>
-<kbd class="cmd lin">Ardour5</kbd>
-<p>
-  To start Ardour with an existing session:
-</p>
-<kbd class="cmd lin">Ardour5 <em>/path/to/session</em></kbd>
-<p>
-  replacing /path/to/session with the actual path to your session. You can
-  specify either the session folder or any session file inside the folder,
-  including snapshots.
-</p>
-<p>
-  To start Ardour with a new, named session:
-</p>
-<kbd class="cmd lin">Ardour5 -N <em>/path/to/session</em></kbd>
diff --git a/_manual/04_meters.html b/_manual/04_meters.html
deleted file mode 100644 (file)
index 985f5d9..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
----
-layout: default
-title: Metering in Ardour
----                        
-
-<h2>Introduction</h2>
-<p>
-  An engineer reading and using audio level meters compares to a musician 
-  reading or writing sheet-music. Just like there are virtuoso musicians 
-  who can't read a single note, there are great sound-engineers who just
-  go by their ears and produce great mixes and masters without ever looking 
-  at a single meter.
-</p>
-<p>
-  Yet, if you want to work in or with the broadcast industry, it is 
-  usually unavoidable to use meters.
-</p>
-<p>
-  Audio level meters are very powerful tools that are useful in every 
-  part of the entire production chain:
-</p>
-<ul>
-  <li>When tracking, meters are used to ensure that the input 
-  signal does not <dfn>overload</dfn> and maintains reasonable 
-  <dfn>headroom</dfn>.</li>
-  <li>Meters offer a <dfn>quick visual indication</dfn> of a 
-  activity when working with a large number of tracks.</li>
-  <li>During mixing, meters provide an rough estimate of the 
-  <dfn>loudness</dfn> of each track.</li>
-  <li>At the mastering stage, meters are used to check 
-  compliance with upstream <dfn>level</dfn> and <dfn>loudness 
-  standards</dfn> and to optimize the <dfn>loudness range</dfn>
-  for a given medium.</li>
-</ul>
-
-<h2>Meter Types</h2>
-<p>
-  A general treatise on metering is beyond the scope of this 
-  manual. It is a complex subject with a history...
-  For background information and further reading we recommend:
-</p>
-<ul>
-  <li><a href="http://www.digido.com/how-to-make-better-recordings-part-2.html">How To Make Better Recordings in the 21st Century - An Integrated Approach to Metering, Monitoring, and Leveling Practices</a> by Bob Katz. Has a good historic overview of meters and motivates the K-meter</li>
-  <li><a href="https://en.wikipedia.org/wiki/Peak_programme_meter#Table_of_characteristics">Wikipedia: Peak programme meter</a> - overview of meter types.</li>
-  <li>"Audio Metering: Measurements, Standards and Practice: Measurements, Standards and Practics", by Eddy Brixen. ISBN: 0240814673</li>
-  <li>"Art of Digital Audio", by John Watkinson. ISBN: 0240515870</li>
-</ul>
-
-<p>
-  There are different metering standards, most of which are available in Ardour. In short:
-</p>
-
-<dl>
-  <dt>Digital peak-meter</dt>
-  <dd>A <dfn>Digital Peak Meter</dfn> displays the absolute maximum signal 
-  of the raw audio PCM signal (for a given time). It is commonly used when 
-  tracking to make sure the recorded audio never clips. To that end, DPMs 
-  are always calibrated to 0&nbsp;<abbr title="DeciBel Full
-  Scale">dBFS</abbr>, or the maximum level that can be represented digitally
-  in a given system. This value has no musical reason whatsoever and depends 
-  only on the properties of the signal chain or target medium. There are 
-  conventions  for <dfn>fall-off-time</dfn> and <dfn>peak-hold</dfn>, but no 
-  exact specifications.
-  <p>
-  Various conventions for DPM fall-off times and dBFS line-up level can be 
-  chosen in <kbd class="menu">Edit &gt; Preferences &gt; GUI</kbd>.
-  </p>
-  </dd>
-
-  <dt>RMS meters</dt>
-  <dd>An <dfn><abbr title="Root Mean Square">RMS</abbr>-type meter</dfn>
-  is an averaging meter that looks at the energy in the signal. It 
-  provides a general indication of loudness as perceived by humans. Ardour 
-  features three RMS meters, all of which offer additonal peak indication.
-  <ul>
-    <li><dfn>K20</dfn>: A meter according to the K-system introduced by Bob
-    Katz, scale aligned to -20&nbsp;dBFS, rise/fall times and color schema
-    according to spec.</li>
-    <li><dfn>K14</dfn>: Same as K20 with scale aligned to -14&nbsp;dBFS.</li>
-    <li><dfn>K12</dfn>: Same as K20 with scale aligned to -12&nbsp;dBFS (since 3.5.143).</li>
-    <li><dfn>Peak + RMS</dfn>: standard RMS, customizable via
-    <kbd class="menu">Edit &gt; Preferences &gt; GUI &gt; Metering</kbd></li>
-  </ul>
-  </dd>
-
-  <dt>IEC PPMs</dt>
-  <dd><dfn><abbr title="International Electrontechnical Commission">IEC</abbr>-type 
-  <abbr title="Peak Programme Meters">PPM</abbr>s</dfn> are a mix between DPMs and 
-  RMS meters, created mainly for the purpose of 
-  interoperability. Many national and institutional varieties exist (<abbr
-  title="European Broadcasting Union">EBU</abbr>, <abbr title="British Broadcasting
-  Corporation">BBC</abbr>, <abbr title="Deutsche Industrie-Norm">DIN</abbr>). 
-  <p>
-  These loudness and metering standards provide a common point of 
-  reference which is used by broadcasters in particular so that the 
-  interchange of material is uniform across their sphere of influence,
-  regardless of the equipment used to play it back.
-  </p>
-  <p>
-  For home recording, there is no real need for this level of
-  interoperability, and these meters are only strictly required when 
-  working in or with the broadcast industry. However, IEC-type meters have 
-  certain characteristics (rise-time, ballistics) that make them useful 
-  outside the context of broadcast.
-  </p>
-  <p>
-  Their specification is very exact, and consquently, there are no 
-  customizable parameters.
-  </p>
-  </dd>
-  
-  <dt>VU meters</dt>
-  <dd><dfn><abbr title="Volume Unit">VU</abbr> meters</dfn> are the dinosaurs (1939) 
-  amongst the meters. They react very slowly, averaging out peaks.
-  Their specification is very strict (300ms rise-time, 1 - 1.5% overshoot, 
-  flat frequency response). Ardour's VU meter adheres to that spec, but for 
-  visual consistency it is displayed as a bar-graph rather than needle-style
-  (more below).
-  </dd>
-</dl>
-
-<h2>Ardour Specifics</h2>
-
-<img class="right" src="/images/mixer-meter-context-menu.png" alt="mixer strip meter context menu" />
-<p>
-  Meters are available in various places in ardour:
-</p>
-<ul>
-  <li>The mixer window features fixed height meters for each <dfn>channel strip</dfn>.</li>
-  <li>There are small (narrow) meters on each <dfn>track-header</dfn> in the editor window.</li>
-  <li>There are variable height meters in the <dfn>meterbridge window</dfn>.</li>
-  <li>Optionally, a fixed-size <dfn>master meter</dfn> can be displayed in the main toolbar.</li>
-  <li>Various other locations (<dfn>file import</dfn>, <dfn>sends</dfn>) have level-meters.</li>
-</ul>
-<p>
-  They all share the same configuration and color-theme which is available in
-  preferences and the theme-manager. Settings for the Peak and RMS+Peak meters 
-  as well as VU meter standards are found in  
-  <kbd class="menu">Edit &gt; Preferences &gt; GUI &gt; Metering</kbd>.
-</p>
-<p>
-  The type of meter and the <dfn>metering point</dfn> (the place in the signal chain
-  where the meter taps the signal) are configurable in the context menu of each meter.
-  Depending on the <kbd class="menu">Edit &gt; Preferences &gt; GUI &gt; Mixer
-  Strip</kbd> settings, the metering point is also accessible via a button in
-  each Mixer strip.
-</p>
-<img class="right" src="/images/meter-preferences.png" alt="" />
-<p>
-  Regardless of meter type and standard the meter display will highlight red if 
-  the signal on the given channel exceeds the configured peak threshold.
-</p>
-<p>
-  <kbd class="mouse">Left</kbd> on the peak-indicator button resets the
-  <dfn>peak-hold indicator</dfn> of a single channel.<br />
-  <kbd class="mod1 mouse">Left</kbd> resets a whole <dfn>group</dfn>, and<br/>
-  <kbd class="mod13 mouse">Left</kbd> resets all meters.
-</p>
-
-<h2>Overview of meter types</h2>
-
-<p>
-  The figure on the left shows all available meter-types in Ardour 3.4 when fed with a 
-  -18&nbsp;dBFS 1&nbsp;kHz sine wave.
-</p>
-
-<img class="right" style="max-width:45%;height:400px;" src="/images/needle-meters-18.png"
-alt="Needle-style meters as external LV2 plugins" />
-<img style="max-width:45%; height:400px" src="/images/meter-types-18.png"
-alt="Bar-graph meters in Ardour" />
-
-<p>
-  Due to layout concerns and consistent look&amp;feel all meters available in 
-  Ardour itself are bar-graph type meters. Corresponding needle-style meters
-  &mdash;  which take up more visual screen space &mdash; are available as 
-       LV2 plugins (see image on the right):
-       <a href="https://github.com/x42/meters.lv2/">meters.lv2</a>.
-</p>
diff --git a/_manual/05_ardours-interface.html b/_manual/05_ardours-interface.html
deleted file mode 100644 (file)
index 231b9c3..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title: Ardour's Interface
----
-
-<p>
-  In Ardour, work is done in two main windows: the <dfn>Editor</dfn> and the
-  <dfn>Mixer</dfn>.
-</p>
-
-<figure style="width:100%;">
-
-  <div class="container" style="float:left; width: 615px; height: 445px; background-image: url('/images/editor_split_OSTitlebar.png');">
-    <a href="/ardours-interface/main-menu/" alt="Menu"><div class="hoverimg" style="left: 12px; top: 18px; width: 194px; height: 15px; background-image: url('/images/editor_split_Menu.png');"></div></a>
-    <a href="/ardours-interface/status-bar/" alt="Status Bar"><div class="hoverimg" style="left: 219px; top: 18px; width: 379px; height: 15px; background-image: url('/images/editor_split_StatusBar.png');"></div></a>
-    <a href="/ardours-interface/the-transport-bar/" alt="Transport Bar"><div class="hoverimg" style="left: 10px; top: 36px; width: 199px; height: 39px; background-image: url('/images/editor_split_TransportBar.png');"></div></a>
-    <a href="/ardours-interface/transport-clocks/" alt="Transport Clocks"><div class="hoverimg" style="left: 214px; top: 35px; width: 147px; height: 39px; background-image: url('/images/editor_split_TransportClocks.png');"></div></a>
-    <a href="/ardours-interface/selection-and-punch-clocks/" alt="Selection and Punch Clocks"><div class="hoverimg" style="left: 366px; top: 35px; width: 133px; height: 39px; background-image: url('/images/editor_split_SelectionandPunchClocks.png');"></div></a>
-    <a href="/ardours-interface/status-indicators/" alt="Status and Mode buttons"><div class="hoverimg" style="left: 504px; top: 35px; width: 94px; height: 39px; background-image: url('/images/editor_split_StatusandModebuttons.png');"></div></a>
-    <a href="/ardours-interface/audio-midi-mixer-strips/" alt="Editors Mixer Strip"><div class="hoverimg" style="left: 6px; top: 78px; width: 56px; height: 332px; background-image: url('/images/editor_split_EditorsMixerStrip.png');"></div></a>
-    <a href="/ardours-interface/the-summary/" alt="Summary"><div class="hoverimg" style="left: 72px; top: 385px; width: 394px; height: 51px; background-image: url('/images/editor_split_Summary.png');"></div></a>
-    <a href="/ardours-interface/editor-lists/" alt="Editors List"><div class="hoverimg" style="left: 474px; top: 105px; width: 122px; height: 309px; background-image: url('/images/editor_split_EditorsList.png');"></div></a>
-    <a href="/ardours-interface/the-nudge-controls/" alt="Nudge Controls"><div class="hoverimg" style="left: 512px; top: 79px; width: 94px; height: 23px; background-image: url('/images/editor_split_NudgeControls.png');"></div></a>
-    <a href="/ardours-interface/the-edit-point-control/" alt="Edit Point"><div class="hoverimg" style="left: 461px; top: 80px; width: 45px; height: 23px; background-image: url('/images/editor_split_EditPoint.png');"></div></a>
-    <a href="/ardours-interface/the-grid-controls/" alt="Grid Controls"><div class="hoverimg" style="left: 349px; top: 80px; width: 108px; height: 23px; background-image: url('/images/editor_split_GridControls.png');"></div></a>
-    <a href="/ardours-interface/the-zoom-controls/" alt="Zoom Controls"><div class="hoverimg" style="left: 215px; top: 79px; width: 129px; height: 23px; background-image: url('/images/editor_split_ZoomControls.png');"></div></a>
-    <a href="/ardours-interface/the-toolbox/" alt="Toolbox"><div class="hoverimg" style="left: 69px; top: 79px; width: 140px; height: 23px; background-image: url('/images/editor_split_Toolbox.png');"></div></a>
-    <a href="/ardours-interface/the-ruler/" alt="Rulers"><div class="hoverimg" style="left: 72px; top: 105px; width: 394px; height: 62px; background-image: url('/images/editor_split_Rulers.png');"></div></a>
-    <div class="hoverimg" style="left: 69px; top: 170px; width: 8px; height: 197px; background-image: url('/images/editor_split_Groupstabs.png');"></div>
-    <div class="hoverimg" style="left: 81px; top: 320px; width: 386px; height: 62px; background-image: url('/images/editor_split_aMIDITrack.png');"></div>
-    <div class="hoverimg" style="left: 81px; top: 285px; width: 386px; height: 33px; background-image: url('/images/editor_split_anotherAudioTrack.png');"></div>
-    <div class="hoverimg" style="left: 81px; top: 248px; width: 386px; height: 34px; background-image: url('/images/editor_split_Automation.png');"></div>
-    <div class="hoverimg" style="left: 81px; top: 207px; width: 386px; height: 37px; background-image: url('/images/editor_split_anAudioTrack.png');"></div>
-    <div class="hoverimg" style="left: 81px; top: 170px; width: 386px; height: 33px; background-image: url('/images/editor_split_MasterBusTrack.png');"></div>
-  </div>
-  &nbsp;
-       <div class="container" style="float:left; width: 627px; height: 430px; background-image: url('/images/mixer_split_OsTitleBar.png');">
-                       <a href="/ardours-interface/main-menu/" alt="Menu Bar"><div class="hoverimg" style="left: 18px; top: 17px; width: 193px; height: 16px; background-image: url('/images/mixer_split_MenuBar.png');"></div></a>
-                       <a href="/ardours-interface/status-bar/" alt="Status Bar"><div class="hoverimg" style="left: 226px; top: 17px; width: 379px; height: 16px; background-image: url('/images/mixer_split_StatusBar.png');"></div></a>
-                       <a href="/ardours-interface/the-transport-bar/" alt="Transport Bar"><div class="hoverimg" style="left: 12px; top: 37px; width: 198px; height: 38px; background-image: url('/images/mixer_split_TransportBar.png');"></div></a>
-                       <a href="/ardours-interface/transport-clocks/" alt="Transport Clocks"><div class="hoverimg" style="left: 216px; top: 38px; width: 146px; height: 38px; background-image: url('/images/mixer_split_TransportClocks.png');"></div></a>
-                       <a href="/ardours-interface/selection-and-punch-clocks/" alt="Punch and Selection Clocks"><div class="hoverimg" style="left: 369px; top: 38px; width: 135px; height: 38px; background-image: url('/images/mixer_split_PunchandSelectionClocks.png');"></div></a>
-                       <a href="/ardours-interface/status-indicators/" alt="Status and Mode buttons"><div class="hoverimg" style="left: 511px; top: 37px; width: 94px; height: 38px; background-image: url('/images/mixer_split_StatusandModebuttons.png');"></div></a>
-                       <a href="/ardours-interface/favorite-plugins-window/" alt="Favorite Plugins"><div class="hoverimg" style="left: 6px; top: 79px; width: 116px; height: 136px; background-image: url('/images/mixer_split_FavoritePlugins.png');"></div></a>
-                       <a href="/ardours-interface/the-strips-list/" alt="Strips List"><div class="hoverimg" style="left: 6px; top: 220px; width: 115px; height: 97px; background-image: url('/images/mixer_split_StripsList.png');"></div></a>
-                       <a href="/ardours-interface/the-groups-list/" alt="Group List"><div class="hoverimg" style="left: 6px; top: 321px; width: 116px; height: 99px; background-image: url('/images/mixer_split_GroupList.png');"></div></a>
-                       <a href="/ardours-interface/audio-midi-mixer-strips/" alt="an Audio Strip"><div class="hoverimg" style="left: 128px; top: 97px; width: 57px; height: 320px; background-image: url('/images/mixer_split_anAudioStrip.png');"></div></a>
-                       <a href="/ardours-interface/audio-midi-mixer-strips/" alt="another Audio Strip"><div class="hoverimg" style="left: 191px; top: 97px; width: 55px; height: 320px; background-image: url('/images/mixer_split_anotherAudioStrip.png');"></div></a>
-                       <a href="/ardours-interface/audio-midi-mixer-strips/" alt="a MIDI Strip"><div class="hoverimg" style="left: 251px; top: 97px; width: 55px; height: 320px; background-image: url('/images/mixer_split_aMIDIStrip.png');"></div></a>
-                       <a href="/ardours-interface/busses-mixer-strips/" alt="a Bus Strip"><div class="hoverimg" style="left: 313px; top: 97px; width: 56px; height: 320px; background-image: url('/images/mixer_split_aBusStrip.png');"></div></a>
-                       <a href="/ardours-interface/control-masters/" alt="Control Masters"><div class="hoverimg" style="left: 373px; top: 81px; width: 98px; height: 331px; background-image: url('/images/mixer_split_ControlMasters.png');"></div></a>
-                       <a href="/ardours-interface/the-master-bus-strip/" alt="the Master Strip"><div class="hoverimg" style="left: 477px; top: 81px; width: 54px; height: 331px; background-image: url('/images/mixer_split_theMasterStrip.png');"></div></a>
-                       <a href="/ardours-interface/the-monitor-section/" alt="Monitor Section"><div class="hoverimg" style="left: 536px; top: 80px; width: 82px; height: 332px; background-image: url('/images/mixer_split_MonitorSection.png');"></div></a>
-                       <div class="hoverimg" style="left: 133px; top: 80px; width: 223px; height: 11px; background-image: url('/images/mixer_split_GroupTabs.png');"></div>
-       </div>
-
-  <!--<figcaption>
-               <ol class="multicol3">
-                       <li>Main menu</li>
-                       <li>Status bar</li>
-    </ol><ol class="multicol3" start="3">
-                       <li>Transport bar and Times</li>
-                       <li>Mode switch</li>
-    </ol><ol class="multicol3" start="5">
-                       <li>The <dfn>Mixer</dfn> window</li>
-                       <li>The <dfn>Editor</dfn> window</li>
-               </ol>
-       </figcaption>-->
-  <figcaption>
-               The Editor and Mixer windows. Click on a section to access its description.
-       </figcaption>
-</figure>
-
-<p>
-  Switching between the Editor and the Mixer windows is done :
-</p>
-<ul>
-       <li>with the <a href="/ardours-interface/status-indicators/">Mode Selector buttons</a> in the upper right</li>
-       <li>with the <kbd class="mod2">M</kbd> shortcut</li>
-       <li>with the menu <kbd class="menu">Window &gt; Editor <em>(or Mixer)</em> &gt; Show</kbd>.</li>
-</ul>
-
-<p>
-  Both windows can be visible at the same time (eg. for a multi-monitor
-  setup) using <kbd class="menu">Window &gt; Editor <em>(or Mixer)</em> &gt; Detach</kbd> option in the same submenu.
-</p>
-
-<h2>The Editor</h2>
-
-<p>
-  The <dfn>Editor</dfn> window includes the editor track <dfn>canvas</dfn>
-  where audio and MIDI data can be arranged along a timeline. This is the
-  window where editing and arranging a project is done. The window
-  has a general "horizontal" sense to it: the timeline flows from left to
-  right, the playhead showing the current position in the session moves
-  from left to right &mdash; the window really represents <dfn>time</dfn>
-  in a fairly literal way.
-</p>
-<p>
-  It is possible to show a single channel strip in the editor window, and
-  some people find this enough to work on mixing without actually opening
-  the mixer window. Most of the time though, both of these windows will be
-  needed at various stages of a session's lifetime.
-</p>
-
-<h2>The Mixer</h2>
-
-<p>
-  The <dfn>Mixer</dfn> window represents signal flow and is the window that will
-  probably be used most when mixing a session. It
-  includes <dfn>channel strips</dfn> for each track and bus in the session.
-  It has a general "vertical" sense to it: signals flow from the top of each
-  channel strip through the processing elements in the strip to reach the
-  output listed at the bottom.
-</p>
-<p>
-  To learn more about the process of mixing, see <a href="/mixing/">Mixing<a>.
-</p>
-
-
-{% children %}
diff --git a/_manual/05_ardours-interface/01_main-menu.html b/_manual/05_ardours-interface/01_main-menu.html
deleted file mode 100644 (file)
index 63f5fc7..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: Main Menu
----
-
-<p>
-  The <dfn>Main Menu</dfn> is made of 8 menus that allow the user to interact with Ardour, and below is a reference of all the menu actions.
-</p>
-
-<p>
-  Notice that a lot of this menus, and probably all of the most used ones have keyboard shortcuts to ease and fasten the work.
-  A sum-up of these shortcuts can be found on the <a href="/default-keyboard-bindings/">Defaults Keyboard Bindings</a> page, and
-  every menu in Ardour can be reassigned to an user defined key binding, or used via <a href="/using-control-surfaces/controlling-ardour-with-osc/">OSC</a> with
-  a control surface.
-</p>
-
-{% children %}
diff --git a/_manual/05_ardours-interface/01_main-menu/01_Session-menu.html b/_manual/05_ardours-interface/01_main-menu/01_Session-menu.html
deleted file mode 100644 (file)
index b6c3f58..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: The Session Menu
----
-
-<p>
-  The <kbd class="menu">Session</kbd> menu groups together everything related to the session and the file operations.
-</p>
-
-<dl>
-       <dt>New...</dt><dd>Creates a <a href="/working-with-sessions/new-session-dialog/">new</a> session</dd>
-       <dt>Open...</dt><dd>Opens an existing session</dd>
-       <dt>Recent...</dt><dd>Opens a list of recent session that can be opened</dd>
-       <dt>Close</dt><dd>Closes the current session (but not Ardour)</dd>
-
-       <dt>Save</dt><dd>Saves the current session</dd>
-       <dt>Save As...</dt><dd>Saves to a new session (with options)</dd>
-       <dt>Rename...</dt><dd>Changes the name of the session</dd>
-       <dt>Snapshot (keep working on current version) ...</dt><dd>Create a <a href="/working-with-sessions/snapshots/">Snapshot</a> but any subsequent change will be saved to this session</dd>
-       <dt>Snapshot ( switch to new version) ...</dt><dd>Same thing, and any subsequent change will be saved to this new snapshot session</dd>
-       <dt>Save Template...</dt><dd>Saves the session as a <a href="/working-with-sessions/session-templates/">template</a>, without the audio</dd>
-       <dt>Metadata</dt>
-               <dt class="sub1">Edit Metadata...</dt><dd>Opens the <a href="/working-with-sessions/metadata/">Metadata</a> window, where informations about the session can be saved</dd>
-               <dt class="sub1">Import Metadata...</dt><dd>Creates the metadata by extracting them from another session</dd>
-
-       <dt>Add Track, Bus or VCA...</dt><dd>Adds a <a href="/working-with-tracks/adding-tracks-and-busses/">new track/bus/VCA</a> to the session, same as the <kbd class="menu">Track &gt; Add Track, Bus or VCA...</kbd></dd>
-
-       <dt>Import</dt><dd>Opens the <a href="/adding-pre-existing-material/">Import</a> windows, to add media to the session</dd>
-       <dt>Import PT session</dt><dd>Import a ProTools&copy; session file. Not everything in the original session can be imported.</dd>
-       <dt>Scripting</dt>
-               <dt class="sub1">Add Lua Script...</dt><dd>Loads or adds a <a href="/lua-scripting/">Lua Session script</a> to the current session</dd>
-               <dt class="sub1">Remove Lua Script</dt><dd>Removes a loaded Lua Session script from the session</dd>
-       <dt>Open Video...</dt><dd>Imports a <a href="/video-timeline/">video file</a> in the session</dd>
-       <dt>Remove Video</dt><dd>Removes the video part of the session (the video timeline disappears)</dd>
-       <dt>Export</dt>
-               <dt class="sub1">Export to Audio File(s)...</dt><dd><a href="/exporting/">Export</a> all or part of the session in audio form</dd>
-               <dt class="sub1">Stem export...</dt><dd><a href="/exporting/export-dialog/">Exports each track</a> as its own audio file (for e.g. DAW interchange)</dd>
-               <dt class="sub1">Export to Video File</dt><dd>Exports the session to a <a href="/video-timeline/operations/">video file</a></dd>
-       <dt>Clean-Up</dt>
-               <dt class="sub1">Bring all media into session folder</dt><dd>Copies all the media files imported from outside the session folder in that folder, see <a href="/working-with-sessions/cleaning_up/">Cleaning up Sessions</a></dd>
-               <dt class="sub1">Reset Peak Files</dt><dd>Reinitializes the buffered images representing the audio files</dd>
-               <dt class="sub1">Clean-up Unused Sources...</dt><dd>Quarantines all the media files not used in the session to a specific subfolder of the session</dd>
-               <dt class="sub1">Flush Wastebasket</dt><dd>Deletes those quarantined files</dd>
-
-       <dt>[] Properties</dt><dd>Shows the <a href="/preferences-and-session-properties/session-properties-dialog/">Session Properties</a> dialog, allowing to fine-tune the parameters of the current session</dd>
-
-       <dt>Lock</dt><dd>Locks the session by showing an Unlock window that (until cliked) blocks every action on Ardour's window</dd>
-
-       <dt>Quit</dt><dd>Exits Ardour. Prompts for saving the session if it has been modified.</dd>
-</dl>
diff --git a/_manual/05_ardours-interface/01_main-menu/02_Transport-menu.html b/_manual/05_ardours-interface/01_main-menu/02_Transport-menu.html
deleted file mode 100644 (file)
index e825df6..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: The Transport Menu
----
-
-<p>
-       The <dfn>Transport</dfn> menu handles how Ardour handles the playback and playhead.
-</p>
-
-<dl>
-       <dt>Start/Stop</dt><dd>Starts or stops the playhead, and recording if it's armed</dd>
-       <dt>Play</dt>
-               <dt class="sub1">Play Selection</dt><dd>Only plays the selected part of the session, be it a range or selected regions</dd>
-               <dt class="sub1">Play Selection w/Preroll</dt><dd>As the previous menu, except it starts the playback 1/2 bar before the beginning of the selection</dd>
-               <dt class="sub1">Start/Continue/Stop</dt><dd>FIXME</dd>
-               <dt class="sub1">Play from Edit Point and Return</dt><dd>Starts the playback at the <a href="/ardours-interface/the-edit-point-control/">Edit point</a>, and when stopped, goes back to the orginial location</dd>
-               <dt class="sub1">Play Loop Range</dt><dd>If a <a href="/working-with-markers/loop-range/">Loop range</a> is defined, play it and loop until stopped</dd>
-       <dt>Start Recording</dt><dd>This is a shortcut to trigger the global recording, and start playback at once</dd>
-       <dt>Stop and Forget Capture</dt><dd>Stops the recording, removes the newly created material, and goes back to the original position</dd>
-       <dt>Enable Record</dt><dd>Triggers the global recording. Next time "Play" is pressed, it will record on the track(s) that are armed for recording</dd>
-
-       <dt>Set Loop from Selection</dt><dd>Converts the selection into a <a href="/working-with-markers/loop-range/">Loop range</a> by placing loop markers at the start and end of the selected range</dd>
-       <dt>Set Punch from Selection</dt><dd>Same thing, for <a href="/working-with-markers/punch-range/">Punch</a></dd>
-       <dt>Set Session Start/End from Selection</dt><dd>Same thing, for the start and end markers of the session, defining the sessions length</dd>
-
-       <dt>Forward</dt><dd>FIXME</dd>
-       <dt>Rewind</dt><dd>Plays the audio backwards from the playhead on</dd>
-       <dt>Transition to Roll</dt><dd>FIXME</dd>
-       <dt>Transition to Reverse</dt><dd>FIXME</dd>
-
-       <dt>Playhead</dt><dd></dd>
-               <dt class="sub1">Playhead to Mouse</dt><dd>Set the position of the playhead at the current position of the mouse cursor</dd>
-               <dt class="sub1">Playhead to Active Mark</dt><dd>If a marker is selected, set the position of the playhead at the position of the marker</dd>
-               <dt class="sub1">Center Playhead</dt><dd>Centers the view on the playhead without changing the zoom level (putting the playhead in the middle of the screen)</dd>
-
-               <dt class="sub1">Nudge Playhead Forward</dt><dd>Shifts the position of the playhead to the right by the amount shown in the <a href="/ardours-interface/the-nudge-controls/">nudge timer</a></dd>
-               <dt class="sub1">Nudge Playhead Backward</dt><dd>Same thing, to the left</dd>
-
-               <dt class="sub1">Move to Next Transient</dt><dd>When transient have been set, moves the playhead to the next one to the right</dd>
-               <dt class="sub1">Move to Previous Transient</dt><dd>Same, to the left</dd>
-
-               <dt class="sub1">Playhead to Next Grid</dt><dd>Regardless of the state of the Grid Mode, goes to the next grid to the right, as set by the <a href="/ardours-interface/the-grid-controls/">Snap/Grid unit</a></dd>
-               <dt class="sub1">Playhead to Previous Grid</dt><dd>Same, to the left</dd>
-
-               <dt class="sub1">Playhead to Next Region Boundary</dt><dd>Moves the playhead to the right to the next beginning or end of region on the selected track or, if no track is selected, on all tracks</dd>
-               <dt class="sub1">Playhead to Previous Region Boundary</dt><dd>Same, to the left</dd>
-               <dt class="sub1">Playhead to Next Region Boundary (No Track Selection)</dt><dd>Moves the playhead to next beginning or end of region, be it on the selected track or any other</dd>
-               <dt class="sub1">Playhead to Previous Region Boundary (No Track Selection)</dt><dd>Same, to the left</dd>
-               <dt class="sub1">Playhead to Next Region Sync</dt><dd>Moves the playhead to next Region Sync Point, that is by default the beginning of a region but <a href="/ardours-interface/the-grid-controls/">can be moved</a></dd>
-               <dt class="sub1">Playhead to Previous Region Sync</dt><dd>Same, to the left</dd>
-
-               <dt class="sub1">Jump to Next Mark</dt><dd>moves the playhead to the next <a href="/working-with-markers/creating-location-markers/">marker</a> on the Ruler</dd>
-               <dt class="sub1">Jump to Previous Mark</dt><dd>Same, to the left</dd>
-
-               <dt class="sub1">Go to Zero</dt><dd>Sends the playhead to the 00:00:00:00 time, regardless of the sessions Start marker</dd>
-               <dt class="sub1">Go to Start</dt><dd>Sends the playhead to the Start marker of the session</dd>
-               <dt class="sub1">Go to End</dt><dd>Sends the playhead to the End marker of the session</dd>
-               <dt class="sub1">Go to Wall Clock</dt><dd>Sends the playhead to the current value of system time, as shown on the top right of the <a href="/ardours-interface/status-bar/">Status bar</a></dd>
-       <dt>Active Mark</dt>
-               <dt class="sub1">To Next Region Boundary</dt><dd>Moves the currently selected <a href="/working-with-markers/">marker</a> to the next region beginning or end</dd>
-               <dt class="sub1">To Previous Region Boundary</dt><dd>Same, to the left</dd>
-               <dt class="sub1">To Next Region Sync</dt><dd>Moves the currently selected to the next region sync point (by default : beginning or end of the region)</dd>
-               <dt class="sub1">To Previous Region Sync</dt><dd>Same, to the left</dd>
-       <dt>Markers</dt><dd></dd>
-               <dt class="sub1">Add Mark from Playhead</dt><dd>Creates a Marker at the position of the playhead</dd>
-               <dt class="sub1">Remove Mark at Playhead</dt><dd>Removes any marker at the position of the playhead</dd>
-               <dt class="sub1">Toggle Mark at Playhead</dt><dd>Combine the 2 previous : if a marker exists, deletes it, otherwise create it</dd>
-
-               <dt class="sub1">Locate to Mark <em>n</em></dt><dd>If it exists, goes to the <em>n-th</em> marker</dd>
-
-               <dt class="sub1">Set Session Start from Playhead</dt><dd>Puts the Start of the session marker at the playhead's position</dd>
-               <dt class="sub1">Set Session End from Playhead</dt><dd>Puts the End of the session marker at the playhead's position</dd>
-
-       <dt>[] Time Master</dt><dd>Sets Ardour as the Time master, i.e. Ardour sends the time information to the audio system</dd>
-       <dt>[] Punch In/Out</dt><dd>Based on the Punch in and Punch out markers if they exist, tells Ardour to record only between those two points</dd>
-       <dt>[] Punch In</dt><dd>Based on the Punch in marker, only allow to record from this point on</dd>
-       <dt>[] Punch Out</dt><dd>Based on the Punch out marker, forbids recording before this point</dd>
-       <dt>[] Audio Input</dt><dd>If checked, automatically switch the <a href="/recording/monitoring/monitor-setup-in-ardour/">monitor</a> from <em>input</em> to <em>playback</em>mode when playing</dd>
-       <dt>[] Follow Edits</dt><dd>If checked, selecting a region moves the playhead to its beginning</dd>
-       <dt>[] Auto Play</dt><dd>If checked, moving the playhead in the ruler starts the playback</dd>
-       <dt>[] Auto Return</dt><dd>If checked, when the playback is stopped, go back to the previous position of the playhead. If not, the playhead stays where it is when the playback is stopped</dd>
-       <dt>[] Click</dt><dd>Activates/desactivates the click track (metronome)</dd>
-       <dt>[] Follow Playhead</dt><dd>If checked, while playing, when the playhead reaches the right of the screen, Ardour scrolls one screen to the right to keep the playhead visible at all times</dd>
-       <dt>[] Stationary Playhead</dt><dd>If checked <em>and</em> if <kbd class="menu">Follow playhead</kbd> is checked, on playback, the playhead stays at the center of the screen, and the session scrolls</dd>
-       <dt>Panic</dt><dd>Immediately stops all MIDI playback (usefull e.g. when a MIDI bug in encountered)</dd>
-</dl>
diff --git a/_manual/05_ardours-interface/01_main-menu/03_Edit-menu.html b/_manual/05_ardours-interface/01_main-menu/03_Edit-menu.html
deleted file mode 100644 (file)
index fea1378..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
----
-title: The Edit Menu
----
-
-<p>
-       The <dfn>Edit</dfn> menu groups together the actions related to the edition, and so will be mostly used while in Editor mode.
-</p>
-<dl>
-       <dt>Undo (<em>action</em>)</dt><dd>Reverts the last editing operation, namely <em>action</em></dd>
-       <dt>Redo</dt><dd>Does the last editing operation again, after an Undo</dd>
-
-       <dt>Undo Selection Change</dt><dd>Reverts the last selection operation</dd>
-       <dt>Redo Selection Change</dt><dd>Does the last selection operation again after an Undo Selection Change</dd>
-
-       <dt>Cut</dt><dd>Deletes the current selection, but puts it in memory ready to be pasted</dd>
-       <dt>Copy</dt><dd>Copies the current selection to memory</dd>
-       <dt>Paste</dt><dd>Pastes the memory at the <a href="/ardours-interface/the-edit-point-control/">edit point</a>, after a Cut or Copy operation</dd>
-
-       <dt>Select</dt>
-               <dt class="sub1">Select All Objects</dt><dd>Selects all the regions and automation pints in the session</dd>
-               <dt class="sub1">Select All Tracks</dt><dd>Selects all the tracks, busses and control masters in the session</dd>
-               <dt class="sub1">Deselect All</dt><dd>Deselects all objects or tracks, nothing is selected</dd>
-               <dt class="sub1">Invert Selection</dt><dd>Select the previously unselected regions, and deselect the previously selected ones</dd>
-
-               <dt class="sub1">Set Range to Loop Range</dt><dd>Creates a range selection on the selected tracks, based on the selected loop markers, and switches to <a href="/ardours-interface/the-toolbox/">Range Mode tool</a></dd>
-               <dt class="sub1">Set Range to Punch Range</dt><dd>Same as above, based on the selected punch markers</dd>
-               <dt class="sub1">Set Range to Selected Regions</dt><dd>Same as above, based on the selected regions (i.e. from the start of the earliest region to the end of the latest one)</dd>
-
-               <dt class="sub1">Select All After Edit Point</dt><dd>Select all the regions and automation points that exist after the Edit Point, even if the region starts before it. If some tracks are selected, only selects on these tracks.</dd>
-               <dt class="sub1">Select All Before Edit Point</dt><dd>Same as above, but before the Edit point (i.e. to the left of it)</dd>
-               <dt class="sub1">Select All Overlapping Edit Range</dt><dd>Select all the regions and automation points of which at least a part is in the current selection range</dd>
-               <dt class="sub1">Select All Inside Edit Range</dt><dd>Selects all the regions that are completely inside the selection range, i.e. their start and end are inside the range. If some tracks are selected, only selects on these tracks.</dd>
-               <dt class="sub1">Select All in Punch Range</dt><dd>Selects all the regions of which a part in in the punch range. If some tracks are selected, only selects on these tracks.</dd>
-               <dt class="sub1">Select All in Loop Range</dt><dd>Same as above, based on the loop range</dd>
-
-               <dt class="sub1">Move Range Start to Previous Region Boundary</dt><dd>Extends the left boundary of the range to the left to the next region start or end. The region must be in the range.</dd>
-               <dt class="sub1">Move Range Start to Next Region Boundary</dt><dd>Same as above, to the right (reduces the selection)</dd>
-               <dt class="sub1">Move Range End to Previous Region Boundary</dt><dd>Same as above, with the right edge of the range, to the left (reduces the selection)</dd>
-               <dt class="sub1">Move Range End to Next Region Boundary</dt><dd>Same as above, with the right edge, to the right (extends the selection)</dd>
-
-               <dt class="sub1">Start Range</dt><dd>Sets the left edge of the range to the Edit point</dd>
-               <dt class="sub1">Finish Range</dt><dd>Sets the right edge of the range to the Edit point</dd>
-
-               <dt class="sub1">Select Next Track or Bus</dt><dd>Select the track or bus under the currently selected one. If multiple tracks are selected, only the first one is considered</dd>
-               <dt class="sub1">Select Previous Track or Bus</dt><dd>Same as above, with the track/bus above the first one selected.</dd>
-
-       <dt>Delete</dt><dd>Deletes all that is currently selected</dd>
-       <dt>Crop</dt><dd>Cuts the parts of the regions that are outside the range boundaries. Only applies on the regions that belong at least in part to the range.</dd>
-       <dt>Split/Separate</dt><dd>Cuts the selected regions at the Edit point, separating them in two regions</dd>
-       <dt>Separate</dt>
-               <dt class="sub1">Separate Under</dt><dd>Removes all the parts of the regions that are under the selected one. Once done, the selected region is alone on its part of the track.</dd>
-               <dt class="sub1">Separate Using Loop Range</dt><dd>Cuts the selected regions or the regions on the selected tracks along the Loop range's start and end markers. If nothing is selected, acts on all tracks at once.</dd>
-               <dt class="sub1">Separate Using Punch Range</dt><dd>Same as above, with the Punch range markers</dd>
-       <dt>Align</dt>
-               <dt class="sub1">Align Start</dt><dd>Moves the selected regions to align the beginning of the regions to the Edit point</dd>
-               <dt class="sub1">Align Start Relative</dt><dd>When multiple regions are selected, moves all the regions together as a block to align the beginning of the earliest one to the Edit point.</dd>
-               <dt class="sub1">Align End</dt><dd>Moves the selected regions to align the end of the regions to the Edit point</dd>
-               <dt class="sub1">Align End Relative</dt><dd>When multiple regions are selected, moves all the regions together as a block to align the end of the latest one to the Edit point.</dd>
-               <dt class="sub1">Align Sync</dt><dd>Moves the selected regions to align the Sync point of the regions to the Edit point</dd>
-               <dt class="sub1">Align Sync Relative</dt><dd>When multiple regions are selected, moves all the regions together as a block to align the earliest Sync point to the Edit point.</dd>
-       <dt>Fade</dt>
-               <dt class="sub1">Fade Range Selection</dt><dd>For all the regions that either begin or end in the range, create a fade in or out on the regions length.</dd>
-               <dt class="sub1">Set Fade In Length</dt><dd>If the edit point is withing the region boundaries, adjusts selected audio regions' fade in to end at the edit point.</dd>
-               <dt class="sub1">[] Fade In</dt><dd>Toggles the fade in on the selected region on or off</dd>
-               <dt class="sub1">Set Fade Out Length</dt><dd>Same as above, for the fade out</dd>
-               <dt class="sub1">[] Fade Out</dt><dd>Toggles the fade out on the selected region on or off</dd>
-
-       <dt>Remove Last Capture</dt><dd>Destroy the last recording. A prompt reminds the user this <em>cannot</em> be undone.</dd>
-
-       <dt>Edit point</dt>
-               <dt class="sub1">Change Edit Point</dt><dd>Toggles between the mouse and the playhead as the Edit point</dd>
-               <dt class="sub1">Change Edit Point Including Marker</dt><dd>Toggles between the mouse, the playhead and marker as the Edit point</dd>
-       <dt>Snap Mode</dt>
-               <dt class="sub1">() No Grid</dt><dd>Disables <a href="/ardours-interface/the-grid-controls/">snapping</a>, i.e. allows free movement of regions and boundaries</dd>
-               <dt class="sub1">() Grid</dt><dd>Forces snapping, so any move of region boundary will be lined to the grid as chosen</dd>
-               <dt class="sub1">() Magnetic</dt><dd>If the movement of the region or boundary happens near a grid line, snaps, otherwise, allow free movement</dd>
-
-               <dt class="sub1">Next Snap Mode</dt><dd>Toggles between the No Grid, Grid and Magnetic snap modes</dd>
-               <dt class="sub1">Next Snap Choice</dt><dd>Circles through the snap choices, as detailed below</dd>
-               <dt class="sub1">Previous Snap Choice</dt><dd>Circles through the snap choices, as detailed below, in reverse order</dd>
-               <dt class="sub1">Next Musical Snap Choice</dt><dd>Circles through the musical snap choices, e.g. those expressed in bars and beats</dd>
-               <dt class="sub1">Previous Musical Snap Choice</dt><dd>Same as previous, but in reverse order</dd>
-       <dt>Snap To</dt>
-               <dt class="sub1">Snap to CD Frame</dt><dd>The grid unit will be 1/75th of a second</dd>
-               <dt class="sub1">Snap to Timecode Frame/Second/Minute</dt><dd>The grid unit will be based on the timecode settings for the session</dd>
-               <dt class="sub1">Snap to Second/Minute</dt><dd>The grid unit will be based on absolute times</dd>
-               <dt class="sub1">Snap to <em>n</em>th</dt><dd>The grid unit will be 1/<em>n</em> beats and will depend on the tempo and meter in effect at that point in the timeline.</dd>
-               <dt class="sub1">Snap to Beat</dt><dd>Same as above, whole beat</dd>
-               <dt class="sub1">Snap to Bar</dt><dd>Same as above, whole bar</dd>
-               <dt class="sub1">Snap to Mark</dt><dd>The grid will be made of markers</dd>
-               <dt class="sub1">Snap to Region Start</dt><dd>No grid, the regions will snap to the closest region start on any track</dd>
-               <dt class="sub1">Snap to Region End</dt><dd>Same as above with the regions' ends</dd>
-               <dt class="sub1">Snap to Regions Sync</dt><dd>Same as above, with the Sync points (by default, start of the region)</dd>
-               <dt class="sub1">Snap to Region Boundaries</dt><dd>Same as above, for both the starts and ends of regions</dd>
-
-       <dt>Tempo</dt><dd></dd>
-               <dt class="sub1">Set Tempo from Region = Bar</dt><dd>Computes the tempo so that the duration of the first selected region is 1 bar. Ardour prompts if the user wants it to be the global tempo, or a tempo marker at the beginning of the region used</dd>
-               <dt class="sub1">Set Tempo from Edit Range = Bar</dt><dd>Same thing, with the current Range instead of a region</dd>
-       <dt>[] Smart Object Mode</dt><dd>Toggles the Smart Mode, allowing the mouse to be in Range Mode in the upper half of a region, and in Grab Mode in the lower half</dd>
-
-       <dt>Scripted Actions</dt><dd></dd>
-               <dt class="sub1">[] Script Manager</dt><dd>Shows the <a href="/lua-scripting/">Script manager</a>, allowing to use and manage the Lua scripts in the session</dd>
-
-               <dt class="sub1">Unset #<em>n</em></dt><dd>Deactivate the <em>n</em>th script</dd>
-
-       <dt>Preferences</dt><dd>Displays the <a href="/preferences-and-session-properties/preferences-dialog/">Preferences</a> panels, allowing to change Ardour's behaviour</dd>
-</dl>
diff --git a/_manual/05_ardours-interface/01_main-menu/04_Region-menu.html b/_manual/05_ardours-interface/01_main-menu/04_Region-menu.html
deleted file mode 100644 (file)
index 39e941b..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: The Region Menu
----
-
-<p>
-       The <kbd class="menu">Region</kbd> Menu is where the user can tweak its regions, the parts of audio or MIDI that sit on the timeline.
-</p>
-
-<dl>
-       <dt>Insert Region from Region List</dt><dd>If a region is selected in the Editor List, add it at the Edit point</dd>
-       <dt>Play</dt><dd>Starts playback at the beginning of the selected region(s), and stops at its(their) end</dd>
-       <dt>Loop</dt><dd>Creates a loop range on the selected region's boundaries, and starts the looped playback</dd>
-       <dt>Rename...</dt><dd>Changes the name of the region, that appears in its top left area</dd>
-       <dt>Properties...</dt><dd>Shows the <kbd class="menu">Region properties</kbd> window, that displays detailed information about the region and allow for some modifications</dd>
-       <dt>Loudness Analysis...</dt><dd>Shows the <kbd class="menu">Audio Report/Analysis</kbd> window, that displays detailed <a href="/meters/">dBFS information</a> as well as a spectrogram (dBFS of frequency against time)</dd>
-       <dt>Spectral Analysis...</dt><dd>Shows the <kbd class="menu">Audio Report/Analysis</kbd> window, that displays a integrated spectral view of the region (dBFS agaisnt frequency)</dd>
-       <dt>Edit</dt>
-               <dt class="sub1">Combine</dt><dd>Creates a new region by joining the selected audio regions in the same track, and replaces those region with the newly created compound. The same rules are applied to create the compound as for playback regarding e.g. layering</dd>
-               <dt class="sub1">Uncombine</dt><dd>Splits back the compound created by <em>combining</em> into its original audio regions</dd>
-               <dt class="sub1">Pitch Shift...</dt><dd>Changes the tune of the audio region, by octave, semitones or percentage, based on spectral analysis. Optionaly, and if they have been set for the region, preserves the formants</dd>
-               <dt class="sub1">Split/Separate</dt><dd>Cuts the selected regions at the Edit point, separating them in two regions</dd>
-               <dt class="sub1">Split at Percussion Onset</dt><dd>Allows splitting the selected regions on its PErcussion Onsets marker as set by the Rhythm Ferret (Not usable as of 5.5)</dd>
-               <dt class="sub1">Make Mono Regions</dt><dd>Creates mono regions out of a stereo or multichannel region by splitting it into its discrete channels. The created regions are added to the Editor List</dd>
-               <dt class="sub1">Close Gaps</dt><dd>Extends (or reduces) the selected regions to be perfecltly aligned. Optionnaly, sets up a crossfade duration, or a pull-back (spacing between regions)</dd>
-               <dt class="sub1">Place Transient</dt><dd>Places a transient at the Edit Point. Used e.g. for the <kbd class="menu">Pitch Shift...</kbd> action</dd>
-               <dt class="sub1">Rhythm Ferret...</dt><dd>Opens the <kbd class="menu">Rhythm Ferret</kbd> which is a powerfull tool to sequence audio files</dd>
-               <dt class="sub1">Strip Silence...</dt><dd>Opens the <kbd class="menu">Strip Silence</kbd> window which is a very handy tool to remove all audio under a user-chosen threshold (with a preview)</dd>
-               <dt class="sub1">Reverse</dt><dd>Mirrors the audio horizontally</dd>
-       <dt>Layering</dt>
-               <dt class="sub1">Raise to Top</dt><dd>On overlapping regions, puts the selected one(s) on top</dd>
-               <dt class="sub1">Raise</dt><dd>On overlapping region, makes the selected one(s) one layer higher</dd>
-               <dt class="sub1">Lower</dt><dd>Makes the selected region(s) one layer lower</dd>
-               <dt class="sub1">Lower to Bottom</dt><dd>Sends the selected region to the background</dd>
-       <dt>MIDI</dt>
-               <dt class="sub1">Transpose...</dt><dd>On a MIDI region, shows the <a href="/working-with-midi/transpose-midi/"><kbd class="menu">Transpose MIDI</kbd> window</a>, allowing to shift the pitch of the whole MIDI region by &plusmn; <em>n</em> semitones or octaves</dd>
-               <dt class="sub1">Insert Patch Change...</dt><dd>Inserts a patch change at the Edit Point, allowing a change of patch, channel, program and/or bank</dd>
-               <dt class="sub1">Quantize...</dt><dd>Shows the <a href="/working-with-midi/quantize-midi/"><kbd class="menu">Quantize</kbd> window</a>, allowing to perfectly align the MIDI notes to the musical grid</dd>
-               <dt class="sub1">Legatize</dt><dd>Shortens or elongates the MIDI notes to make them perfectly sequentials, i.e. the end of a note is the start of the following one</dd>
-               <dt class="sub1">Remove Overlap</dt><dd>FIXME Shortens or elongates the MIDI notes to make them perfectly sequentials, i.e. the end of a note is the start of the following one</dd>
-               <dt class="sub1">Transform...</dt><dd><a href="/working-with-midi/transformation-midi/"><kbd class="menu">Transform</kbd> window</a>, that allows for mathematical operations on the midi notes</dd>
-               <dt class="sub1">Unlink from Other copies</dt><dd>Makes the selected MIDI region independant, e.g. editing this region won't affect any other one.</dd>
-               <dt class="sub1">List Editor...</dt><dd>Shows the <kbd class="menu">List Editor</kbd> which sequentially lists all the MIDI events in the region, and allows for precise modifications</dd>
-       <dt>Gain</dt>
-               <dt class="sub1">[] Opaque</dt><dd>When checked, makes the region opaque audio-wise, i.e., the underlying regions won't be audible</dd>
-               <dt class="sub1">[] Mute</dt><dd>When checked, mutes <em>only</em> the selected region on the track, without muting the track. The muted regions will have <em>!!</em> prepended to their name and will be semi-transparent</dd>
-               <dt class="sub1">Normalize...</dt><dd>Shows the <kbd class="menu">Normalize region</kbd> dialog, which allows to scale the region level by setting its maximum level, optionaly constraining the RMS</dd>
-               <dt class="sub1">Boost Gain</dt><dd>Increases the gain on the selected region by boosting the audio, without touching the enveloppe or automation</dd>
-               <dt class="sub1">Cut Gain</dt><dd>Reduces the gain without touching the enveloppe or automation</dd>
-               <dt class="sub1">Reset Envelope</dt><dd>If the gain enveloppe has been edited, resets it to its initial value (constant at 0 dB)</dd>
-               <dt class="sub1">[] Envelope Active</dt><dd>When unchecked, disables any enveloppe editing that has been made. The enveloppe will be displayed in yellow instead of green.</dd>
-       <dt>Position</dt>
-               <dt class="sub1">Move to Original Position</dt><dd>Moves the region where it was initially recorded or inserted in the session</dd>
-               <dt class="sub1">Snap Position to Grid</dt><dd>If the Grid Mode is set to <em>Grid</em>, snaps the region to the nearest grid line</dd>
-               <dt class="sub1">[] Lock</dt><dd>Blocks the selected regions at their current positions in time and tracks, avoiding any movement on the timeline. The region name will be surrounded by <em>&gt;</em> and <em>&lt;</em> brackets</dd>
-               <dt class="sub1">[] Glue to Bars and Beats</dt><dd>Locks the region position to relative to the musical grid, i.e. a change of tempo will move the region to keep it on the same bar/beat</dd>
-               <dt class="sub1">[] Lock to Video</dt><dd>Same as above, relative to the position in the video</dd>
-               <dt class="sub1">Set Sync Position</dt><dd>Creates or move the Sync position, i.e. the point of the region that will be aligned or snapped to the grid, and that is (by default) the beggining of the region.</dd>
-               <dt class="sub1">Remove Sync</dt><dd>Removes any user defined Sync point, and resets the sync position to the beginning of the region</dd>
-               <dt class="sub1">Nudge Later</dt><dd>Moves the region to the right by the amount shown in the <a href="/ardours-interface/the-nudge-controls/">nudge timer</a></dd>
-               <dt class="sub1">Nudge Earlier</dt><dd>Same as above, to the left</dd>
-               <dt class="sub1">Nudge Later by Capture Offset</dt><dd>Moves the region to the right by the capture latency computed by ardour based on the user's settings regarding latency</dd>
-               <dt class="sub1">Nudge Earlier by Capture Offset</dt><dd>Same as above, to the left</dd>
-               <dt class="sub1">Sequence Regions</dt><dd>Puts the selected regions one after the other, so that the end of one region is the beggining of the next one, removing any overlap or silence. The reference point is the earliest region.</dd>
-       <dt>Trim</dt>
-               <dt class="sub1">Trim Start at Edit Point</dt><dd>If the Edit Point is within the region boundaries, shortens the region to align its start with the Edit Point</dd>
-               <dt class="sub1">Trim End at Edit Point</dt><dd>Same as above, for the end of the region</dd>
-               <dt class="sub1">Trim to Loop</dt><dd>Uses both the start and end Loop markers to shorten the region</dd>
-               <dt class="sub1">Trim to Punch</dt><dd>Same as above with the Punch markers</dd>
-               <dt class="sub1">Trim to Previous</dt><dd>On overlapping regions, shortens the selected one so that the previous region is complete, i.e. the new start point for the selected region is the end point of the previous region on the timeline</dd>
-               <dt class="sub1">Trim to Next</dt><dd>Same as above, with the end of the selected region aligned to the start of the following one.</dd>
-       <dt>Ranges</dt>
-               <dt class="sub1">Set Loop Range</dt><dd>Creates a Loop range based on the selected regions, i.e. the strt of the loop range is the start of the earliest region, and the end of the loop is the end of the latest region.</dd>
-               <dt class="sub1">Set Punch</dt><dd>Same as above, for the Punch range</dd>
-               <dt class="sub1">Add Single Range Marker</dt><dd>Same as above, for the Edit range</dd>
-               <dt class="sub1">Add Range Marker Per Region</dt><dd>For each selected region, creates its own Edit range based on the boundaries of each region</dd>
-               <dt class="sub1">Set Range Selection</dt><dd>Creates a range selection based on the boundaries of the selected regions</dd>
-       <dt>Fades</dt>
-               <dt class="sub1">[] Fade In</dt><dd>Activates/desactivates the Fade In at the start of the region</dd>
-               <dt class="sub1">[] Fade Out</dt><dd>Same as above, for the Fade out at the end of the region</dd>
-               <dt class="sub1">[] Fades</dt><dd>Shortcut to activate/desactivate both the fade in and fade out</dd>
-       <dt>Duplicate</dt>
-               <dt class="sub1">Duplicate</dt><dd>Creates a copy of the selected region(s) and happend it to the original</dd>
-               <dt class="sub1">Multi-Duplicate...</dt><dd>Shows the <kbd class="menu">Duplicate</kbd> dialog, allowing to create multiple copies, or a not-integer number of copies (the last one will then be truncated)</dd>
-               <dt class="sub1">Fill Track</dt><dd>Creates duplicates until it fills the session, i.e. reaches the End marker of the session. The last duplicate may be truncated to fit in</dd>
-       <dt>Export...</dt><dd>Shows the <a href="/exporting/export-dialog/"><kbd class="menu">Export</kbd> dialog</a>, with all parameters set to export only the selected region(s)</dd>
-       <dt>Bounce (without processing)</dt><dd>Creates a bounce, i.e. a version of the region with all the edits (boundaries, enveloppe), as a new region in the Editor List, without any of the effects of the mixer strip</dd>
-       <dt>Bounce (with processing)</dt><dd>Same as above, <em>with</em> the effects of the mixer strip</dd>
-
-       <dt>Remove</dt><dd>Deletes the region from the edit (no file is harmed in the process, and the region stays in the Editor for later use)</dd>
-</dl>
diff --git a/_manual/05_ardours-interface/01_main-menu/05_Track-menu.html b/_manual/05_ardours-interface/01_main-menu/05_Track-menu.html
deleted file mode 100644 (file)
index 0d9a3d5..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: The Track Menu
----
-
-<p>
-       The <kbd class="menu">Track</kbd> menu is where one can deal with the tracks, busses and control masters.
-</p>
-
-<dl>
-       <dt>Add Track, Bus or VCA...</dt><dd>Shows the <a href="/working-with-tracks/adding-tracks-and-busses/"><kbd class="menu">Add Track, Bus or VCA...</kbd> window</a>, where one can add one or more tracks, busses or control masters to the session and define its parameters</dd>
-       <dt>Duplicate Tracks/Busses...</dt><dd>Shows the <kbd class="menu">Duplicate Tracks and Busses</kbd> window, allowing to duplicate the selected track(s) and optionnaly, its playlist</dd>
-
-       <dt>Toggle Record Enable</dt><dd>Sets the Record Enable mode On on the selected track(s). These tracks will record audio/midi next time the global record is active and playback is started.</dd>
-       <dt>Toggle Solo</dt><dd>Sets the solo On on the selected tracks, so only these tracks will play</dd>
-       <dt>Toggle Mute</dt><dd>Mutes the selected tracks, they wont play until unmuted</dd>
-
-       <dt>Insert Time</dt><dd>Shows the <kbd class="menu">Insert Time</kbd> window, allowing to insert a blank time in the selected tracks' playlist. By default, it'll be inserted at the Edit Point, but that can be changed in the dialog, as does the behaviour of the regions</dd>
-       <dt>Remove Time</dt><dd>Same as above, but to remove time</dd>
-       <dt>Move Selected Tracks Up</dt><dd>Changes the position of the selected tracks one track up towards the top. In the mixer, the tracks will be moved to the left.</dd>
-       <dt>Move Selected Tracks Down</dt><dd>Same as above, towards the bottom</dd>
-       <dt>Height</dt>
-               <dt class="sub1">Fit Selection (Vertical)</dt><dd>Will fit the selected track(s) in the window. If too many tracks are selected, they'll be reduced to their minimum height.</dd>
-               <dt class="sub1">Largest</dt><dd>Sets the selected tracks height to a very high value, hence making the tracks wide on screen</dd>
-               <dt class="sub1">Larger</dt><dd>Same as above, but a little less high</dd>
-               <dt class="sub1">Large</dt><dd>Same as above, but again less high</dd>
-               <dt class="sub1">Normal</dt><dd>Sets the height of the track to its default value which is a trade-off between readability and number of tracks displayed</dd>
-               <dt class="sub1">Small</dt><dd>Reduces the size of the tracks to a low value, increasing the number of on screen tracks</dd>
-
-       <dt>Toggle Active</dt><dd>Toggles the active state of a track. An inactive track will be grayed and wont play any sound. That can be seen in the <kbd class="menu">A</kbd> colomn of the <a href="/ardours-interface/editor-lists/tracks-and-busses-list/">Tracks and Busses List</a></dd>
-       <dt>Remove</dt><dd>Deletes this track and its playlist (no file is harmed in the process, and the regions from the playlist stay in the Editor for later use)</dd>
-</dl>
diff --git a/_manual/05_ardours-interface/01_main-menu/06_View-menu.html b/_manual/05_ardours-interface/01_main-menu/06_View-menu.html
deleted file mode 100644 (file)
index e3eac54..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: The View Menu
----
-
-<p>
-               The <dfn>View</dfn> menu sets how the session is seen, and what's visible or not.
-</p>
-
-<dl>
-       <dt>[] Maximise Editor Space</dt><dd>Puts the Editor window in full screen mode</dd>
-       <dt>[] Maximize Mixer Space</dt><dd>Puts the Mixer window in full screen mode</dd>
-
-       <dt>Primary Clock</dt>
-               <dt class="sub1">Focus On Clock</dt><dd>Sets the focus on the <a href="/ardours-interface/transport-clocks/">main clock</a>, allowing to type in numbers directly to change the playhead position</dd>
-               <dt class="sub1">Timecode</dt><dd>Sets the main clock in timecode mode, so it displays time in the Hours:Minutes:Seconds:Frames format</dd>
-               <dt class="sub1">Bars &amp; Beats</dt><dd>Sets the main clock in musical time mode, so it displays time in the Bars:Beats:Ticks format</dd>
-               <dt class="sub1">Minutes &amp; Seconds</dt><dd>Sets the main clock in absolute time mode, so it displays time in the Hours:Minutes:Seconds.Milliseconds format</dd>
-               <dt class="sub1">Samples</dt><dd>Sets the main clock in samples time mode, so the time is displayed in samples from the absolute start</dd>
-       <dt>Secondary Clock</dt>
-               <dt class="sub1">Timecode</dt><dd>Same as for the main clock (see above)</dd>
-               <dt class="sub1">Bars &amp; Beats</dt><dd>Same as for the main clock</dd>
-               <dt class="sub1">Minutes &amp; Seconds</dt><dd>Same as for the main clock</dd>
-               <dt class="sub1">Samples</dt><dd>Same as for the main clock</dd>
-
-       <dt>Zoom</dt>
-               <dt class="sub1">Zoom In</dt><dd>Zooms in, focusing the <em>Zoom Focus</em> (see bellow)</dd>
-               <dt class="sub1">Zoom Out</dt><dd>Zooms out</dd>
-               <dt class="sub1">Zoom to Session</dt><dd>Adjust the zoom value so that all the session (as defined by its start and end markers) fit in the window</dd>
-               <dt class="sub1">Zoom to Selection</dt><dd>Adjust the zoom value so that all the selected regions fit in the window</dd>
-               <dt class="sub1">Fit Selection (Vertical)</dt><dd>Fits the selected track(s) in the window. If too many tracks are selected, they'll be reduced to their minimum height.</dd>
-               <dt class="sub1">Toggle Zoom State</dt><dd>Reverts to last zoom state (kind of "undo" for zoom, even if edits have been made inbetween)</dd>
-               <dt class="sub1">Expand Track Height</dt><dd>Increases the height of the selected tracks. If no track is selected, then all the tracks are expanded</dd>
-               <dt class="sub1">Shrink Track Height</dt><dd>Same as above, but reduces the height of the tracks</dd>
-       <dt>Zoom Focus</dt>
-               <dt class="sub1">Zoom Focus Left</dt><dd>Sets the screen's left side as the zoom target, i.e. when zooming in, the left side of the screen will stay at the same place in the timeline</dd>
-               <dt class="sub1">Zoom Focus Right</dt><dd>Same, with the right of the screen</dd>
-               <dt class="sub1">Zoom Focus Center</dt><dd>Same, with the center of the screen</dd>
-               <dt class="sub1">Zoom Focus Playhead</dt><dd>Sets the playhead as the focus point of the zoom, i.e. the point in time that will stay fixed</dd>
-               <dt class="sub1">Zoom Focus Mouse</dt><dd>Same as above, with the mouse pointer</dd>
-               <dt class="sub1">Zoom Focus Edit Point</dt><dd>Same as above, with the Edit Point</dd>
-               <dt class="sub1">Next Zoom Focus</dt><dd>Circles between the previous modes</dd>
-       <dt>Rulers</dt>
-               <dt class="sub1">[] Min:Sec</dt><dd>Showss (when checked) or hides a line in <a href="/ardours-interface/the-ruler/">the Ruler</a> with the time formatted as Hours:Minutes:Seconds.Milliseconds</dd>
-               <dt class="sub1">[] Timecode</dt><dd>Same as above, with the time formatted as Hours:Minutes:Seconds:Frames</dd>
-               <dt class="sub1">[] Samples</dt><dd>Same as the above, with the time displayed in samples from the absolute start</dd>
-               <dt class="sub1">[] Bars &amp; Beats</dt><dd>Same as the above, with the time formatted as Bars:Beats:Ticks</dd>
-
-               <dt class="sub1">[] Meter</dt><dd>Shows / hides the Meter line in the ruler, where the signature can be adjusted along the playline</dd>
-               <dt class="sub1">[] Tempo</dt><dd>Shows / hides the Tempo line, where the BPM can be changed with markers</dd>
-               <dt class="sub1">[] Ranges</dt><dd>Shows / hides the Range line, where ranges can be defined</dd>
-               <dt class="sub1">[] Loop/Punch</dt><dd>Shows / hides the Loop/Punch line, where loops and Punches can be defined</dd>
-               <dt class="sub1">[] CD Markers</dt><dd>Shows / hides the Range line, where CD Markers can be defined</dd>
-               <dt class="sub1">[] Markers</dt><dd>Shows / hides the Markers line, where custom markers can be defined</dd>
-
-               <dt class="sub1">[] Video</dt><dd>Shows / hides the Video timeline, where frames of the video are shown for syncing purposes</dd>
-       <dt>Video Monitor</dt>
-               <dt class="sub1">Original Size</dt><dd>When the <a href="/video-timeline/">Video Monitor</a> is active, resets its size to the original size, i.e. 1 pixel in the video is 1 pixel on screen</dd>
-               <dt class="sub1">[] Letterbox</dt><dd>When checked, forces the ratio (width/height) to be the one of the original video. If unched, the video will be stretched to fit the window</dd>
-
-               <dt class="sub1">[] Always on Top</dt><dd>Stays above all other windows, enabling to work in Ardour without the video windows to be hidden in the background</dd>
-               <dt class="sub1">[] Fullscreen</dt><dd>Sets the Xjadeo window to be fullscreen. Can be usefull in a dual monitor setup</dd>
-
-               <dt class="sub1">[] Timecode</dt><dd>When checked, displays a Timecode over the video, in the Hours:Minutes:Seconds:Frames format</dd>
-               <dt class="sub1">[] Frame number</dt><dd>When checked, shows the absolute frame number inside the video, i.e. this image is the <em>n</em>th of the video</dd>
-               <dt class="sub1">[] Timecode Background</dt><dd>Adds a black background to the timecode for readability</dd>
-       <dt>Scroll</dt>
-               <dt class="sub1">Scroll Tracks Down</dt><dd>Scrolls the view toward the bottom of the session from one screen (vertically, so along tracks)</dd>
-               <dt class="sub1">Scroll Tracks Up</dt><dd>Same as above, towards the top</dd>
-               <dt class="sub1">Scroll Forward</dt><dd>Scrolls the view toward the right of the session from one screen (horizontally, so along time)</dd>
-               <dt class="sub1">Scroll Backward</dt><dd>Same as above, to the left</dd>
-       <dt>Views</dt>
-               <dt class="sub1">Save View <em>n</em></dt><dd>Saves the position on the timeline in the memory, horizontally and vertically (along time and tracks)</dd>
-               <dt class="sub1">Go to View <em>n</em></dt><dd>Loads and displays a saved position (see above)</dd>
-
-       <dt>[] Show Editor Mixer</dt><dd>When checked, the selected tracks' mixer strip is displayed on the left of the editor window, allowing for a quick access to e.g. efffects and routing</dd>
-       <dt>[] Show Editor List</dt><dd>In the Editor window, shows the <a href="/ardours-interface/editor-lists/">Editor List</a>, giving access to a number of handy lists (regions, tracks, ...)</dd>
-       <dt>[] Toggle Mixer List</dt><dd>In the Mixer view, shows the Mixer list, giving access to some handy lists (<a href="/ardours-interface/favorite-plugins-window/">Favorite plugins</a>, <a href="/ardours-interface/the-strips-list/">The Strip list</a>,...)</dd>
-       <dt>[] Toggle Monitor Section Visibility</dt><dd>If the <kbd class="option">Use monitoring section on this session</kbd> has been checked in the <a href="/preferences-and-session-properties/session-properties-dialog/monitoring/">Session Properties window</a>, shows pr hide the Monitor Section in the Mixer</dd>
-       <dt>[] Show Measure Lines</dt><dd>If checked, in the Editor, shows a vertical white lines at each measure start</dd>
-       <dt>[] Show Summary</dt><dd>If checked, in the Editor, shows the <a href="/ardours-interface/the-summary/">Summary</a>, allowing a faste navigation in the session</dd>
-       <dt>[] Show Group Tabs</dt><dd>If checked, makes the groups visible as tabs on the left in the Editor, and on the top in the mixer</dd>
-       <dt>[] Show Marker Lines</dt><dd>If checked, each marker is extended across all the tracks in the editor with a line of the same color</dd>
-</dl>
diff --git a/_manual/05_ardours-interface/01_main-menu/07_Window-menu.html b/_manual/05_ardours-interface/01_main-menu/07_Window-menu.html
deleted file mode 100644 (file)
index c6fb5a7..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title: The Window Menu
----
-
-<p>
-       The <dfn>Window</dfn> menu deals with the layout of the different windows, and their visibility.
-</p>
-
-<dl>
-       <dt>[] Audio/MIDI Setup</dt><dd>Shows the <a href="/working-with-sessions/new-session-dialog/"><kbd class="menu">Audio/MIDI Setup</kbd> window</a>, where the sound system configuration can be modified</dd>
-
-       <dt>Editor</dt>
-               <dt class="sub1">Show</dt><dd>Switches to the Editor view</dd>
-               <dt class="sub1">Hide</dt><dd>Hides the Editor, hence showing the Mixer when the windows are attached</dd>
-               <dt class="sub1">Attach</dt><dd>If the Editor window is detached, separated from the main window, attach it back</dd>
-               <dt class="sub1">Detach</dt><dd>If the Editor is attached to the main window, fetach it (makes the Editor a separated window, usefull for multi-monitor setup)</dd>
-       <dt>Mixer</dt>
-               <dt class="sub1">Show/Hide/Attach/Detach</dt><dd>Same as for the Editor, for the <em>Mixer</em> window</dd>
-       <dt>Preferences</dt><dd></dd>
-               <dt class="sub1">Show/Hide/Attach/Detach</dt><dd>Same as for the Editor, for the <em>Preferences</em> window</dd>
-       <dt>Meterbridge</dt><dd>Shows the <a href="/meters/"><kbd class="menu">Meterbridge</kbd> window</a>, that displays all the tracks' meter at once and their recording status, and is very handy for multitrack recording</dd>
-       <dt>Scripting</dt><dd>Opens the <a href="/lua-scripting/"><kbd class="menu">Lua Scripting</kbd> window</a>, allowing to edit and run Lua scripts</dd>
-
-       <dt>[] Tracks and Busses</dt><dd>Opens the <kbd class="menu">Tracks and Busses</kbd> window, which is a shortcut to many tracks/busses operations (routing, effects, ...)</dd>
-       <dt>[] Locations</dt><dd><dd>Opens the <a href="/ardours-interface/editor-lists/ranges-and-marks-list/"><kbd class="menu">Ranges and Marks</kbd> window</a>, a single point of control for all range and location markers</dd>
-       <dt>[] Binding Editor</dt><dd>Opens the <a href="/default-keyboard-bindings/"><kbd class="menu">Key Bindings</kbd> window</a>, which allows for easy creation or modification of any keyboard shortcut</dd>
-       <dt>[] Bundle Manager</dt><dd>Opens the <kbd class="menu">Bundle Manager</kbd> window, allowing to create and manage <em>Bundles</em>, which are a way to simplify connection management, by defining groups of ports</dd>
-       <dt>[] Big Clock</dt><dd>Opens the <a href="/ardours-interface/transport-clocks/">Main Clock</a> as its own separate (and huge) window, which is helpfull when recording</dd>
-
-       <dt>[] Video Monitor</dt><dd>If a <a href="/video-timeline/">video</a> has been imported in the session, opens a video window (namely, <em>Xjadeo</em>), synced to the timeline</dd>
-
-       <dt>Midi Tracer</dt><dd>Opens the <kbd class="menu">MIDI Tracer</kbd> window, allowing to follow each and every MIDI message entering or leaving Ardour</dd>
-       <dt>[] Audio Connections</dt><dd>Opens the <a href="/signal-routing/Patchbay/"><kbd class="menu">Audio Connection Manager</kbd> window</a>, a way to make connections to, from and within Ardour's mixer</dd>
-       <dt>[] MIDI Connections</dt><dd>Same as above, for the MIDI connections</dd>
-       <dt>[] Log</dt><dd>Shows the <kbd class="menu">Log</kbd> window, where Ardour lists usefull information, warnings and errors</dd>
-</dl>
diff --git a/_manual/05_ardours-interface/01_main-menu/08_Help-menu.html b/_manual/05_ardours-interface/01_main-menu/08_Help-menu.html
deleted file mode 100644 (file)
index c8992c0..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: The Help Menu
----
-
-<p>
-       The <dfn>Help</dfn> Menu gives acces to usefull information about Ardour.
-</p>
-
-<dl>
-       <dt>[] About</dt><dd>Shows the <kbd class="menu">About Ardour</kbd> window, which contains information about the version, config, authors,and license of Ardour</dd>
-       <dt>Chat</dt><dd>This is a shortcut to the webchat version of the Freenode IRC channel of Ardour, where the developpers meet, and questions can be asked if the Manual is not enough</dd>
-       <dt>Manual</dt><dd>Link to a FLOSSManual guide to Ardour</dd>
-       <dt>Reference</dt><dd>Link to this manual, hosted on ardour.org</dd>
-       <dt>User Forums</dt><dd>Link to ardour.org's user forum</dd>
-       <dt>How to Report a Bug</dt><dd>Link to an helping page about reporting bugs</dd>
-       <dt>Report a Bug</dt><dd>Link to Ardour's Mantis bugtracker</dd>
-       <dt>Ardour Website</dt><dd>Link to Ardour's main and official website</dd>
-       <dt>Ardour Development</dt><dd>Link to the developpers' part of the official website</dd>
-</dl>
diff --git a/_manual/05_ardours-interface/02_status-bar.html b/_manual/05_ardours-interface/02_status-bar.html
deleted file mode 100644 (file)
index 439f03e..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title: Status Bar
----
-
-<img src="/images/status-bar.png" alt="The Status Bar">
-
-<p>The status bar is an informative bar at the top of the window, showing:</p>
-
-<dl>
-       <dt>File:</dt><dd>the file format used in the session, including when recording</dd>
-       <dt>TC:</dt><dd>is the timecode, i.e. the number of frames per second used by the session (for videos)</dd>
-       <dt>Audio:</dt><dd>gives the sample rate used in the session, and the latency computed from the buffer size</dd>
-       <dt>Buffers:</dt><dd>decribe how much data is buffered, see below</dd>
-       <dt>DSP:</dt><dd>for Digital Sound Processing, shows how much of the CPU is used by Ardour and its plugins</dd>
-       <dt>PkBld:</dt><dd><em>(only shows up while creating peaks)</em> displays the number of peak files left to create</dd>
-       <dt>X:</dt><dd>shows the number of xruns since Ardour's launch, see below</dd>
-       <dt>Disk:</dt><dd>reports the remaining hard disk space as the time that can be recorded with the current session setting</dd>
-       <dt>Wall Clock</dt><dd>showing the system time (especially usefull in full screen mode)</dd>
-       <dt>Log button</dt><dd>that indicates if Ardour has encountered any warning or error.</dd>
-</dl>
-
-<p>
-  Right clicking anywhere on the Status Bar allows to choose which of this informations we want displayed, through a checkbox menu.
-</p>
-<p>
-  The buffers are labelled as <kbd class="menu">p</kbd> for playback and <kbd class="menu">c</kbd> for capture. If the
-  system is fast enough, these buffers should be 100% full at all times, showing the system has time to precompute
-  all the data before delivering it to the audio system. A buffer constantly under 20% is a sign of an underpowered
-  computer system or of too much processing.
-</p>
-<p>
-  An Xrun (short for buffer over- or under-run) happens when the system has been forced to skip audio frames, e.g. if the latency
-  asked is too short for the computing power of the machine. It usually results in clicks, pops and crackles if it happens while recording.
-</p>
-<p>
-  The log button turns yellow when a warning is shown, and red when an error occurs. Clicking the log button gives acces to the log.
-</p>
diff --git a/_manual/05_ardours-interface/03_the-transport-bar.html b/_manual/05_ardours-interface/03_the-transport-bar.html
deleted file mode 100644 (file)
index 4e57da6..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Transport Bar
----
-
-
-<p>
-  The <dfn>Transport Bar</dfn> groups all the actions regarding the control of playback and recording.
-</p>
-
-<p><img src="/images/transport.png" alt="The transport controls" /></p>
-
-<p>
-  This bar is made of (from left to right):
-</p>
-
-<dl>
-       <dt>Midi Panic</dt><dd>Immediately stops all midi output.</dd>
-       <dt>Enable/disable Audio Click</dt><dd>Toggles (on/off) a click track (metronome) along the <a href="/working-with-tempo-and-meter/">tempo</a>. Right clicking brings up the <kbd class="menu">Click</kbd> submenu from the Preferences.</dd>
-       <dt>Go to Start of the Session</dt><dd>Jumps back at the beginning of the session, as defined by the <a href="/working-with-markers/">start marker</a>.</dd>
-       <dt>Go to End of the Session</dt><dd>Jumps forward to the end of the session, as defined by the <a href="/working-with-markers/">end marker</a>.</dd>
-       <dt>Play Loop Range</dt><dd>Repeats the defined <a href="/controlling-playback/">loop</a> as defined by the <a href="/working-with-markers/loop-range/">Loop range</a>, until the "Stop playback" button is pressed. Clicking the "Play loop Range" button while already active switches to normal Play mode, which exits the loop without stopping and restarting playback.</dd>
-       <dt>Play Range/Selection</dt><dd>If a range has been defined using the Range Mode button, plays the range, of if an audio or MIDI region is selected, plays this region. In both cases, the playback stops at the end of the range or selected region.</dd>
-       <dt>Play from playhead</dt><dd>Starts the playback and optionally record (more below).</dd>
-       <dt>Stop</dt><dd>Whatever the playing mode (loop, range, &hellip;) stops all playback. Depending on other settings, some effects (like chorus or reverb) might still be audible for a while.</dd>
-       <dt>Toggle Record</dt><dd>Global switch button to activate/deactivate recording. While active, the button blinks red. The button doesn't start recording by itself: if one or more tracks are marked as record-enabled, pressing the "Play from Playhead" starts recording on those tracks. See <a href="/recording/">Recording</a>.</dd>
-</dl>
-
-<p class="note">
-  All these actions are bound to keyboard shortcuts, which allows for speedier use and more focused work.
-</p>
-
-<p class="note">
-  If you synchronize Ardour with other devices then some or all of these control methods may be unavailable&mdash;depending on the synchronization protocol, Ardour may respond only to commands sent from its master device(s).
-</p>
-
-<p>
-  Under these buttons is the <dfn>Shuttle Speed Control</dfn> that allows to scrub through the audio quickly.
-</p>
-
-<p>
-  The Shuttle Speed Control supports 2 operating modes, that can be chosen with right click > Mode:
-</p>
-
-<ul>
-  <li><dfn>Sprung mode</dfn> that allows for a temporary scrub: it only scubs while the mouse is left clicked on the control.</li>
-  <li><dfn>Wheel mode</dfn> that allows to set a playback speed until the "Stop" button is pressed, which stops the playback and resets its speed.</li>
-</ul>
-
-<p>
-  The mode is displayed on the right of the control. The current playback speed is shown by a green slider, that is square and centered when the playback speed is normal (1X) and becomes a circle when its changed. The further from the center the slider is set, the faster the playback will scrub in both directions, as displayed on the left of the control.
-<p>
-
-<p>
-  The 3 vertical buttons on the right of the transport bar control the behaviour of the playhead:
-</p>
-
-<ul>
-  <li>The positional sync button (which might show <dfn>Internal</dfn>, or <dfn>MTC</dfn> or several other values) can be used to control whether or not the transport position and start is controlled by Ardour, or by an external positional synchronization source, such as MIDI Time Code (MTC), Linear Time Code (LTC) or JACK. (see <a href="/synchronization/timecode-generators-and-slaves/">Timecode Generators and Slaves</a>).</li>
-       <li><dfn>Follow Edits</dfn> is a toggle that can be used to control whether or not making a selection (range or object) will move the playhead to the start of the selection.</li>
-       <li><dfn>Auto Return</dfn> is a toggle switch too. When active, pressing the Stop button returns the playhead to its previous position, and when inactive, pressing Stop keeps the playhead at its current location. Activating Auto Return can be useful for hearing the same piece of audio before and after tweaking it, without having to set a loop range on it.</li>
-</ul>
-
-<h2>Using Key Bindings</h2>
-<p>
-  Ardour has many available commands for playback control that can be bound
-  to keys. Many of them have default bindings, some do not, so the list below
-  shows both the default bindings and internal command names for some of them.
-</p>
-
-<dl class="wide-table">
-  <dt><kbd>Space</kbd></dt><dd>switch between playback and stop.</dd>
-  <dt><kbd>Home</kbd></dt><dd>Move playhead to session start marker</dd>
-  <dt><kbd>End</kbd></dt><dd>Move playhead to session end marker</dd>
-  <dt><kbd>&rarr;</kbd></dt><dd>Playhead to next region boundary</dd>
-  <dt><kbd>&larr;</kbd></dt><dd>Playhead to previous region boundary</dd>
-  <dt><kbd>0</kbd></dt><dd>Move playhead to start of the timeline</dd>
-</dl>
-
-Go to the <kdb class="menu">Transport</kbd> and <kdb class="menu">Transport &gt; Playhead</kbd> to find more.
diff --git a/_manual/05_ardours-interface/04_transport-clocks.html b/_manual/05_ardours-interface/04_transport-clocks.html
deleted file mode 100644 (file)
index 53e886f..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Transport Clocks
----
-
-<img src="/images/new_main_clocks.png" alt="An image of the transport clocks in Ardour" />
-
-<p>
-  <dfn>Clocks</dfn> in Ardour are used to display <dfn>time values</dfn> precisely.
-  In many cases, they are also one way to edit (change) time values, and in a few
-  cases, the only way. All clocks share the same basic appearance and functionality,
-  which is described below, but a few clocks serve particularly important roles.
-</p>
-<p>
-  In the transport bar of the editor window there are two clocks (unless you
-  are on a very small screen), that display the current position of the playhead
-  and additional information related to transport control and the timeline. These
-  are called the <dfn>transport clocks</dfn>; the left one is the primary
-  transport clock and the right one is the secondary transport clock.
-</p>
-<p>
-  All the clocks in Ardour share the same powerfull way of editing time. Refer to
-  <a href="/introducing-ardour/basic-gui-operations/editing-clocks/">Editing Clocks</a> to learn how.
-</p>
-<p>
-  Editing the time in the transport clocks will reposition the playhead in the same
-  way that various other editing operations will.
-</p>
-
-<h2>The Special Role of the Secondary Transport Clock</h2>
-
-<p>
-  On a few occasions Ardour needs to display time values to the user, but there
-  is no obvious way to specify what units to use. The most common case is the big
-  cursor that appears when dragging regions. For this and other similar cases,
-  Ardour will display time using the same units as the secondary clock.
-</p>
-
-<h2>Why are there two transport clocks?</h2>
-
-<p>
-  Having two transport clocks lets you see the playhead position in two different
-  time units without having to change any settings. For example, you can see the
-  playhead position in both timecode units and BBT time.
-</p>
-
-<h2>Special Modes for the Transport Clocks</h2>
-
-<p>
-  In addition to the time-unit modes, each of the two transport
-  clocks (if you work on a small screen, you may only have one) can be
-  independently set to display <dfn>Delta to Edit Point</dfn> in whatever time
-  units its current mode indicates. This setting means that the clock shows the
-  distance between the playhead and the current edit point, and it may show a
-  positive or negative value depending on the temporal order of these two points.
-  The clocks will use a different color when in this mode to avoid confusion.
-</p>
-
-<p>
-  To switch either (or both!) of the transport clocks into this mode, use
-  <kbd class="menu"> Edit &gt; Preferences &gt; Transport</kbd> and select
-  the relevant checkboxes.
-</p>
-
-<p>
-  Note that when in <samp>Delta to Edit Point</samp> mode, the transport clocks
-  cannot be edited.
-</p>
-
-
-<h2>The Big Clock</h2>
-
-<p>
-  To show the current playhead position in a big, resizable window, activate
-  <kbd class="menu">Window &gt; Big Clock</kbd>. The big clock is very useful
-  when you need to work away from the screen but still want to see the playhead
-  position clearly (such as when working with a remote control device across
-  a room). The big clock will change its visual appearance to indicate when active
-  recording is taking place. Below on the left is a screenshot showing a fairly
-  large big clock window filling a good part of the display, and on the right,
-  the same clock during active recording.
-</p>
-
-<a href="/images/bigclock.png"><img src="/images/bigclock.png" height="100" alt="an image of the big clock filling a screen"></a>
-<a href="/images/bigclock-recording.png"><img src="/images/bigclock-recording.png" height="100" alt="an image of the big clock while recording"></a>
diff --git a/_manual/05_ardours-interface/05_selection-and-punch-clocks.html b/_manual/05_ardours-interface/05_selection-and-punch-clocks.html
deleted file mode 100644 (file)
index d898777..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: Selection and Punch Clocks
----
-
-<img src="/images/selectionpunchclocks.png" alt="An image of the the selection and punch clocks in Ardour" />
-
-<p>
-  The transport bar contains a set of 5 clocks that show the current
-  <dfn>selection range</dfn> and <dfn>punch ranges</dfn>.
-</p>
-<p>
-  Clicking on the punch range clocks will locate to either the beginning or end of the punch range.
-  Similarly, clicking on the range clocks will locate to either the beginning
-  or end of the current selection. In this screen shot there is no current
-  selection range, so the selection clocks show an "off" state.
-</p>
-<p>
-  The <kbd class="menu">In</kbd> and <kbd class="menu">Out</kbd> buttons relate
-  to the Punch range, and allow to use only one of the two punch boundaries, or both:
-</p>
-<dl>
-  <dt>In only</dt><dd>Records from the In marker on, without a end boundary</dd>
-  <dt>Out only</dt><dd>Records untils the Out marker, without a beginning boundary</dd>
-  <dt>In only</dt><dd>Records only between the In and Out markers</dd>
-</dl>
-<p>
-  <kbd class="mouse">Right</kbd> clicking on any of the 5 clocks brings up a context menu
-  allowing to change the type of time display between the <a href="/introducing-ardour/basic-gui-operations/editing-clocks/">
-  4 clock modes</a>, and to copy the selected clock's time to the clipboard.
-</p>
diff --git a/_manual/05_ardours-interface/06_status-indicators.html b/_manual/05_ardours-interface/06_status-indicators.html
deleted file mode 100644 (file)
index 3207a71..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: Status indicators and Mode buttons
----
-
-<img src="/images/status-and-mode-buttons.png" alt="The Status buttons, the Mode buttons and " />
-
-<p>
-  The <dfn>Status</dfn> buttons show the current session state:
-</p>
-
-<dl>
-  <dt>Solo</dt><dd>Blinks when one or more tracks are being soloed, see <a href="/mixing/muting-and-soloing/">Muting and Soloing</a>. Clicking this button disables any active explicit and implicit solo on all tracks and busses. Clicking this button desactivates the solo on every track/bus.</dd>
-  <dt>Audition</dt><dd>Blinks when some audio is auditionned, e.g. by using the import dialog, or using the <kbd class="menu">Audition</kbd> context menu in the <a href="/ardours-interface/editor-lists/region-list/">Regions List</a>. Clicking this button stops the auditionning.</dd>
-  <dt>Feedback</dt><dd>Blinks when Ardour detects a <dfn>feedback loop</dfn>, which happens when the output of an audio signal chain is plugged back to its input. This is probably not wanted and can be dangerous for the hardware and the listener.</dd>
-</dl>
-
-<p>
-  The Mode Selector allows switching between Editor, Mixer and the Preferences window.
-  If a window is detached, the corresponding button is lit in blue. Clicking the botton
-  switches the detached window visibility.
-</p>
-
-<p>
-  The global meter shows the levels of the master's output. Its the same meter that sits
-  in the <a href="/ardours-interface/the-master-bus-strip/">Master's Mixer strip</a>,
-  and also shows a peak indicator, that turns red when  any level exceeds 0dB. It can
-  be reset by a <kbd class="mouse">Left</kbd> click.
-</p>
diff --git a/_manual/05_ardours-interface/07_the-toolbox.html b/_manual/05_ardours-interface/07_the-toolbox.html
deleted file mode 100644 (file)
index 0bced06..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
----
-title: Toolbox
----
-
-<img src="/images/toolbar-tools.png" alt="Editor toolbar's tools, aka toolbox">
-
-<h2>Global Edit mode</h2>
-
-<p>
-  Ardour has a global <dfn>edit mode</dfn> selector at the left of the
-  Editing toolbar, which affect how regions are moved or copied:
-</p>
-
-<dl>
-  <dt><kbd class="menu">Slide</kbd></dt>
-  <dd>Regions move freely. Ardour creates overlaps when necessary.</dd>
-  <dt><kbd class="menu">Ripple</kbd></dt>
-  <dd>Editing affects the regions to the "right" of the edit (see below).</dd>
-  <dt><kbd class="menu">Lock</kbd></dt>
-  <dd>No region motion is permitted (except for "nudge").</dd>
-</dl>
-
-<p>
-  Ripple Edit mode provides the following conveniences:
-  <ul>
-    <li>Deleting a range will move later regions to compensate for the deleted time</li>
-    <li>Deleting a region will move later regions to compensate for the deleted region's length</li>
-    <li>Moving a region will move later regions to compensate for the length of the move</li>
-    <li>Inserting a new region (via dragging or via Paste) will move later regions to the right to compensate</li>
-  </ul>
-</p>
-
-<p class="note">
-  If <kbd class="menu">Snap To Grid</kbd> is enabled, then regions can
-  only move so that they align with locations determined by the current
-  snap settings (beats, or seconds, or other region boundaries, etc).
-  See <a href="/ardours-interface/the-grid-controls/">Snap To the Grid</a>
-  for details.
-</p>
-
-<h2>The <em>Smart</em> switch
-
-<p>
-  The <dfn>Smart Mode</dfn> button to the left of the mouse mode buttons
-  modifies the <dfn>Grab Mode</dfn>. When enabled, the mouse behaves as if it
-  is in "Range Mode" in the upper half of a region, and in "Grab Mode" in the
-  lower half. This allows avoiding constant switching between these two modes.
-</p>
-
-<h2>Mouse Modes</h2>
-
-<dl class="wide-table">
-  <dt id="object">Grab Mode</dt>
-  <dd>The <dfn>Grab Mode</dfn> is used for selecting, moving, deleting and
-  copying objects. When in object mode, the mouse pointer appears as a hand
-  whenever it is over the track canvas or the rulers. The mouse can now be
-  used to select and perform operations on objects such as regions, markers etc.
-  This is the most common mode to work in, as it allows you to select and move regions,
-  as well as modify automation points on the automation tracks.</dd>
-
-  <dt>Range Mode</dt>
-  <dd>When in <dfn>Range Mode</dfn>, the mouse pointer appears as a vertical line
-  whenever it is over the track canvas or the rulers. The mouse will now be
-  able to select a point or range of time. Time ranges can be selected over
-  one or several tracks, depending on the selection of your tracks.<br>
-  If none of your tracks are selected, the Range Tool will operate on all the
-  session track visualized in the Editor.<br>
-  If you want to edit only particular tracks, select them before you apply
-  the range tool.</dd>
-
-  <dt>Cut Tool Mode</dt>
-  <dd>When in <dfn>Cut Tool Mode</dfn>, the mouse pointer appears as a pair of scissors
-  whenever it is over the track canvas or the rulers. This tools allows to cut
-  any region into 2 regions at the mouse cursor, regardless of the Edit Point.<br>
-  If one or more track(s) is selected, then all the regions on these tracks will
-  be split at the mouse cursor position.<br>
-  If no track is selected, then only the region hovered by the mouse cursor will
-  be split.</dd>
-
-  <dt>Stretch Mode</dt>
-  <dd>When in <dfn>time fx</dfn> mode, the mouse pointer appears as a
-  distinctive expanding square symbol whenever it is over the track canvas or
-  the rulers. This mode is used to resize regions using a timestretch
-  algorithm. Click on an edge of a region of audio and drag it one way or the other to
-  stretch or shrink the region.</dd>
-
-  <dt>Audition Tool</dt>
-  <dd>Clicking a region using the <dfn>audition tool</dfn> will play this
-  region to the control room outputs.<br>
-  You can also <dfn>scrub</dfn> with this tool by clicking and dragging in
-  the direction you wish to listen.  The amount you drag in one direction or
-  the other will determine the playback speed.</dd>
-
-  <dt>Draw Tool</dt>
-  <dd>When in <dfn>Draw Tool</dfn> mode, the mouse pointer will change to
-  a pencil. You can then click within an audio region to change the <dfn>gain
-  envelope</dfn> for that region. This curve is separate from fader automation
-  for individual tracks. It will remain locked to the region's time, so if the
-  region is moved, the region gain envelope is moved along with it.<br>
-  The draw tool works on automation too, allowing the creation and modification
-  of control points on the automation curves.<br>
-  Last, it is used on a MIDI region to edit the notes.</dd>
-
-  <dt>Internal/Region Edit Mode</dt>
-  <dd>When in <dfn>Internal Edit</dfn> mode, the mouse pointer will change to
-  cross-hairs. This tool acts on gegion gain and automation as the Draw tool.<br>
-  On a MIDI region, it allows to lasso-select multiple notes at a time.</dd>
-</dl>
diff --git a/_manual/05_ardours-interface/08_the-zoom-controls.html b/_manual/05_ardours-interface/08_the-zoom-controls.html
deleted file mode 100644 (file)
index 65dcb02..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
----
-title: Zoom Controls
----
-
-
-
-<img class="left" src="/images/toolbar-zoom.png" alt="Editor toolbar's zoom">
-
-
-
-<p>The zoom controls allow to navigate the session along both the time and track axes.</p>
-
-
-
-<p>The drop down <kbd class="menu">Zoom Focus</kbd> menu allows to select a focus
-
-point for the zoom, i.e. the center of the zoom. The choices are :</p>
-
-
-
-<ul>
-
-  <li><dfn>Left</dfn> of the screen</li>
-
-  <li><dfn>Right</dfn> of the screen</li>
-
-  <li><dfn>Center</dfn> of the screen</li>
-
-  <li><dfn>Playhead</dfn></li>
-
-  <li><dfn>Mouse</dfn></li>
-
-  <li><dfn>Edit Point</dfn> as set in the <a href="/ardours-interface/the-edit-point-control/">Edit point</a> control.</li>
-
-</ul>
-
-
-
-<p>The 2 leftmost zoom buttons (<kbd class="menu">&minus;</kbd> and
-
-<kbd class="menu">&plus;</kbd>) use this zoom focus to zoom out and in
-
-respectively.<p>
-
-
-
-<p>The <kbd class="menu">Zoom to session</kbd> button is a handy shortcut to zoom
-
-out or in until all the session (as defined by it's <a href="/working-with-markers/">start/end
-
-markers</a>) fits horizontally.</p>
-
-
-
-<p>Changing the <kbd class="menu">Number of visible tracks</kbd> dropdown menu
-
-allows to fit this number of tracks vertically in the screen.<p>
-
-
-
-<p class="note">There <em>is</em> a minimal track height to keep it visible, so
-
-according to you screen vertical size, some high number can have no effect.</p>
-
-
-
-<p>Inside this menu are 2 handy choices :</p>
-
-<ul>
-
-  <li><dfn>Selected tracks</dfn> that focus on the selected tracks. If the selected
-
-  tracks are not contiguous, the unselected tracks inbetween will be hidden, see
-
-  the <a href="/ardours-interface/editor-lists/tracks-and-busses-list/">Track and Bus list</a>.</li>
-
-  <li><dfn>All</dfn> that fits all the tracks of the sessions vertically (provided
-
-  there's enough screen estate).</li>
-
-</ul>
-
-
-
-<p>The rightmost buttons <kbd class="menu">Shrink tracks</kbd> and
-
-<kbd class="menu">Expand tracks</kbd> reduce or expand the vertical size of the
-
-selected tracks. If no track is selected, all the tracks will be shrunk or
-
-expanded each time the button is pushed.
diff --git a/_manual/05_ardours-interface/09_the-grid-controls.html b/_manual/05_ardours-interface/09_the-grid-controls.html
deleted file mode 100644 (file)
index e4c730a..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
----
-title: Grid Controls
----
-
-
-
-<img class="left" src="/images/toolbar-grid.png" alt="Editor toolbar's grid">
-
-
-
-<p>
-
-  Ardour's editor utilizes a <dfn>grid</dfn> to assist in the placement
-
-  of regions on the timeline, or with editing functions that need to happen
-
-  at a specific point in time.  You can choose if you want the cursor and
-
-  various objects to snap to this grid, and how you want the snapping to
-
-  behave. You can modify the grid units to fit your needs.
-
-</p>
-
-
-
-<h2>About Snapping</h2>
-
-
-
-<p>There are two ways to think about aligning material to a grid.
-
-  The first and most obvious one is where an object's position is clamped
-
-  to grid lines. In Ardour, this is called <dfn>absolute snap</dfn>
-
-  and is commonly used when working with sampled material where audio
-
-  begins exactly at the beginning of a file, note or region.</br>
-
-  The second, <dfn>relative snap</dfn>, is used when an object's position
-
-  relative to the grid lines is important. In music, this allows you to
-
-  move objects around without changing the "feel" (or timing) of a performance.</br>
-
-  Absolute snap is the default method of snapping in Ardour.</br>
-
-  While dragging objects you may switch from absolute to relative snap by
-
-  pressing the absolute snap modifier key(s).</br>
-
-  You may also disable snap entirely by using the snap modifier (see below).</br>
-
-  Note that in relative snap mode the reference point is taken to be the distance
-
-  to the nearest grid line.</br>
-
-  Note also that when an object lies exactly on a grid line, there will be no difference
-
-  between relative and absolute snap modes.</br>
-
-  The realtive snap and snap modifiers (along with other modifier keys) may be set in
-
-  <kbd class="menu">Edit &gt; Preferences &gt; User Interaction</kbd></br>
-
-  For common use patterns, it is recommended that you assign a unique key for
-
-  one snap modifier and two keys for the other in such a way that they share an otherwise unused key.
-
-  For example, you may choose the snap modifier to be the <kbd class="mod2">&nbsp;</kbd> key and the
-
-  relative snap modifier to be the <kbd class="mod2">&nbsp;</kbd> and <kbd class="mod4">&nbsp;</kbd> keys.
-
-</p>.
-
-
-
-<h2>Snap Modes</h2>
-
-<p>
-
-  Using the above modifications, Ardour supports three different modes of snapping to the grid:
-
-</p>
-
-
-
-<dl class="wide-table">
-
-  <dt><kbd class="menu">No Grid</kbd></dt>
-
-  <dd>disables the grid. All objects move freely in this mode.</br>
-
-  In <kbd class="menu">No Grid</kbd> mode, you may temporarily activate the grid by pressing the
-
-  snap modifier (for absolute snap) or switch to relative snap by pressing the relative snap modifier.</dd>
-
-  <dt><kbd class="menu">Grid</kbd></dt>
-
-  <dd>activates normal snapping. All positions of objects snap to
-
-  the grid. (See <a href="#gridunits">Grid Units</a> below
-
-  to change the grid). If you try to move an object in "Grid"-mode, it
-
-  does not change its position until you move the mouse far enough for the
-
-  object to reach the next grid line.</br>
-
-  Sometimes you may wish to maintain an objects' position relative to the grid line.
-
-  In order to do this, use the "snap relative" modifier.
-
-  When holding down this modifier during a drag, the dragged object will jump
-
-  while maintaining its original distance from the line.</br>
-
-  New objects will always be created at grid points.</br>
-
-  Holding down the snap modifier will disable the current grid setting and allow you to move the object freely.</br>
-
-  </dd>
-
-  <dt><kbd class="menu">Magnetic</kbd></dt>
-
-  <dd>is a less strict type of snapping. Objects can still be moved to any
-
-  position, but positions close to the relative or absolute grid points will snap.
-
-  In order to move an object very close to a snap point, it may be necessary
-
-  to zoom in to prevent snapping to that point, or to use the snap modifier to disable snap completely.</br>
-
-  As with Grid mode, the snap modifier will disable snap completely while the
-
-  absolute snap modifier will move the "notch" of Magnetic snap to the grid lines.</dd>
-
-</dl>
-
-
-
-<h2>Syncing Regions to the Grid</h2>
-
-<p>
-
-  By default, a region's beginning will be used as the reference for both types of snapping,
-
-  but you can change this behaviour by setting a <dfn>sync point</dfn> in
-
-  the region. Select the region(s) and press <kbd>V</kbd>. This will set
-
-  the sync point to your edit point.</p>
-
-
-
-<h2 id="gridunits">Grid Units</h2>
-
-<p>
-
-  The selector next to the grid mode selector defines the size of the grid
-
-  elements. You can set your grid to several different units:
-
-</p>
-
-<dl class="wide-table">
-
-  <dt><kbd class="menu">CD Frames</kbd></dt>
-
-  <dd>A CD Frame is 1/75th of a second. Snapping to CD Frames (using absolute snap) can be used to avoid issues with CD track
-
-  lengths.</dd>
-
-  <dt><kbd class="menu">Timecode Frames/Seconds/Minutes</kbd></dt>
-
-  <dd>The duration of a frame depends on the timecode settings for the
-
-  session.</dd>
-
-  <dt><kbd class="menu">Seconds/Minutes</kbd></dt>
-
-  <dd>These are absolute time units, unaffected by sample rate or timecode settings</dd>
-
-  <dt><kbd class="menu">Beats/N</kbd></dt>
-
-  <dd>Set the grid to units of 1/N beats, where N can be 128, 64, 32, 16, 8, 7, 6, 5, 4, 3, 2. The duration of a grid unit will depend on the tempo and meter in effect at that point in the timeline.</dd>
-
-  <dt><kbd class="menu">Beats</kbd></dt>
-
-  <dd>Set the grid to whole beats. The duration of a grid unit will depend on the tempo and meter in effect at that point in the timeline.</dd>
-
-  <dt><kbd class="menu">Bars</kbd></dt>
-
-  <dd>Set the grid to whole bars. The duration of a grid unit will depend on the tempo and meter in effect at that point in the timeline.</dd>
-
-  <dt><kbd class="menu">Markers</kbd></dt>
-
-  <dd>The grid lines are the markers.</dd>
-
-  <dt><kbd class="menu">Region Starts</kbd></dt>
-
-  <dd>The grid lines are constructed from region start points (see below).</dd>
-
-  <dt><kbd class="menu">Region Ends</kbd></dt>
-
-  <dd>The grid lines are constructed from region end points (see below).</dd>
-
-  <dt><kbd class="menu">Region Syncs</kbd></dt>
-
-  <dd>The grid lines are constructed from region sync points.</dd>
-
-  <dt><kbd class="menu">Region Bounds</kbd></dt>
-
-  <dd>The grid lines are constructed from region start or end points.</dd>
-
-</dl>
-
-
-
-<p>
-
-  To use Region starts/ends/syncs/bounds as snap choices, you must have
-
-either
-
-</p>
-
-
-
-<ul>
-
-  <li><em>No</em> tracks selected, which means that Ardour snaps to regions on any track, or </li>
-
-  <li>Several tracks selected, which means that Ardour only snaps to regions on those selected tracks.</li>
-
-</ul>
-
-
-
-<p>
-
-  If you are moving items on a track, and only the current track is selected,
-
-  then you will only be able to snap to other regions on the same track.
-
-  This means that enabling
-
-  <kbd class="menu">Edit &gt; Preferences &gt; Editor &gt; Link Selections of Regions and
-
-  Tracks</kbd> will make the "Region" grid unit unusable.  Avoid the use of this option if
-
-  you are going to use any of the Region grid units.
-
-</p>
diff --git a/_manual/05_ardours-interface/10_the-edit-point-control.html b/_manual/05_ardours-interface/10_the-edit-point-control.html
deleted file mode 100644 (file)
index 4a7622c..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: Edit Point Control
----
-
-
-
-<img class="left" src="/images/toolbar-editpoint.png" alt="Editor toolbar's Edit Point">
-
-
-
-<p>
-
-  Editing operations in a Digital Audio Workstation like Ardour can be broken
-
-  down according to how many points on the timeline are required to carry the
-
-  operation out. Splitting a region for example, requires just one position
-
-  on the timeline (the one where the split will happen). Cutting out a time
-
-  range requires two positions, one for the start of the cut and one for the end.
-
-</p>
-
-
-
-<p>
-
-  In Ardour the <dfn>edit point</dfn> is the location where most single-point
-
-  editing operations take place. It can be set to either of the following:
-
-</p>
-
-
-
-<ul>
-
-  <li>the <dfn>Playhead</dfn> position</li>
-
-  <li>the selected (or "active") <dfn>Marker</dfn></li>
-
-  <li>the position of the <dfn>Mouse</dfn> (or touch) pointer</li>
-
-</ul>
-
-
-
-<p>
-
-  The default edit point is the location of the pointer.
-
-</p>
-
-
-
-<p>
-
-  There are 2 keybindings available to cycle through the edit point options.
-
-  The most common workflow tends to involve switching back and forth between
-
-  the playhead and mouse as the edit point. Press the grave accent key
-
-  <kbd>`</kbd> to switch between these two. Use <kbd class="mod1">`</kbd> to
-
-  cycle through all three choices (including the selected marker).  You can
-
-  also switch the edit point using a combo-selector just right of the snap/grid
-
-  unit selector.
-
-</p>
diff --git a/_manual/05_ardours-interface/11_the-nudge-controls.html b/_manual/05_ardours-interface/11_the-nudge-controls.html
deleted file mode 100644 (file)
index f439e9e..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: Nudge Controls
----
-
-
-
-<img class="left" src="/images/toolbar-nudge.png" alt="Editor toolbar's Nudge">
-
-
-
-<p>
-
-  The <dfn>nudge controls</dfn> will move the selected region(s) by a fixed amount
-
-  of time. The left and right buttons move either backward or forward in time, and the small
-
-  clock to the left of these buttons sets the amount of time to nudge by.
-
-  As with all other clocks, you can right-click on the clock to choose the
-
-  time representation you want to use.
-
-</p>
-
-
-
-<p>
-
-  If there are no selected objects, the nudge controls can be
-
-  used to move the playhead backward or forward by the amount shown on the clock.
-
-</p>
diff --git a/_manual/05_ardours-interface/12_the-ruler.html b/_manual/05_ardours-interface/12_the-ruler.html
deleted file mode 100644 (file)
index a1b234c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: Ruler
----
-
-<img src="/images/ruler.png" alt="Ardour's Ruler">
-
-<p>
-  The <dfn>Ruler</dfn> scales the session along time, allows navigating, and can be marked for different uses. The main use of the Ruler is to move the playhead : clicking anywhere on the timeline will bring the playhead at this location in time.
-</p>
-
-<p>
-       It is made of a succession of rows, each having a special role related to time.From top to bottom, those rows are :
-</p>
-
-<dl>
-       <dt><dfn>Timecode</dfn></dt><dd>scaling the session whith the traditionnal Hours:Mins:Secs:Frames notation</dd>
-       <dt><dfn>Bars:Beats</dfn></dt><dd>slicing the time according to the time signature ot the Meter</dd>
-       <dt><dfn>Meter</dfb></dt><dd>shows the time signature. It can be changed along the timeline, by <kbd class="mouse">Right click</kbd> &gt; <kbd class="menu">New Meter</kbd>. The Bars:Beats ruler will reflect the change.</dd>
-       <dt><dfn>Tempo</dfn></dt><dd>shows the BPM. It can be changed along the timeline, by <kbd class="mouse">Right click</kbd> &gt; <kbd class="menu">New Tempo</kbd>. The Bars:Beats ruler will reflect the change.</dd>
-       <dt><dfn>Range Markers</dfn></dt><dd>allow to create and modify ranges directly on the Ruler.</dd>
-       <dt><dfn>Loop/Punch Ranges</dfn></dt><dd>are special kind of ranges designed to be played as a loop and to do punch recording, i.e. recording on a precise section of time, respectively.</dd>
-       <dt><dfn>CD Markers</dfn></dt><dd>are markers designed to be used while creating a recording that has to be split in time, as an audio CD</dd>
-       <dt><dfn>Location Markers</dfn></dt><dd>is meant to receive any kind of marker, user generated or from Ardour itself.</dd>
-</dl>
-
-<p>Most of the operations on the markers are described in <a href="/working-with-markers/">Working with Markers</a>, while the Meter, Tempo, Bars:Beats and Timecode use are described in <a href="/working-with-tempo-and-meter/">Tempo and Meter</a>.</p>
diff --git a/_manual/05_ardours-interface/13_the-summary.html b/_manual/05_ardours-interface/13_the-summary.html
deleted file mode 100644 (file)
index 26371fc..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: Summary
----
-
-
-<img src="/images/summary.png" alt="Ardour's Summary">
-
-<p>
-  The <dfn>Summary</dfn> is a global overview of the session, allowing for a good "bird's eye" view of where in time and tracks the work happens.
-</p>
-
-<p>
-       Each horizontal line represents a track in the session, with the colored bars being the audio and MIDI regions, colored as per their track's color setting.
-</p>
-
-<p>
-       Two yellow vertical lines show the position of the <em>Start</em> and <em>End</em> markers, defining the session's length. The red line shows the playhead's position.
-</p>
-
-<p>
-       The transparent white rectangle represents what's actually displayed in the Editor window, i.e. what part of the session is beign looked at on screen.
-</p>
-
-<p>The Summary also doubles as a navigator:</p>
-
-<ul>
-       <li>the arrows on the left allow to scroll the view horizontally, by 1 length of the view each time</li>
-       <li>the arrows on the right allow to scroll vertically, by 1 track each time</li>
-       <li>the white rectangle can be dragged anywhere on the session, moving the view accordingly</li>
-       <li>each border and corner of the white square can be resized, zooming in and out accordingly</li>
-</ul>
diff --git a/_manual/05_ardours-interface/14_editor-lists.html b/_manual/05_ardours-interface/14_editor-lists.html
deleted file mode 100644 (file)
index 5a882a7..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: Editor Lists
----
-
-<p>
-  At the right hand side of the editor window is an optional area which provides one of a
-  range of useful lists of parts of your session. It is not shown by default
-  when you first start using Ardour. The <dfn>Editor list</dfn> can be hidden
-  or shown using <kbd class="menu">View &gt; Show Editor List</kbd>. The very
-  right-hand side of the list gives a selection of tabs which are used to
-  choose the list to view. The left-hand border of the list can be dragged to
-  vary the width of the list.
-</p>
-
-{% children %}
diff --git a/_manual/05_ardours-interface/14_editor-lists/01_region-list.html b/_manual/05_ardours-interface/14_editor-lists/01_region-list.html
deleted file mode 100644 (file)
index 1b8cec4..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: The Region List
----
-
-
-
-<p>
-
-  The region list shows all the regions in the session. The left-hand column gives the region name, and there are a range of times given for information:
-
-</p>
-
-
-
-<dl>
-
-  <dt>Position</dt><dd>position of the start of the region on the global timeline</dd>
-
-  <dt>End</dt><dd>position of the region on the global timeline</dd>
-
-  <dt>Length</dt><dd>duration of the region</dd>
-
-  <dt>Sync</dt><dd>position of the sync point, relative to the start of region (can be negative)</dd>
-
-  <dt>Fade In</dt><dd>duration of the fade in. Can't be less than 1 ms, to avoid clipping.</dd>
-
-  <dt>Fade Out</dt><dd>duration of the fade out (positive value, &ge; 1 ms).</dd>
-
-</dl>
-
-
-
-<p>
-
-  The units used to display those times are those used for the clock, so changing the units on the clocks change the display of this values.
-
-</p>
-
-
-
-<p>
-
-  At the right of the list are four columns of flags that can be altered:
-
-</p>
-
-
-
-<dl>
-
-  <dt>L</dt>
-
-  <dd>whether the region position is locked, so that it cannot be moved.</dd>
-
-  <dt>G</dt>
-
-  <dd>whether the region's position is &lsquo;glued&rsquo; to bars and beats. If so, the region will stay at the same position in bars and beats even if the tempo and/or time signature change.</dd>
-
-  <dt>M</dt>
-
-  <dd>whether the region is muted, so that it will not be heard.</dd>
-
-  <dt>O</dt>
-
-  <dd>whether the region is opaque; opaque regions &lsquo;block&rsquo; regions below them from being heard, whereas &lsquo;transparent&rsquo; regions have their contents mixed with whatever is underneath. </dd>
-
-</dl>
-
-
-
-<p>
-
-  Hovering the mouse pointer over a column heading shows a tool-tip which can be handy to remember what the columns are for.
-
-</p>
-
-
-
-<p>
-
-  A handy feature of the region list is that its regions can be dragged and dropped into a suitable track in the session.
-
-</p>
diff --git a/_manual/05_ardours-interface/14_editor-lists/02_tracks-and-busses-list.html b/_manual/05_ardours-interface/14_editor-lists/02_tracks-and-busses-list.html
deleted file mode 100644 (file)
index c99bd93..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title: The Tracks and Busses List
----
-
-
-
-<p>
-
-  This lists the tracks and busses that are present in the session. The list order reflects the order in the editor, and you can drag-and-drop track or bus names in the editor list to re-order them in the editor. The columns in the list represent the following:
-
-</p>
-
-
-
-<dl>
-
-  <dt id="visible">V</dt>
-
-  <dd>whether the track or bus is visible; they can be hidden, in which case they will still play, but just not be visible in the editor; this can be useful for keeping the display uncluttered.</dd>
-
-  <dt id="active">A</dt>
-
-  <dd>whether the track or bus is active; unactive tracks will not play, and will not consume any CPU.</dd>
-
-  <dt id="input">I</dt>
-
-  <dd>for MIDI tracks, whether the MIDI input is enabled; this dictates whether MIDI data from the track's inputs ports will be passed through the track.</dd>
-
-  <dt id="record">R</dt>
-
-  <dd>whether the track is record-enabled.</dd>
-
-  <dt id="record-safe">RS</dt>
-
-  <dd>whether the track is record safe; a record safe track cannot be armed for recording, to protect against a mistake.</dd>
-
-  <dt id="mute">M</dt>
-
-  <dd>whether the track is muted.</dd>
-
-  <dt id="solo">S</dt>
-
-  <dd>track solo state.</dd>
-
-  <dt id="solo-isolated">SI</dt>
-
-  <dd>track solo-isolated state.</dd>
-
-  <dt id="solo-safe">SS</dt>
-
-  <dd>solo safe state. </dd>
-
-</dl>
-
-
-
-<p class="note">
-
-  Each icon in these columns can be clicked to toggle the track/bus state, which is a very fast way to set multiple tracks/busses state at once.
-
-</p>
-
-
-
-<p>
-
-  As with the region list, hovering the mouse pointer over a column heading shows a tool-tip which can be handy to remember what the columns are for.
-
-</p>
diff --git a/_manual/05_ardours-interface/14_editor-lists/03_snapshot-list.html b/_manual/05_ardours-interface/14_editor-lists/03_snapshot-list.html
deleted file mode 100644 (file)
index a1f97ff..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: The Snapshot List
----
-
-
-
-<p>
-
-  This list gives the snapshots that exist of this session. Clicking on a snapshot
-
-  name will load that snapshot.
-
-</p>
-
-
-
-<p>
-
-  See <a href="/working-with-sessions/">Working with Sessions</a> for more
-
-  information on snapshots.
-
-</p>
diff --git a/_manual/05_ardours-interface/14_editor-lists/04_track-and-bus-group-list.html b/_manual/05_ardours-interface/14_editor-lists/04_track-and-bus-group-list.html
deleted file mode 100644 (file)
index c6b1501..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: The Track and Bus Group List
----
-
-
-
-<p>
-
-  This shows the track/bus groups that exist in the session. These groups allow related tracks to share various properties (such as mute or record enable state). For full details, see the section called <a href="/working-with-tracks/track-and-bus-groups/">Track and Bus Groups</a>.
-
-</p>
-
-
-
-<p>
-
-  The columns in this list are as follows:
-
-</p>
-
-
-
-<dl>
-
-  <dt>Col</dt>
-
-  <dd>the colour that the group uses for its tab in the editor.</dd>
-
-  <dt>Name</dt>
-
-  <dd>the group name.</dd>
-
-  <dt>V</dt>
-
-  <dd>whether the tracks and busses in the group are visible.</dd>
-
-  <dt>On</dt>
-
-  <dd>whether the group is enabled.</dd>
-
-  <dt>G</dt>
-
-  <dd>ticked if the constituents of the group are sharing gain settings.</dd>
-
-  <dt>Rel</dt>
-
-  <dd>ticked if shared gains are relative.</dd>
-
-  <dt>M</dt>
-
-  <dd>ticked if the constituents share mute status.</dd>
-
-  <dt>S</dt>
-
-  <dd>ticked if the constituents share solo status.</dd>
-
-  <dt>Rec</dt>
-
-  <dd>ticked if the constituents share record-enable status.</dd>
-
-  <dt>Mon</dt>
-
-  <dd>whether the constituents share monitor settings.</dd>
-
-  <dt>Sel</dt>
-
-  <dd>whether the constituents are selected together.</dd>
-
-  <dt>A</dt>
-
-  <dd>whether the constituents share active status. </dd>
-
-</dl>
diff --git a/_manual/05_ardours-interface/14_editor-lists/05_ranges-and-marks-list.html b/_manual/05_ardours-interface/14_editor-lists/05_ranges-and-marks-list.html
deleted file mode 100644 (file)
index d0f1ca2..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
----
-title: The Ranges and Marks List
----
-
-<p>
-  The <dfn>Ranges &amp; Marks List</dfn> is a tab in the <dfn>Editor
-  Lists</dfn> area on the right of the Editor window. If the editor
-  list area isn't visible it can be enabled by checking
-  <kbd class="option">View &gt; Show Editor List</kbd>.
-  The Ranges &amp; Marks list can be used as a single point
-  of control for all range and location markers (including the punch and
-  loop ranges), or as a supplement to other methods of working with them.
-</p>
-
-<h2>Common elements</h2>
-
-<p>
-  Each section has a set of <dfn>editable <a
-  href="/introducing-ardour/basic-gui-operations/editing-clocks/">clock widgets</a></dfn>
-  which display the location of a marker, or the start, end, and duration times of a range,
-  respectively.
-</p>
-<p>
-  The <kbd class="menu">Use PH</kbd> buttons allow you to set
-  the corresponding clock to the current playhead position.
-  A <kbd class="mouse">Middle</kbd> click on any of the clocks will move
-  the playhead to that location. Both functions are also available from the
-  clock context menus.
-</p>
-<p>
-  Right clicking on any of the clocks brings up a context menu that allows
-  changing of the display between Timecode, Bars:Beats, Minutes:Seconds,
-  and Samples.
-</p>
-<p>
- The <kbd class="menu">&mdash;</kbd> (subtract) button in front of each
- user-defined range or marker in the list allows that particular item to
- be removed. The name fields of custom ranges and markers can be edited.
-</p>
-<p>
-  The <kbd class="option">Hide</kbd> checkboxes make markers and ranges invisible
-  on the respective ruler to reduce visual clutter; the markers remain
-  active however, and can be used normally.
-</p>
-<p>
-  Selecting <kbd class="option">Lock</kbd> prevents the respective marker
-  from being moved until unlocked.
-  Where applicable, <kbd class="option">Glue</kbd> fixes the marker position
-  relative to the current musical position expressed in bars and beats, rather
-  than the absolute time. This will make the respective marker follow
-  changes in the tempo map.
-</p>
-<p>
-  At the bottom of the list are buttons to add new markers or ranges.
-</p>
-
- <h2>List sections</h2>
-
-<dl>
-  <dt>Loop/Punch Ranges</dt>
-  <dd>This list shows the current <dfn>loop</dfn> and <dfn>punch</dfn> range
-  settings. Since these are built-in ranges, you cannot rename or remove them.</dd>
-  <dt>Markers (Including CD Index)</dt>
-  <dd>This section lists the session's <dfn>markers</dfn>. By ticking <kbd
-  class="option">CD</kbd>, you instruct Ardour to create a <dfn>CD track
-  index</dfn> from this marker, which will be included in the TOC or CUE file when you
-  export.</dd>
-  <dt>Ranges (Including CD Track Ranges)</dt>
-  <dd>This is the list of <dfn>ranges</dfn> (including <dfn>CD track
-  ranges</dfn>). Ticking <kbd class="option">CD</kbd> will convert
-  the range to a <dfn>CD track</dfn>, which will again be included in
-  exported TOC or CUE files. This is relevant for Disk-At-Once recordings
-  that may contain audio data between tracks.</dd>
-</dl>
diff --git a/_manual/05_ardours-interface/15_favorite-plugins-window.html b/_manual/05_ardours-interface/15_favorite-plugins-window.html
deleted file mode 100644 (file)
index 78b6467..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: Favorite Plugins Window
----
-
-<p>
-  The <dfn>Favorite Plugins</dfn> window is on the top-left side of the <dfn>Mixer Window</dfn>. Like other elements in that window it has variable height and can be hidden by dragging it to zero-height. If it is not visible, the top-handle can be grabbed and dragged down to reveal it.
-</p>
-
-<p>
-  Plugin names that have a right facing triangle next to them have presets associated with them; clicking on the triangle will cause all presets associated with the plugin to show in the list.
-</p>
-
-<h2>Features</h2>
-
-<p>
-  The Favorite Plugins window provides easy access to frequently used plugins:
-</p>
-
-<ul>
-  <li>Plugins can be dragged from the window to any track or bus <a href="/working-with-plugins/processor-box/"><dfn>processor box</dfn></a>, which will add the plugin to that track or bus at the given position.</li>
-  <li>The list includes user-presets for the plugins. Dragging a preset to a given track or bus will load that preset after adding the plugin.</li>
-  <li>Double-clicking on a plugin or preset adds the given plugin to all selected tracks/busses pre-fader. Other insert positions are available from the context menu (right click).</li>
-  <li>Dragging a plugin from a track into the window will add it to the list and optionally create a new preset from the current settings. The horizontal line in the list shows the spot where the plugin will land.</li>
-  <li>The context-menu allows the deletion of presets or removal of the plugin from the list.</li>
-  <li>Plugins in the list can be re-ordered using drag &amp; drop. The custom order is saved.</li>
-</ul>
-
-<p class="note">
-  When favorites are added with the <a href="/working-with-plugins/plugin-manager/">Plugin Manager</a>, they are appended to the bottom of the list.
-</p>
diff --git a/_manual/05_ardours-interface/16_the-strips-list.html b/_manual/05_ardours-interface/16_the-strips-list.html
deleted file mode 100644 (file)
index e4226d6..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: Strips List
----
-
-<p>
-  The <dfn>Strips List</dfn> is a quick way to manage big sessions, with lots of tracks,
-  where the mixer would otherwise be too crowded.
-</p>
-
-<p>
-  It is a list of all the tracks, busses and VCA in the session, with a tick to allow
-  for hiding or showing them. This visibility status also affects the Editor view, and is exactly the same as
-  toggling the <kbd class="option">V</kbd> checkbox in the
-  <a href="/ardours-interface/editor-lists/tracks-and-busses-list/">Tracks and Busses</a>
-  panel of the Editor List.
-</p>
-
-<p>
-  Dragging and dropping tracks inside the Strips List allows to reorganise the tracks in the session,
-  both in the Mixer and the Editor. Clicking a track scrolls the Mixer to show this track.
-</p>
-
-<p>
-  It is possible, by <kbd class="mouse">right</kbd> clicking, to act on multiple tracks at once:
-</p>
-
-<ul>
-  <li>Show All</li>
-  <li>Hide All</li>
-  <li>Show All Audio Tracks</li>
-  <li>Hide All Audio Tracks</li>
-  <li>Show All Audio Busses</li>
-  <li>Hide All Audio Busses</li>
-  <li>Show All MIDI Tracks</li>
-  <li>Hide All MIDI Tracks</li>
-</ul>
-
-<p>
-  The <kbd class="menu">&plus;</kbd> button under the list is a shortcut to create a new track,
-  bus or VCA, as in clicking <kbd class="menu">Track &gt; Add Track, Bus or VCA...</kbd>.
-</p>
diff --git a/_manual/05_ardours-interface/17_the-groups-list.html b/_manual/05_ardours-interface/17_the-groups-list.html
deleted file mode 100644 (file)
index 8eb3f7b..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: Groups list
----
-
-<p>
-  The <dfn>Goups List</dfn> allows to quickly manage the <a href="/working-with-tracks/track-and-bus-groups/">groups</a>
-  of the session, and make use of them.
-</p>
-
-<p>
-  Each group has a <kbd class="option">Show</kbd> checkbox to quickly toggle their visibility. Clicking an already
-  selected group allows to rename it.
-</p>
-
-<p>
-  The context menu, reached by <kbd class="mouse">right</kbd> clicking a group,
-  allows for multiple mixing actions:
-</p>
-
-<dl>
-  <dt>Create New Group From...</dt><dd>Creates a new group based on some track properties. The choice is :
-    <ul>
-      <li><kbd class="menu">Selection...</kbd> to create a group of all selected tracks</li>
-      <li><kbd class="menu">Record Enabled...</kbd> to create a group of all the tracks that are record enabled</li>
-      <li><kbd class="menu">Soloed...</kbd> to create a group of all the soloed tracks</li>
-    </ul></dd>
-  <dt>Create New Group with Master From...</dt><dd>Acts exactly as the previous choice, but also creates a Control Master tied to these tracks.</dd>
-  <dt>Assign Selection to Control Master...</dt><dd>Allows to link all the selected tracks to a chosen Control Master, whether or not they belong to a group.</dd>
-  <dt>Assign Record Enabled to Control Master...</dt><dd>Allows to link all the record armed tracks to a chosen Control Master.</dd>
-  <dt>Assign Soloed to Control Master...</dt><dd>Allows to link all the soloed tracks to a chosen Control Master.</dd>
-  <dt>Enable All Groups</dt><dd>Enable all the groups, i.e. their selected properties are synchronized.</dd>
-  <dt>Disable All Groups</dt><dd>Disable all the groups, i.e. changing a property in a track won't affect the others.</dd>
-
-</dl>
-
-<p>
-  When a group is selected, <kbd class="mouse">right</kbd> clicking it adds the following menu entries :
-</p>
-
-<dl>
-  <dt>Create New Group with Master From...</dt><dd>Acts exactly as the previous choice, but also creates a Control Master tied to these tracks.</dd>
-  <dt>Edit Group...</dt><dd>Shows the <kbd class="menu">Track/bus Group</kbd> <a href="/working-with-tracks/track-and-bus-groups/">window</a>.</dd>
-  <dt>Collect Group</dt><dd>Rearranges the tracks/busses order to visualy group together the tracks belonging to the same group.</dd>
-  <dt>Remove Group</dt><dd>Deletes the group (but not the tracks/busses belongidng to this group).</dd>
-  <dt>Assign Group to Control Master...</dt><dd>Allows to link all the tracks in the group to a chosen VCA.</dd>
-  <dt>Add/Remove Subgroup Bus</dt><dd>Creates/removes a new bus connected to the Master, and send the output of all the tracks in the group to this new bus.</dd>
-  <dt>Add New Aux Bus (pre/post-fader)</dt><dd>Creates a new bus connected to the Master, and create <a href="/signal-routing/aux-sends/">Aux Sends</a> (pre or post-fader) in all the tracks in the group to this new bus.</dd>
-</dl>
-
-<p>
-  The <kbd class="menu">&plus;</kbd> button under the list allows the creation of an (empty) group,
-  while the <kbd class="menu">&minus;</kbd> button deletes the selected group (but not the tracks in
-  this group).
-</p>
diff --git a/_manual/05_ardours-interface/18_audio-midi-mixer-strips.html b/_manual/05_ardours-interface/18_audio-midi-mixer-strips.html
deleted file mode 100644 (file)
index 62f7155..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
----
-title: Audio/MIDI Mixer Strips
----
-
-<img class="right" src="/images/mixer-1-strip-numbered.png" alt="A mixer strip">
-
-<p>
-  A <dfn>mixer strip</dfn> in Ardour is a vertical view of the track, from a mixing point of view.
-  This view is convenient to deal with I/O, effects, panning/muting, gain, etc... It has a general
-  "top to bottom" flow.
-</p>
-<p>
-  The mixer strips breaks down into :
-</p>
-<ol>
-  <li>Header</li>
-  <li>Track name</li>
-  <li>Input(s)</li>
-  <li>Polarity <em>only for audio tracks</em></li>
-  <li>Processor box</li>
-  <li>Panner</li>
-  <li>Recording options</li>
-  <li>Mute/Solo</li>
-  <li>Gain &amp; Meter</li>
-  <li>Control master</li>
-  <li>Fader automation/mix group/metering point</li>
-  <li>Output(s)</li>
-  <li>Comments</li>
-</ol>
-
-
-<h2>Headers</h2>
-
-<p>
-  At the top of the window, is the <a href="/working-with-tracks/track-and-bus-groups/">group tabs</a> (here, <em>recm...</em>).
-  This allows to group tracks together for common controls.
-</p>
-<p>
-  Bellow are 3 buttons :
-</p>
-<ul>
-  <li>
-    The double arrow button allows to shrink/expand the width of the strip. <kbd
-    class="mod1"></kbd><kbd class="mod3"></kbd><kbd class="mouse">Click</kbd> the button will shrink/expand all
-    the tracks at once
-  </li>
-  <li>
-    The color bar shows the color of the track in the editor
-  </li>
-  <li>
-    The <kbd class="menu">X</kbd> button toggles the visibility of the track OFF. To turn it back ON,
-    one can either go to the <a href="/ardours-interface/editor-lists/tracks-and-busses-list/">Tracks and Busses list</a>
-    in the Editor view and check the "V" column on the track's line or stay in the Mixer view
-    and check the <kbd class="menu">Show</kbd> column of this strip in the
-    <a href="/ardours-interface/the-strips-list/">Strips list</a>.
-  </li>
-</ul>
-<p>
-  <kbd class="mouse">Right</kbd> clicking on the color bar will bring up a context menu, which is exactly the same as clicking on the Track name button.
-</p>
-
-<h2>Track Name</h2>
-
-<p>
-  Clicking the Track name button will bring up a menu :
-</p>
-<dl>
-  <dt>Color...</dt><dd>Changes the strip/track color</dd>
-  <dt>Comments...</dt><dd>Shows an editor to put comments about the track, see bellow the Comments button</dd>
-  <dt>Inputs...</dt><dd>Shows the Routing grid for the inputs of the track</dd>
-  <dt>Outputs...</dt><dd>Shows the Routing grid for the outputs of the track</dd>
-  <dt>Save As Template...</dt><dd>Allows to save the track without its media content (I/O, effects,...) for later reuse</dd>
-  <dt>Rename...</dt><dd>Changes the name of the track (effective both in the Mixer and the Editor)</dd>
-  <dt><kbd class="option"></kbd>Active</dt><dd>Select the active status of the track. An inactive track won't output any sound</dd>
-  <dt><kbd class="option"></kbd>Strict I/O</dt><dd>While in <a href="/signal-routing/signal-flow/">Strict I/O</a> mode, a track <em>always</em> has as many output as it has inputs, regardless of the effects. When disabled, a stereo effect put on a mono track will result in a stereo output for the strip.</dd>
-  <dt>Pin Connections...</dt><dd>Shows the <kbd class="menu">Pin Configuration</kbd> window, that shows (and allows to modify) all the signal flows inside the track</dd>
-  <dt>Adjust Latency...</dt><dd>Shows the <kbd class="menu">Track Latency</kbd> dialog, that allows fine-tune the latency to the track, in samples, msec or period</dd>
-  <dt><kbd class="option"></kbd>Protect Against Denormals</dt><dd>Uses a trick to get rid of <em>denormals</em>, which are very small numbers the CPU can have a hard time dealing with. To be used if the CPU consumption for plugins is noticeably higher than expected</dd>
-  <dt>Duplicate...</dt><dd>Copies the track to a new one, optionnaly with its playlist</dd>
-  <dt>Remove</dt><dd>Deletes the track and its playlist</dd>
-</dl>
-
-<h2>Inputs</h2>
-
-<p>
-  The dropdown button shows the current input port(s), i.e. what's plugged to the "in" of the track.
-  By default, each audio track is connected to the system inputs, ready for recording,
-  as shown by the number(s).
-  Clicking the dropdown Inputs button will allow to change the inputs, through a menu:
-</p>
-<dl>
-  <dt>Disconnect</dt><dd>Disconnects everything, i.e. the track has no input</dd>
-  <dt>In <em>n</em></dt><dd>Those are the system inputs, e.g. to record from the soundcard. A mono track will have <em>In 1</em> and <em>In 2</em> separated, while a stereo track can have <em>In 1+2</em></dd>
-  <dt><em>Track n output</em></dt><dd>All the outputs of compatible tracks, e.g., a mono track can only receive a mono signal, a MIDI track can only receive MIDI signal, ...</dd>
-  <dt>Add Audio Port</dt><dd>Adds an audio input to the track, i.e. a mono audio track becomes a stero one</dd>
-  <dt>Add MIDI Port</dt><dd>Adds a MIDI input to the track. Adding it to an audio track makes it a mixed Audio/MIDI track. This can be usefull e.g. to feed some plugins with a MIDI signal to control the audio, like a vocoder</dd>
-  <dt>Routing Grid</dt><dd>Shows the <a href="/signal-routing/Patchbay/"><kbd class="menu">Routing Grid</kbd> window</a>, which allows for more complex input configuration</dd>
-</dl>
-<p>
-  The <kbd class="menu">Routing Grid</kbd> can also be shown by right clicking the dropdown Inputs button.
-  It allows to make the connections through a matrix, and connect things that are not listed in the menu above,
-  or connect to multiple sources at once, reduce the number of inputs, etc...
-</p>
-<p>
-  On audio tracks, is a Trim knob, as on traditional consoles.
-  It set the base input level for the track, avoiding any clipping. Notice that it
-  trims both any input, but (when playing back), also the level of the playlist as
-  displayed in the Editor. It makes sense as while playing, the input of the track is
-  the playlist, on which the mixer strip acts.
-</p>
-<p>
-  On midi tracks, it is replaced by a MIDI Input button, that allows/disallows
-  MIDI input on the track.
-</p>
-
-
-<h2>Polarity</h2>
-
-<p>
-  On audio tracks only, the Polarity button(s), 1 per input, allow to reverse
-  the signal, i.e. a negative value will be positive and vice-versa. This can
-  help deal with phasing issues.
-</p>
-
-<h2>Processor box</h2>
-
-<p>
-  The processor box is where the effects are added. By default, one effect is always
-  present : the Fader (see bellow). The effects can be added <em>pre</em>-fader and appear in brown,
-  or <em>post</em>-fader, where they will appear in dark green. The signal flow is represented by lines,
-  red for the MIDI and green for the audio.
-</p>
-<p>
-  It is also where the <a href="/signal-routing/aux-sends/">Sends</a> come from, wether external or auxiliary.
-</p>
-<p>
-  To learn more about the processor box, see <a href="/working-with-plugins/processor-box/">The Processor Box</a>.
-</p>
-
-<h2>Panner</h2>
-
-<p>
-    The <dfn>Panner</dfn> visually displays how the sound will be distributed between the different outputs.
-    They'll look and behave differently if the track is mono, stereo, or has multiple channels.
-</p>
-<p>
-    Right clicking the Panner will show a menu:
-</p>
-<dl>
-  <dt><kbd class="option"></kbd>Bypass</dt><dd>When checked, the panner is grayed, and the signal is not affected by it</dd>
-  <dt>Reset</dt><dd>Resets the panner to its default settings, e.g. for a mono signal, it is centered</dd>
-  <dt>Edit...</dt><dd>Shows a <kbd class="menu">Panner</kbd> dialog, which allows for fine tuning of the panner</dd>
-</dl>
-<p>
-    See <a href="/mixing/panning/">Panning</a> to learn more about how to control the panner,
-    and what kind of panners are available inside Ardour.
-</p>
-
-<h2>Recording options</h2>
-
-<p>
-  The most noticeable button here is the Record Enable one, with a red circle. When
-  enabled, next time the Global record will be armed and playback started, everything that
-  comes from the input of the track will be recorded. Right clicking a disabled record
-  button allows to enable <kbd class="menu">Rec-Safe</kbd>, thus protecting the track
-  against accidental recording.
-</p>
-<p>
-  The buttons on the right, <kbd class="menu">In</kbd> and <kbd class="menu">Disk</kbd>,
-  show what the user is listening to by lighting up, between the <em>In</em>put and the
-  actual content of the playlist on <em>Disk</em>.
-</p>
-<p>
-  They also allow to override the automatic switching by pressing them to lock one
-  source or the other to be what the user is hearing.
-</p>
-
-<h2>Mute/Solo</h2>
-
-<p>
-  These buttons allow to Mute (or silence) the track, or Solo them, shutting down the
-  gain of the other tracks (totally by default, can be set to partially in the options).
-  See <a href="/mixing/muting-and-soloing/">Muting and Soloing</a>
-  for more information.
-</p>
-<p>
-  Notice that by default, Solo overrides Mute, i.e. if a track is both Soloed and Muted, it will
-  play. That can be changed in the preferences.
-</p>
-<p>
-  The two led button above are related to solo :
-</p>
-<ul>
-  <li>Solo Isolate, as the name suggests, isolates tracks or busses from the solo system. When tracks or busses are soloed the isolated ones will not mute.</li>
-  <li>Solo Lock locks the solo into its current state (ie solo on or solo off). It will not allow the solo state to be changed until the lock is released.</li>
-</ul>
-
-<h2>Gain &amp; Meter</h2>
-
-<p>
-  On the right of this part is a <a href="/meters/">Meter</a>, displaying the level of the track's
-  output after the fader. In can be set to display the signal at any point, see below <em>Metering Point</em>.
-  Right clicking this meter shows a menu allowing to switch the meter type.
-</p>
-<p>
-  The big Gain slider on the left allows to change the gain of the track. Its default O dB
-  value is reminded with a white horizontal line, and its precise value is shown
-  in a text field above it, that doubles as a way to type in a numeric value.
-</p>
-<p>
-  The text field above the meter shows the "Peak", i.e. the mawimum value that has been
-  reached during playback. To avoid distortion, the value should stay bellow O dB, and
-  if it goes above this value, the text field will turn red. Clicking on this field
-  will reset the Peak value (for a new measurement or a new part of the track).
-</p>
-
-<p class="note">
-  Notice that if any gain automation has been set and the automation state is set on "Play"
-  (see below), then the Gain fader is driven by the automation, and not by the user. The Gain fader will
-  turn grey to show it's inactive.
-</p>
-
-<h2>Control master</h2>
-
-<p>
-  If at least one control master exists, this button will show up, allowing the user
-  to link this track to any control master.
-</p>
-<p>
-  Clicking the button lists all the available control masters, and a menu option to
-  <kbd class="menu">Unassign all</kbd>. Notice that a track can have be a slave to as many
-  control masters as they are in the session, hence multiplying the number of C.M. buttons.
-  The displayed number is the number of the Control Master, not the count of C.M. linked
-  to the track. A track with no control master assigned will show a unique button with a
-  "<kbd class="menu">-vca-</kbd>" label instead of this number.
-</p>
-
-<h2>Fader automation/mix group/metering point</h2>
-
-<h3>Fader automation mode</h3>
-<p>
-    This button allows to choose the mode used regarding automation:
-</p>
-<dl>
-  <dt>Manual</dt><dd><em>(default)</em> The playback won't use the fader automation data</dd>
-  <dt>Play</dt><dd>Enables playback/use of fader automation data</dd>
-  <dt>Write</dt><dd>While the transport is rolling, all fader changes will be recorded to the fader automation lane</dd>
-  <dt>Touch</dt><dd>While the transport is rolling, touching the fader will initiate recording all fader changes until the fader is released. When the fader is not being touched, existing automation data will be played/used to control the gain level.</dd>
-</dl>
-
-<h3>Mix group</h3>
-<p>
-  This button displays the mix group information as does the tab in the header (see above).
-  It is convenient though, as it allows to quickly switch the track from one
-  group to another with a drop down menu, also allowing to affect the track to
-  a non-adjascent group (which the tab won't easily allow).
-</p>
-
-<h3>Metering Point</h3>
-<p>
-  The metering displayed in the meter is by default is 'Post', i.e. Post fader.
-  It can be changed with this button to Any point of the signal flow :
-</p>
-<dl>
-  <dt>In</dt><dd>The input of the track</dd>
-  <dt>Pre</dt><dd>Pre-fader</dd>
-  <dt>Post</dt><dd>Post-fader</dd>
-  <dt>Out</dt><dd>The output of the track</dd>
-  <dt>Custom</dt><dd>A <em>Meter</em> processor is added to the processor box an can be set anywhere (by dragging and dropping) to probe the signal flow at that pointat the point</dd>
-</dl>
-
-<h2>Output(s)</h2>
-
-<p>
-  This button is exactly the same as the <em>Input</em> button, but applies to the <em>output</em>
-  of the track.
-</p>
-
-
-<h2>Comments</h2>
-
-<p>
-  This buttons open up a little text editor, that can be used to add some written notes to the track,
-  as e.g. a particular setting. The button's caption is replaced by the beginning of the text, so
-  it can be used as a "sub"name for the track.
-</p>
diff --git a/_manual/05_ardours-interface/19_busses-mixer-strips.html b/_manual/05_ardours-interface/19_busses-mixer-strips.html
deleted file mode 100644 (file)
index 5d737d0..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
----
-title: Audio/MIDI Busses Mixer Strips
----
-
-<img class="right" src="/images/bus-mixer-strip.png" alt="A bus mixer strip">
-
-<p>
-  An Ardour bus can be considered a virtual track, as in a track that doesn't have a playlist (so, no regions).
-  Its use is to "group" some audio signals to be treated the same way. One simple use case is to group all the audio tracks containing the different drums of a drumkit. Routing all the drums tracks outputs to a bus allows, once the different levels amongst the drums have been set, to adjust the global level of the drumkit in the mix.
-</p>
-<p>
-  Bus usage goes way beyond this simple example though : busses, as tracks, can receive plugins for common audio treatment, and be routed themselves as needed. This makes for a very useful tool that is very commonly used both for musical purposes and computing ones : instead of using e.g. 10 discrete delay plugins on 10 different tracks, busses are often used as receivers of <a href="/signal-routing/aux-sends/">sends</a>, and only 1 delay plugin is used on this bus, reducing the processing power needed.
-</p>
-
-<h2>Audio Busses vs MIDI Busses</h3>
-
-<p>
-       Ardour supports 2 types of busses : Audio and MIDI. A MIDI bus differs from an audio bus just by:
-<p>
-<ul>
-  <li>its input (which is midi, as shown by the red signal lines in the processor box) instead of <em>n</em> audio</li>
-  <li>the fact that you can put an instrument on it at creation time, whereas you can't easily add an instrument to an audio bus</li>
-  <li>as for tracks, the MIDI bus doesn't have a trim knob or invert phase button(s).</li>
-</ul>
-<p>
-  MIDI busses provide a particularly efficient workflow for virtual drumkits where the arrangement uses different MIDI tracks.
-  Moreover, busses with both Audio and MIDI inputs are well suited for vocoders and similar plugins,
-  where a MIDI signal controls an audio one.
-</p>
-<p class="note">
-  Adding any audio input to a MIDI bus transforms it into an audio bus.
-</p>
-
-<h2>Description</h2>
-<p>
-  Busses look and behave exactly like tracks, so they share nearly <a href="/ardours-interface/audio-midi-mixer-strips/">all of their controls</a>.
-  The differences are :
-</p>
-<ul>
-  <li>as the busses dont have a playlist (and cannot host any media), they can't be recorded on. The recording controls are not present</li>
-  <li>an <kbd class="menu">Aux</kbd> button replaces these controls.</li>
-</ul>
-<p>
-  Clicking the <kbd class="menu">Aux</kbd> button makes every track that sends a signal to this bus through <a href="/signal-routing/aux-sends/">Aux sends</a> blink in turquoise.
-  Right clicking this button brings up a menu:
-</p>
-<dl>
-  <dt>Assign all tracks (prefader)</dt><dd>Creates an Aux Send in every track, to this bus. The send is placed just before the fader</dd>
-  <dt>Assign all tracks and busses (prefader)</dt><dd>Creates an Aux Send in every track and every bus, to this bus. The send is placed just before the fader</dd>
-  <dt>Assign all tracks (postfader)</dt><dd>Same as above, but the send is placed just after the fader</dd>
-  <dt>Assign all tracks and busses (postfader)</dt><dd>Same as above, with tracks and busses</dd>
-  <dt>Assign selected tracks (prefader)</dt><dd>Same as for all tracks, but only applies to the selected tracks</dd>
-  <dt>Assign selected tracks and busses (prefader)</dt><dd>Same as for all tracks and busses, but only applies to the selected tracks and busses</dd>
-  <dt>Assign selected tracks (postfader)</dt><dd>Same as above, but the send is placed just after the fader</dd>
-  <dt>Assign selected tracks and busses (postfader)</dt><dd>Same as above, with tracks and busses</dd>
-  <dt>Set sends gain to -inf</dt><dd>For all the sends to this bus, put the send fader to &minus;&infin; so no signal is sent</dd>
-  <dt>Set sends gain to 0dB</dt><dd>For all the sends to this bus, put the send fader at the default position, 0dB (100&percnt; of th signal is sent)</dd>
-</dl>
-
-<h2>Connecting a track to a bus</h2>
-<p>
-  Depending on the user's workflow and the way busses are used, 2 possibilities exists :
-</p>
-
-<h3>Connecting a track to a bus via its outputs</h3>
-
-<img class="left" src="/images/connecting_bus_output.png" alt="Connecting a bus through a track's outputs">
-<p>
-       Connecting the output(s) of a track to the input(s) of the bus sends <em>all</em> the audio/MIDI to the bus. In the mixer strip, select (at the bottom) the OUTPUT button (often, by default, "Master"), and in the list, choose the input of a bus. Note that only the bus able to receive this output will show up, e.g. a mono bus wont be able to be connected to the output of a stereo track).
-</p>
-<p>
-       Obviously, doing so will (by default) disconnect the output from the Master's input, which means all the audio/MIDI will be routed to the bus. For more complex routing, the OUTPUT button allows to show the <kbd class="menu">Routing Grid</kbd> that allows to plug the output of the track to multiple outputs at once, be it busses, tracks, Master... The button will then reflect these multiple connections by showing a <em>*number*</em>, number being the number of connections made in the routing grid.
-</p>
-
-<h3>Connecting a track to a bus via Sends</h3>
-
-<img class="left" src="/images/connecting_bus_send.png" alt="Connecting a bus through a send">
-<p>
-       This allows not to interrupt the natural flow of the signal, i.e. the track will still output to what its connected to (e.g. Master). The signal is "tapped" at the point of insertion of the send, to be sent to the bus. Right click where in the signal flow you want the send to happen, and select <kdb class="menu">New Aux Send... &gt; name_of_the_bus</kbd>.
-</p>
-<p>
-  By <kbd class="mouse">left-clicking</kbd> the send meter, it is possible to adjust the amount of signal sent to the bus. This is often the way tracks are connected to an effect bus, like a Delay bus.
-</p>
-
-<p class="note">
-  Busses can be plugged to other busses, through outputs or sends. Both example workflows discussed previously, i.e. busses for grouping tracks and busses for effects, can both coexist, as e.g. a "grouping" drum bus can have a send to a reverb bus, and be connected to a compressor bus.
-</p>
diff --git a/_manual/05_ardours-interface/20_control-masters.html b/_manual/05_ardours-interface/20_control-masters.html
deleted file mode 100644 (file)
index b8b0384..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title: Control Masters Mixer Strips
----
-
-<img class="right" src="/images/vca-numbered.png" alt="A Control Master mixer strip">
-
-<p>
-   Although track/bus <a href="/working-with-tracks/track-and-bus-groups/">groups</a> offer a certain
-   kind of grouped-control over gain, solo, mute and more, traditional mixing consoles have long had
-   group master channels ("<abbr title="Voltage-Controlled Amplifier">VCA</abbr>s") which allows to combine
-   both a single fader to control the group level while also allowing you to easily adjust the relative
-   levels inside the group. For large projects, this can make mixing much easier to control.
-</p>
-<p>
-  Ardour implements those VCAs as <dfn>Control Masters</dfn>, in a way that allows to use either or both
-  of the conventions used on different traditionnal consoles for combining multiple masters:
-</p>
-<ul>
-  <li>Nest VCAs (VCA 2 controls VCA 1 etc.)</li>
-  <li>Chain VCAs (VCA 1 and VCA 2 both control track or bus <em>N</em>)</li>
-</ul>
-
-<h2>Description of the Control Masters</h2>
-
-<p>
-A Control Master strip is made of (from top to bottom in the screenshot) :
-</p>
-
-<ol>
-  <li>Number of the Control Master</li>
-  <li><kbd class="menu">X</kbd> button: Allows to hide the VCA strip. Left clicking this button toggles the exclusive visibility of the tracks connected to this VCA</li>
-  <li>Name button</li>
-  <li><kbd class="menu">M</kbd>: mutes the VCA, <kbd class="menu">S</kbd>: solos the VCA</li>
-  <li>Level meter: allows to adjust the level of the VCA</li>
-  <li><kbd class="menu">~vca~</kbd>: a VCA button to optionally connect to another VCA</li>
-</ol>
-
-<p>Right-clicking the name button shows a context menus comprised of :</p>
-<dl>
-  <dt>Rename</dt><dd>Renames the VCA</dd>
-  <dt>Color...</dt><dd>Changes the color of the VCA button in the tracks connected to this one</dd>
-  <dt>Drop All Slaves</dt><dd>Deletes all connections to this VCA, i.e. no tracks are controlled by this VCA anymore</dd>
-  <dt>Remove</dt><dd>Deletes this VCA</dd>
-</dl>
-
-<h2>Connecting to a VCA strip</h2>
-
-<img class="left" src="/images/connecting_to_vca.png" alt="Connecting to VCA">
-
-<p>
-       Connecting a track/bus/VCA to a VCA is as simple as clicking the VCA button that appears on any mixer strip
-  under the main fader and choosing the VCA to connect to.
-</p>
-
-<p class="note">The VCA button only shows up in mixer strips when at least one Control Master exists, i.e., a
-  Control Master must be created <em>before</em> connecting tracks to it.</p>
-
-<p>
-  Clicking the VCA button shows all the Control Masters in the session, and any or all of this vca can be checked
-  to link them to the track, making this track controlled by multiple Control Masters. The track will then show
-  multiple VCA buttons. Disconnecting a Control MAste from a track is done by unchecking this Control Master in
-  the list that pops up, or clicking <kbd class="menu">Unassign All</kbd> to disconnect from all Control Masters at once.
-</p>
diff --git a/_manual/05_ardours-interface/21_the-master-bus-strip.html b/_manual/05_ardours-interface/21_the-master-bus-strip.html
deleted file mode 100644 (file)
index 6e40c9d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: Master Bus Strip
----
-
-<img class="right" src="/images/master-strip.png" alt="The Master strip in the mixer">
-
-<p>
-  The <dfn>Master strip</dfn> in Ardour is very similar to the other busses mixer strips.
-  The list of differences is (from top to bottom):
-</p>
-
-<ul>
-  <li>There is no color affected to the master strip</li>
-  <li>The master strip cannot be hidden, so there is not <kbd class="menu">X</kbd> in the top right</li>
-  <li>It is by definition always solo, so no <kbd class="menu">Solo</kbd>, <kbd class="menu">Iso</kbd> or <kbd class="menu">Lock</kbd> buttons. It is replaced by a button to show the Monitoring section if <a href="/preferences-and-session-properties/session-properties-dialog/monitoring/">the session has one</a></li>
-  <li>It cannot belong to a mix group, so the button is removed.</li>
-</ul>
-
-<p class="note">
-  The Master bus strip is <em>allways</em> fixed, at the right end of the mixer, regardless of the scrolling position.
-</p>
diff --git a/_manual/05_ardours-interface/22_the-monitor-section.html b/_manual/05_ardours-interface/22_the-monitor-section.html
deleted file mode 100644 (file)
index cfe9b29..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
----
-title: Monitor section
----
-
-<img class="right" src="/images/monitoring-strip.png" alt="The Monitoring strip">
-
-<p>
-  The <dfn>Monitor section</dfn> is an optional feature that provides Control Room/Monitor Speaker outputs. It can be activated for the current session in the
-  <a href="/preferences-and-session-properties/session-properties-dialog/monitoring/">
-  <kbd class="menu">Session &gt; Properties</kbd> window</a> by enabling the
-  <kbd class="option">Use monitor section in this session</kbd> option in the
-  <kbd class="menu">Monitoring</kbd> tab. By default the Monitor Section is fed with audio from the Master Buss, but depending on solo mode and other functions such as Auditioning, other audio sources may be temporarily heard instead.
-</p>
-<p>
-  The Monitor section appears on the right hand side of the Mixer, and comprises:
-</p>
-<ol>
-  <li>Detach/attach control. This separates the Monitor section into its own floating window</li>
-  <li>Status indicators for important functions</li>
-  <li>Solo behaviour selection</li>
-  <li>Show, hide and status of the Monitor Sections inline processors</li>
-  <li>Level controls for solo functionality</li>
-  <li>Level control for Monitor Dim</li>
-  <li>Individual monitor path controls</li>
-  <li>Mute, Dim and Mono functions for the monitor outputs</li>
-  <li>Monitor level control</li>
-  <li>Monitor output routing</li>
-</ol>
-
-<h2>Status Indicators</h2>
-
-<p>
-  The Status indicators, two of which also appear in <a href="/ardours-interface/">the Transport tool bar</a>, flash to indicate when that function is in operation:
-</p>
-<ul>
-  <li><dfn>Soloing</dfn>: This indicates when one or more tracks or busses are currently being soloed. See <a href="/mixing/muting-and-soloing/">Muting and Soloing</a>. Clicking on this indicator cancels all currently soloed channels or busses</li>
-  <li><dfn>Auditioning</dfn>: This indicates when an audio file is being listened to directly, e.g. when using the import dialogue, or using the <kbd class="menu">Audition</kbd> context menu in the <a href="/ardours-interface/editor-lists/region-list/">Regions List</a>. Clicking this indicator cancels the current audition</li>
-  <li><dfn>Isolated</dfn>: This indicates when one or more tracks or busses are solo isolated. See <a href="/mixing/muting-and-soloing/">Muting and Soloing</a>. Clicking on this indicator cancels any current isolation.</li>
-</ul>
-
-<h2>Solo behaviour selection</h2>
-
-<p>
-  The SiP, PFL and AFL controls inter-cancel with each other and select the desired Solo mode. Excl. Solo and Solo Mute then modify the modes behaviour. See <a href="/mixing/muting-and-soloing/">Muting and Soloing</a>. The current mode is indicated by the illuminated 'LED' on the button.
-</p>
-<dl>
-  <dt>SiP</dt><dd>This selects <em>Solo In Place</em> as the current solo mode and cancells the previous mode.</dd>
-  <dt>PFL</dt><dd>This selects <em>Pre Fade Listen</em> as the current solo mode and cancells the previous mode.</dd>
-  <dt>AFL</dt><dd>This selects <em>After Fade Listen</em> as the current solo mode and cancells the previous mode.</dd>
-  <dt>Excl. Solo</dt><dd>This enables or disables the <em>Exclusive Solo</em> option.</dd>
-  <dt>Solo &raquo; Mute</dt><dd>This enables or disables the <em>Solo Mute</em> option.</dd>
-</dl>
-
-<p>
-  Note : Changing the solo mode (SiP, PFL or AFL) will update the labels on the mixer strips' solo controls accordingly.
-</p>
-
-<h2>The Processors button</h2>
-
-<p>
-  Clicking the <dfn>Processors</dfn> button show or hides the Monitor Sections processor box. This is used in the same way as processor boxes present in <a href="/ardours-interface/audio-midi-mixer-strips/">tracks</a> and
-  <a href="/ardours-interface/busses-mixer-strips/">busses</a>. It can be used to insert pugins, e.g. a room correction EQ or a specific metering type.
-</p>
-<p>
-  As this processing is local to the Monitor Section it is only applied to audio that is ultimately available at the monitor outputs.
-</p>
-
-
-<h2>Solo level controls</h2>
-
-<p>
-  These controls set the level of the audio when a channel or bus solo is engaged.
-</p>
-<dl>
-  <dt>Solo Boost</dt><dd>This is the level that will be added to the current main monitor level when a track or bus is soloed, providing a conveniant boost in level for the isolated signal. The rotary control has a range of 0dB to +10dB and can be set at any point between these two values. A drop down menu with pre-defined values is also provided for convenience.</dd>
-  <dt>SiP Cut</dt><dd>Only relevant to Solo in Place mode. This sets the level that all muted tracks or busses will be muted by. By default it is -&infinity; i.e. the non soloed tracks are totally inaudible. The level can be raised to make the other tracks audible, though dimmed. This is also sometimes referred to <em>Solo in Front</em>. The rotary control has a range of -inf to +0dB and can be set at any point between these two values. A drop down menu with pre-defined values is also provided for convenience.</dd>
-</dl>
-
-<h2>Dim level control</h2>
-
-<p>
-  The Dim level control sets the amount by which the monitoring will be reduced when a Dim button is engaged. The rotary control has a range of -20dB to 0dB and can be set at any point between these two values. A drop down menu with pre-defined values is also provided for convenience.
-</p>
-
-<h2>Monitor path controls</h2>
-
-<p>
-  Each of the individual paths through the Monitor Section, (e.g. <kbd class="menu">L</kbd> and <kbd class="menu">R</kbd> for stereo), can be controlled individually. Four functions are available:
-</p>
-<dl>
-  <dt>Mute</dt><dd>Mutes the selected path(s)</dd>
-  <dt>Dim</dt><dd>Reduces the selected path(s) level by the amount set with the Dim level control</dd>
-  <dt>Solo</dt><dd>Soloes the selected channel(s)</dd>
-  <dt>Inv</dt><dd>Inverts the selected channel(s) polarity</dd>
-</dl>
-
-<h2>Global Monitor controls</h2>
-
-<p>
-  Those buttons directly affect the output of the monitoring section:
-</p>
-<ul>
-  <li><dfn>Mono</dfn>: sums all of the paths to a single mono signal and applies it to all Monitor Section outputs.</li>
-  <li><dfn>Dim</dfn>: Reduces overall monitor level by the amount set with the Dim level control.</li>
-  <li><dfn>Mute</dfn>: Mutes all monitoring.</li>
-</ul>
-
-<h2>Global Monitor level</h2>
-
-<p>
-  This control sets the level for Monitor Section output. The rotary control has a range of -inf to +6dB and can be set at any point between these two values. A drop down menu with pre-defined values is also provided for convenience.
-</p>
-
-<h2>Monitoring Output routing</h2>
-
-<p>
-  Clicking on this button shows a menu that allows quick and convenient routing of the Monitor Section's outputs to audio hardware outputs, e.g. to feed control room monitors.
-  It also has an option to open Ardours routing matrix, where more detailed connectivity is available if routing to something other than hardware is required.
-</p>
diff --git a/_manual/06_controlling-playback.html b/_manual/06_controlling-playback.html
deleted file mode 100644 (file)
index e054475..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
----
-layout: default
-title: Controlling Playback
----
-
-<h2>Positioning the Playhead</h2>
-
-<p>
-  The <dfn>playhead</dfn> is a vertical line with two arrows at each end
-  that indicates the current position of playback.
-</p>
-
-<h3>Positioning the playhead at the current pointer position</h3>
-<p>
-  Pressing <kbd>P</kbd> will set the playhead to the current position of
-  the pointer, if it is within the editor track area.
-</p>
-
-<h3>Positioning the playhead on the timeline</h3>
-<p>
-  A <kbd class="mouse">Left</kbd> click anywhere on the timeline (rulers)
-  will move the playhead to that position.
-</p>
-
-<h3>Positioning the playhead with the transport clocks</h3>
-<p>
-  Click on either the primary or secondary transport clock and
-  <a href="/introducing-ardour/basic-gui-operations/editing-clocks/">edit their value</a> 
-  to move the playhead to a specific position.
-</p>
-
-<h3>Positioning the playhead at a marker</h3>
-<p>
-  Click <kbd class="mouse">Right</kbd> on the marker and select either
-  <kbd class="menu">Locate to here</kbd> or <kbd class="menu">Play from
-  here</kbd>.
-</p>
-<p>
-  Alternatively, place the pointer on the marker and press
-  <kbd>P</kbd> to set the playhead.
-</p>
-
-
-<h2>Looping the Transport</h2>
-
-<p>
-  When the <dfn>loop transport</dfn> button is pressed, the playhead will
-  jump the start of the loop range, and continue to the end of that range
-  before returning to the start and repeating.
-  While looping, a light green area is displayed in the time ruler over
-  the tracks to show the loop range.
-</p>
-<p>
-  By default, looping is bound to the <kbd>l</kbd> key.
-</p>
-<p>
-  For more information on defining and altering the loop range see
-  <a href="/working-with-markers/loop-range/">Loop Range Markers</a>.
-</p>
diff --git a/_manual/07_working-with-markers.html b/_manual/07_working-with-markers.html
deleted file mode 100644 (file)
index cb8a13c..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
----
-layout: default
-title: Working With Markers
----                        
-  
-<p>
-  It is very useful to be able to tag different locations in a session for
-  later use when editing and mixing. Ardour supports both
-  <dfn>locations</dfn>, which define specific positions in time, 
-  and <dfn>ranges</dfn> which define a start and end position in time. 
-</p>
-<p>
-  In addition to the standard location markers, there are three kinds of 
-  special markers:
-</p>
-<ul>
-  <li>
-    <dfn>CD markers</dfn> are locations that are restricted to legal 
-    <dfn>CD sector boundaries</dfn>. They can be used to add track index 
-    markers to compact disc images.
-  </li>
-  <li>
-    The <dfn>Loop range</dfn> defines the start end end points for Looping.
-  </li>
-  <li>
-    The <dfn>punch range</dfn> defines the in and out points for punch
-    recording.
-  </li>
-</ul>
-
-{% children %}
diff --git a/_manual/07_working-with-markers/01_creating-location-markers.html b/_manual/07_working-with-markers/01_creating-location-markers.html
deleted file mode 100644 (file)
index fc71e01..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: default
-title: Creating Location Markers
----
-
-<p>
-  <dfn>Location Markers</dfn> appear in the <dfn>Locations ruler</dfn> at the top
-  of the timeline. The <dfn>begin</dfn> and <dfn>end</dfn> markers appear
-  automatically, but you can create custom markers at any position in a
-  session.
-</p>
-<p>
-  To add a marker at the <strong>current playhead position</strong>, press
-  <kbd>Num-&crarr;</kbd> (the Enter key on the numeric  keypad).
-  Alternatively, use <kbd class="menu">Transport &gt; Markers &gt; Add
-  Mark from Playhead</kbd>.
-</p>
-<p>
-  To add a marker at an <strong>arbitrary location</strong> on the timeline,
-  navigate to the desired position, right-click on the Locations ruler and
-  select <kbd class="menu">New Location Marker</kbd>.
-  You can also go to the Editor list, click <kbd class="menu">New
-  Marker</kbd> and use the clock widget to set its position.
-</p>
-<p>
-  For details see
-  <a href="/ardours-interface/editor-lists/ranges-and-marks-list/">Ranges &amp; Marks List</a>
-  and <a href="/introducing-ardour/basic-gui-operations/editing-clocks/">Editing Clocks</a>.
-</p>
diff --git a/_manual/07_working-with-markers/02_creating-range-markers.html b/_manual/07_working-with-markers/02_creating-range-markers.html
deleted file mode 100644 (file)
index 42b7a1f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
----
-layout: default
-title: Creating Range Markers
----                        
-  
-<p>
-  <dfn>Range markers</dfn> are essentially two location markers the are grouped
-  together to mark the beginning and end of a section in the timeline. 
-</p> 
-<h2>Creating a Range on the timeline</h2>
-<p>
-  To create a new <dfn>range</dfn>, right-click on the  
-  Ranges ruler at the top of the timeline, then select
-  <kbd class="menu">New Range</kbd>. 
-  Two markers with the same name will appear along the ruler. 
-  Both marks can be moved along the timeline by clicking and dragging 
-  them to the desired location.
-</p>
-<p>
-  It is also possible to create range markers from a selected range or
-  region in the Editor window, or to use the <kbd class="menu">Ranges 
-  &amp; Marks List</kbd> in the Editor list.
-</p>
-  
diff --git a/_manual/07_working-with-markers/03_moving-markers.html b/_manual/07_working-with-markers/03_moving-markers.html
deleted file mode 100644 (file)
index 77e93bd..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
----\r
-layout: default\r
-title: Moving Markers\r
----                        \r
-  \r
-<h2>Single marker</h2>\r
-<p>\r
-  <kbd class="mouse">Left</kbd>-click and drag to move a single marker to a \r
-  new location on the timeline.\r
-</p>\r
-\r
-<h2>Multiple markers</h2>\r
-<p>\r
-  It is possible to move multiple markers by the same distance. <kbd\r
-  class="mouse mod1">Left</kbd>-click each marker you want to move, then drag \r
-  one of the selected markers to a new location. All selected markers will\r
-  then move together. Note that the markers are bounded by the zero point on \r
-  the timeline. In other words, the first marker in your selection cannot move \r
-  to the left of zero on the timeline.\r
-</p>\r
-\r
-<h2>Both ends of a range marker</h2>\r
-<p>\r
-  <kbd class="mod1 mouse">Left</kbd>-drag either end of the range marker. The \r
-  other end will move by the same distance.\r
-</p>\r
diff --git a/_manual/07_working-with-markers/04_loop-range.html b/_manual/07_working-with-markers/04_loop-range.html
deleted file mode 100644 (file)
index a5ca1eb..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
-title: The Loop Range
----
-
-<p>
-  The <dfn>loop range</dfn> is a special range that defines the start and end points
-  for loop play, which can be enabled in the transport bar.
-</p>
-<p>
-  It can be defined via the timeline or the <a
-  href="/ardours-interface/editor-lists/ranges-and-marks-list/">Ranges &amp; Marks
-  list</a>.
-</p>
diff --git a/_manual/07_working-with-markers/05_marker-context-menu.html b/_manual/07_working-with-markers/05_marker-context-menu.html
deleted file mode 100644 (file)
index d4c33a8..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
----
-layout: default
-title: Marker Context Menu
----
-
-<p>
-  <kbd class="mouse">Right</kbd>-clicking a marker in the timeline opens the
-  marker context menu. From this menu, you can:
-</p>
-<dl>
-  <dt>Locate to Here</dt>
-  <dd>Move the playhead to this marker's position.</dd>
-  <dt>Play from Here</dt>
-  <dd>start playback from this marker's position.</dd>
-  <dt>Move Mark to Playhead</dt>
-  <dd>Move this marker to the current playhead position.</dd>
-  <dt>Create Range to Next Marker</dt>
-  <dd>Create a range marker between this location and the next one along on
-  the timeline.</dd>
-  <dt>Hide</dt>
-  <dd>Hide this marker from the view. It can be made visible again from the
-  <kbd class="menu">Window &gt; Locations</kbd> window or the <a
-  href="/ardours-interface/editor-lists/ranges-and-marks-list/">Ranges &amp; Marks
-  list</a>.</dd>
-  <dt>Rename</dt>
-  <dd>Change the name of the marker.</dd>
-  <dt>Lock</dt>
-  <dd>If this is ticked, it will be impossible to drag the marker's
-  position; useful if you want to prevent accidental movements.</dd>
-  <dt>Glue to Bars and Beats</dt>
-  <dd>If this is ticked, the marker will maintain its position in bars and
-  beats even if there are changes in tempo and meter.</dd>
-  <dt>Remove</dt>
-  <dd>Removes the marker. </dd>
-</dl>
-<p>
-  There are also a few options in <kbd class="menu">Transport &gt; Active
-  Mark</kbd>. These options apply to the currently selected location marker,
-  and move it to a nearby region boundary, region sync point, or to the
-  playhead or mouse.
-</p>
diff --git a/_manual/07_working-with-markers/06_punch-range.html b/_manual/07_working-with-markers/06_punch-range.html
deleted file mode 100644 (file)
index 5cbf32e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
-title: Punch Range
----
-
-<p>
-  The <dfn>punch range</dfn> is a special range used to define where
-  recording will start and/or stop during a <dfn>punch</dfn>.
-</p>
-<p>
-  It can be defined on the timeline or in the
-  <a href="/ardours-interface/editor-lists/ranges-and-marks-list/">Ranges &amp; Marks</a> 
-  list.
-</p>
diff --git a/_manual/08_working-with-sessions.html b/_manual/08_working-with-sessions.html
deleted file mode 100644 (file)
index 4123fd0..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: default
-title: Working With Sessions
----                        
-
-{% children %}
diff --git a/_manual/08_working-with-sessions/01_new-session-dialog.html b/_manual/08_working-with-sessions/01_new-session-dialog.html
deleted file mode 100644 (file)
index c551cf8..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
----
-layout: default
-title: New/Open Session Dialog
----                        
-
-<p>
-  The initial <dfn>Session</dfn> dialog consists of several consecutive pages:
-</p>  
-
-<h2>Open Session Page</h2>
-<p>
-  On this page, you can open an <dfn>existing session</dfn>.  You can also 
-  open any <a href="/working-with-sessions/snapshots/">snapshot</a> of a 
-  particular session by clicking on the arrow next to the session name to 
-  display all snapshots, and then selecting one.  If your session is 
-  not displayed in the Recent Sessions list, the <kbd class="menu">Other
-  Sessions</kbd> button will bring up a file selection dialog to navigate 
-  your hard drive.<br />
-  Alternatively, you can opt to create a <kbd class="menu">New
-  Session</kbd>.
-</p>
-
-<h2>New Session page</h2>
-<p>
-  Here you can type in the name of a session, select a folder to save in, and 
-  optionally use an existing <a href="/working-with-sessions/session-templates/">template</a>.
-</p>
-<p>
-  Under <dfn>Advanced Options</dfn>, you can select whether you wish to create 
-  a Master Bus, or a Control Bus, and how many channels you wish either to have.
-  You can also decide whether you want Ardour to automatically connect all inputs 
-  to the physical ports of your hardware. Ardour will do so 
-  sequentially and in round-robin fashion, connecting the first track's
-  input to the first input of your hardware and so on. When Ardour has used
-  all available hardware inputs, it will begin again with the first physical
-  input. 
-  You can limit the number of channels on your physical hardware that Ardour
-  uses. 
-</p>
-<p>
-  By default Ardour will connect all tracks and busses to the Master Bus if 
-  there is one. However you can also tell it to automatically connect each 
-  output to the physical outputs of your interface or sound card, and limit
-  the number of physical outputs used, as above.
-</p>
-
-<h3>Audio/MIDI Setup</h3>
-
-<img class="right" src="/images/Audio-MIDI_Setup.png" alt="The Audio+MIDI
-Setup Dialog"/>
-
-<p>
-  This page is not displayed if <abbr title="JACK Audio Connection
-  Kit">JACK</abbr> is already running when you start
-  Ardour. It provides a simple interface to configure JACK, which
-  will then be started by Ardour. For more control and options regarding
-  JACK, it is recommended that you start JACK before using Ardour, via a
-  JACK control application such as QJackCtl (sometimes called "Jack
-  Control"), JackPilot, etc.
-</p>
-<dl>
-  <dt>Audio System</dt>
-  <dd>Currently, the only option here is <kbd class="menu">JACK</kbd>. In the future, native
-  hardware access may be supported.</dd>
-  <dt>Driver</dt>
-  <dd>
-    On Mac OS X this will typically be <kbd class="menu">CoreAudio</kbd>. On Linux usually
-    this will be either <kbd class="menu"><abbr title="Free Firewire Audio Driver fOr
-    linux">FFADO</abbr></kbd>
-    or <kbd class="menu"><abbr title="Advanced Linux Sound
-    Architecture">ALSA</abbr></kbd>, depending on whether or not you are
-    utilizing a firewire device. Advanced users on all platforms may also
-    use <kbd class="menu">NetJack</kbd> which provides network audio I/O.
-  </dd>
-  <dt>Device</dt>
-  <dd>The selector should show all availiable interfaces provided by the
-  driver above and which are capable of duplex operation.
-  <p class="warning">
-    If you are using an Intel Mac running OS X and the builtin audio
-    interface, you must
-    first <a href="/setting-up-your-system/using_more_than_one_audio_device/">merge
-    its separate input and output devices into a single "aggregate
-    device"</a> before Ardour will be able to use it.
-   </p>
-  </dd>
-  <dt>Sample Rate</dt>
-  <dd>
-    The selector will allow you to select from any sample rate
-    supported by the device selected above it.
-  </dd>
-  <dt>Buffer Size</dt>
-  <dd>
-    You can adjust the size of the buffer used by your audio interface
-    to allow for either lower latency, or lower CPU usage and higher
-    latency.
-  </dd>
-  <dt>Input/Output Channels</dt>
-  <dd>
-    Here you can specify the number of hardware channels to use. The
-    default is <kbd class="menu">all available channels</kbd>.</dd>
-  <dt>Hardware Input/Output Latency</dt>
-  <dd>Specify the hardware delay in samples for precise latency compensation.</dd>
-  <dt>Calibrate</dt>
-  <dd>
-    This button guides you through a semi-automated process to obtain
-    precise hardware latency measurements for the above option.</dd>
-  <dt>MIDI System</dt>
-  <dd>
-    Select the MIDI driver to use. On Mac OS X, this will be <kbd
-    class="menu">CoreMIDI</kbd>. On Linux, you can change between two legacy
-    ALSA drivers or the (preferred) new JACK+ALSA implementation.</dd>
-</dl>
-
-{% children %}
diff --git a/_manual/08_working-with-sessions/02_whats-in-a-session.html b/_manual/08_working-with-sessions/02_whats-in-a-session.html
deleted file mode 100644 (file)
index 5655239..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
----
-layout: default
-title: What's in a Session?
----                        
-  
-<p>
-  The <dfn>Session</dfn> is the fundamental document type that is created and 
-  modified by the Ardour workstation.  A Session is a folder on your computer 
-  filesystem that contains all the items that pertain to a particular project 
-  or "recording/editing/mixing session".
-</p>
-<p>
-  The Session folder includes these files and folders:
-</p>
-<ul>
-  <li><code><em>session_name</em>.ardour</code> the main session snapshot</li>
-  <li><code>*.ardour</code>, any additional snapshots </li>
-  <li><code><em>session_name</em>.ardour.bak</code>, the auto-backup snapshot</li>
-  <li><code><em>session_name</em>.history</code>, the undo history for the session </li>
-  <li><code>instant.xml</code>, which records the last-used  zoom scale and other metadata</li>
-  <li><code>interchange/</code>, a folder which holds your raw audio and MIDI 
-  files (whether imported or recorded)</li>
-  <li><code>export/</code>, a folder which contains any files created by the
-  <kbd class="menu">Session &gt; Export</kbd> function</li>
-  <li><code>peaks/</code>, a folder which contains waveform renderings of
-  all audio files in the session</li>
-  <li><code>analysis/</code>, a folder which contains transient and pitch 
-  information of each audio file that has been analysed</li>
-  <li><code>dead sounds/</code>, a folder which contains sound files which 
-  Ardour has detected are no longer used in the session (during a <kbd
-  class="menu">Session &gt; Clean-up &gt; Clean-up Unused Sources</kbd>
-  operation, will be purged by <kbd class="menu">Flush Waste Basket</kbd>)</li>
-</ul>
-<p>
-  A session combines some setup information (such as audio and MIDI routing, 
-  musical tempo &amp; meter, timecode synchronization, etc.) with one or more 
-  Tracks and Buses, and all the Regions and Plug-Ins they contain.
-</p>
-  
diff --git a/_manual/08_working-with-sessions/03_where-are-sessions-stored.html b/_manual/08_working-with-sessions/03_where-are-sessions-stored.html
deleted file mode 100644 (file)
index 6d2505b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: default
-title: Where Are Sessions Stored?
----                        
-
-<p>
-  <dfn>Sessions</dfn> are stored in a single folder on your computer's filesystem. 
-</p>
-<p>
-  The first time you run Ardour, you will be asked where you would like the
-  default location for sessions to be, with the initial choice being your 
-  home folder. 
-</p>
-<p>
-  After the first-run dialog, you can still change the default location at 
-  any time via <kbd class="menu">Edit &gt; Preferences &gt; Misc &gt; Session
-  Management</kbd>. You can also specify a particular (different) location for 
-  a session when creating it, in the 
-  <a href="/working-with-sessions/new-session-dialog/">New Session dialog</a>.
-</p>
-  
diff --git a/_manual/08_working-with-sessions/04_backup-and-sharing-of-sessions.html b/_manual/08_working-with-sessions/04_backup-and-sharing-of-sessions.html
deleted file mode 100644 (file)
index ea32fb0..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: default
-title: Backup and Sharing of Sessions
----                        
-
-<p>
-  An Ardour session is stored in a single folder on your computer's filesystem. 
-  This makes <dfn>backup</dfn> very easy &mdash; any tool capable of backing up 
-  a folder can be used to backup a session. You pick the location of a session 
-  when it is created &mdash; by default it will be in your default session location, 
-  which can be altered via <kbd class="menu">Edit &gt; Preferences &gt; Misc &gt; Session
-  Management</kbd>. 
-</p>
-<p class="warning">
-  There is one complication: a session may reference media files that are stored 
-  outside of the session folder, if the user has opted not to select <kbd
-  class="optoff">Session &gt; Import &gt; Copy to Session</kbd> during
-  import. Backing up a session with embedded files will not create a 
-  copy of the session containing those files.
-</p>
-<p>
-  The single folder approach also makes sharing a project easy. Simply copy the session 
-  folder (onto a storage device, or across a network) and another Ardour user (on any 
-  platform) will be able to use it. The limitation regarding embedded files applies to 
-  session sharing as well.
-</p>
-  
diff --git a/_manual/08_working-with-sessions/05_interchange-with-other-daws.html b/_manual/08_working-with-sessions/05_interchange-with-other-daws.html
deleted file mode 100644 (file)
index 0b0e2e5..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: default
-title: Interchange with other DAWs
----                        
-  
-<p>
-  It has never been particularly easy to move sessions or projects from one
-  <abbr title="Digital Audio Workstation">DAW</abbr> to another. There are two 
-  <dfn>interchange standards</dfn> that have reasonably widespread support:</p>
-<ul>
-  <li>OMF (Open Media Framwwork), also known as OMFI. Developed and controlled 
-  by Avid, never standardized</li>
-  <li>AAF (Advanced Authoring Format). Developed by a consortium of media-related 
-  corporations.</li>
-</ul>
-<p>
-  In practice both of these standards have such complex and/or incomplete 
-  specifications that different DAWs support them only partially,
-  differently, or not at all.
-</p>
-<h2>Moving an Ardour session to another DAW</h2>
-<p>To move an Ardour session to another DAW, you have 3 basic choices:</p>
-<ul>
-  <li>Stem exports</li>
-  <li>Copy the interchange folder</li>
-  <li>Use AATranslator</li>
-</ul>
-<h3>Moving another DAW session to Ardour</h3>
-<p>To move a session from another DAW to Ardour, you have 2 basic choices:</p>
-<ul>
-<li>Stem exports</li>
-<li>Use AATranslator</li>
-</ul>
-
-{% children %}
diff --git a/_manual/08_working-with-sessions/05_interchange-with-other-daws/01_copying-the-interchange-folder.html b/_manual/08_working-with-sessions/05_interchange-with-other-daws/01_copying-the-interchange-folder.html
deleted file mode 100644 (file)
index a882d5f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout: default
-title: Copying The Interchange Folder
----                        
-  
-<p>
-  All media in a session folder is stored in a sub-folder called 
-  <samp>interchange</samp>. Below that is another folder with the name 
-  of the session. You can copy either of these to another location and 
-  use the files within them with any other application, importing them 
-  all into a project/session. You will lose all information about regions, 
-  tracks, and timeline positioning, but all the data that Ardour was working 
-  with will be present in the other DAW. Nothing below the interchange 
-  folder is specific to Ardour &mdash; any DAW or other audio/MIDI 
-  application should be able to handle the files without any issues.
-</p>
-  
diff --git a/_manual/08_working-with-sessions/05_interchange-with-other-daws/02_stem-exports.html b/_manual/08_working-with-sessions/05_interchange-with-other-daws/02_stem-exports.html
deleted file mode 100644 (file)
index efa35a6..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
-title: Stem Exports
----                        
-  
-<p>
-  <dfn>Stem exports</dfn> are covered fully in the 
-  <a href="/exporting/">Export</a> chapter. A stem export creates one file
-  per track, starting at the beginning of the session. You can then import
-  each track into another DAW and begin working on it. You lose all data
-  except the actual audio/MIDI (no plugins, no automation). This is one of
-  the most common methods of interchange because it works between all DAWs.
-</p>
-  
diff --git a/_manual/08_working-with-sessions/05_interchange-with-other-daws/03_using-aatranslator.html b/_manual/08_working-with-sessions/05_interchange-with-other-daws/03_using-aatranslator.html
deleted file mode 100644 (file)
index 1350be5..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: default
-title: Using AATranslator
----                        
-  
-<p>
-  <dfn>AATranslator</dfn> is a Windows 
-  application that can convert sessions/projects from many diffferent DAWs 
-  into other formats. At the present time (December 2012), it can read and 
-  write Ardour 2.X sessions, and can read Ardour 3 sessions. 
-</p>
-<p>
-  The program runs very well on Linux using 
-  <a href="http://www.winehq.org/">Wine</a> (a Windows environment for Linux). 
-  There are equivalent solutions for running Windows applications on OS X, 
-  but we have no experience with them at this time. Ardour users have reported 
-  great results using AATranslator on Ardour 2.X sessions.</p>
-<p>
-  The <a href="http://www.aatranslator.com.au/">AATranslator website</a> 
-  has full details on supported formats and DAWs. The list includes
-  ProTools, Live, Reaper, OMF, AAF and many more.
-</p>
-<img src="/images/No_problem.gif" alt="AATranslator Demo Animation"/>
-
-  
diff --git a/_manual/08_working-with-sessions/06_renaming-a-session.html b/_manual/08_working-with-sessions/06_renaming-a-session.html
deleted file mode 100644 (file)
index 6e3cd41..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-layout: default
-title: Renaming a Session
----                        
-  
-<p>
-  Use <kbd class="menu">Session &gt; Rename</kbd> to give your session a 
-  new name. A dialog will appear to ask you for the new name.
-</p>
-<p>
-  This operation does <strong>not</strong> make a new session folder &mdash;
-   the existing session folder and relevant contents are renamed. If your 
-   session was not saved before a rename operation, it will be saved 
-   automatically and then renaming will continue.
- </p>
-<p class="warning">
-  Ardour's <kbd class="menu">Session &gt; Save As</kbd> operation will not
-  make a new copy of the session folder and its contents. All it does is
-  create a new session file.
-</p>
-
-  
diff --git a/_manual/08_working-with-sessions/07_session-templates.html b/_manual/08_working-with-sessions/07_session-templates.html
deleted file mode 100644 (file)
index d55b3fe..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: default
-title: Session Templates
----                        
-  
-<p>
-  <dfn>Session templates</dfn> are a way to store the setup of a session 
-  for future use. They do not store any <em>audio</em> data but can store:</p>
-<ul>
-  <li>The number of tracks and busses, along with their names</li>
-  <li>The plugins present on each track or bus (if any)</li>
-  <li>All I/O connections</li>
-</ul>
-
-<h2>Creating a Session Template</h2>
-<p>
-  Choose <kbd class="menu">Session &gt; Save Template</kbd>. A dialog will ask 
-  you for the name of the new template.
-</p>
-<h2>Using a Session Template</h2>
-<p>
-  In the New Session dialog, choose the desired template from the combo 
-  selector.
-</p>
-<p>
-  Note that you can also use an existing session as a template, without 
-  saving it as one. This is available as an option in the New Session dialog. 
-  Doing this will not alter the existing session at all, but will use its track, 
-  bus and plugin configuration just like a template.
-</p>
-<p>
-  See also <a href="/working-with-tracks/adding-tracks-and-busses/">Adding Tracks and Busses</a> for information 
-  on templates for individual tracks or busses.
-</p>
-  
diff --git a/_manual/08_working-with-sessions/08_snapshots.html b/_manual/08_working-with-sessions/08_snapshots.html
deleted file mode 100644 (file)
index b2f1b29..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: default
-title: Snapshots
----
-
-<p>
-  Sometimes you will want to save a <dfn>snapshot</dfn> of the current state of a session for possible
-  use in the future. For example, you may be about to change the entire
-  arrangement of a piece, or drastically alter the signal processing, and
-  want a reference to come back to, should that not work out.
-</p>
-<p>
-  This is easily accomplished using <kbd class="menu">Session &gt;
-  Snapshot</kbd>.
-  A small dialog will appear, allowing you to enter a name for the snapshot.
-  The default name is based on the current date and time.<br />
-  You can create any number of snapshots.
-</p>
-<p class="warning">
-  Creating a snapshot does <strong>not</strong> modify your session,
-  nor does it save your session. Instead, it saves an alternate version
-  of the session, within the session folder. The snapshot shares all data
-  present in the session.
-</p>
-<p>
-  After creating a snapshot, you can continue working on the session and
-  save it normally using <kbd class="menu">Session &gt; Save</kbd> and any
-  existing snapshots will remain unchanged.
-</p>
-
-<h2>Switching to a Snapshot</h2>
-<p>
-  If you are already working on a session and want to to switch to an
-  existing snapshot, navigate the  <a href="/ardours-interface/editor-lists/snapshot-list/">Snapshot List</a>.
-  Find the name of the snapshot in the list and click it. Ardour will switch
-  to the snapshot. If there are unsaved changes in the  current session, Ardour will
-  ask what you want to do.
-</p>
-
-<h2>Starting Ardour With a Snapshot</h2>
-<p>
-  Since a snapshot is just another session file stored within the session
-  folder, you can specify that "version" when loading an existing session.
-  The browser in the "Open Session" dialog will show an expander arrow for
-  sessions that have more than 1 session file (i.e. snapshots) present
-  &mdash; click on it to see the list, and then click on the name of the
-  snapshot you want to load.
-</p>
-
-<h2>Saving and Switching to a Snapshot</h2>
-<p>
-  Sometimes you may want to create a snapshot and then have all future
-  edits and modifications saved to that snapshot rather than the main
-  session. This is easily done using <kbd class="menu">Session &gt; Save
-  As</kbd>. This does not create a new session folder,  but saves your
-  session as a new snapshot and then switches the "current snapshot"
-  to the newly created one. All subsequent saves of the session will
-  be stored in this new snapshot, and existing snapshots (and the main
-  session) will be left unaffected.
-</p>
diff --git a/_manual/08_working-with-sessions/09_metadata.html b/_manual/08_working-with-sessions/09_metadata.html
deleted file mode 100644 (file)
index cdb0f53..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: default
-title: Metadata
----                        
-  
-<p>
-Sessions can have various items of metadata attached to them, via
-<kbd class ="menu">Session &gt; Metadata &gt; Edit Metadata...</kbd> and 
-<kbd class ="menu">Session &gt; Metadata &gt; Import Metadata...</kbd>.
-</p>
-
-<h2>Edit Session Metadata Dialog</h2>
-<img src="/images/edit-session-metadata.png" />
diff --git a/_manual/08_working-with-sessions/10_cleaning_up.html b/_manual/08_working-with-sessions/10_cleaning_up.html
deleted file mode 100644 (file)
index 7a5b906..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
----
-layout: default
-title: Cleaning up Sessions
----                        
-  
-<p>Recording and editing any serious session might leave the session with some
-  unused or misplaced files here and there. Ardour can help deal with this clutter thanks
-  to the tools located in the <kbd class="menu">Session &gt; Clean-up</kbd> menu.
-</p>
-
-<h2 id="bring_all_media_into_session_folder">Bring all media into session folder</h2>
-
-<p>When <a href="/adding-pre-existing-material/">importing media files</a>, if
-  the <kbd class="option">Copy files to session</kbd> hasn't been checked, Ardour uses
-  the source file from its original destination, which can help avoiding file duplication.
-  Nevertheless, when the session needs to be archived or transfered to another computer, moving
-  the session folder won't move those <em>external</em> files as they are not in the folder, as seen
-  in <a href="/working-with-sessions/backup-and-sharing-of-sessions/">Backup and sharing of sessions</a>.
-</p>
-
-<p>Using the <kbd class="menu">Bring all media into session folder</kbd> menu ensures
-  that all media files used in the session are located inside the session's folder, hence avoiding
-  any missing files when copied.
-</p>
-  
-<h2 id="reset_peak_files">Reset Peak Files</h2>
-
-<p>Ardour represents audio waveforms with peak files, that are graphical images generated from the
-  sound files. This generation can be time and CPU consuming, so it uses a cache of the generated
-  images to speed up the display process. To watch for files modification, Ardour relies on the file-modification 
-  time. If an external file is embedded in the session and that file changes, but the system-clock is skewed 
-  or it is stored on an external USB disk (VFAT), Ardour can't know the change happend, and will still use its 
-  deprecated peak files.
-</p>
-
-<p>Using the <kbd class="menu">Reset Peak Files</kbd> menu allows to reset this cache, which frees up disk space,
-  and forces the re-creation of the peak files used in the session. It can prove useful if some waveforms 
-  are not used anymore, or if a graphical or time glitch happens.
-</p>
-
-<h2 id="clean_up_unused_sources">Clean-up Unused Sources...</h2>
-
-<p>Recording usually lefts a lot of unused takes behind, be it in midi or audio form, that can clutter
-  the Region List, and eat up a lot of hard drive space. While its generally a good practice to keep as
-  many things as possible while recording, when transferring or archiving the session, some clean up can
-  help a lot in reducing the sessions clutter and size.
-<p>
-
-<p>Selecting <kbd class="menu">Clean-up Unused Sources...</kbd> will force Ardour to detect those unused waveforms
-  by looking for unused regions, and (through a prompt) for unused playlists. The media files won't be destroyed, though.
-  At this stage, they are just copied in a particular place of the session path (namely, in the <code>dead sounds/</code>
-  sub-folder).
-</p>
-
-<h2 id="flush_wastebasket">Flush Wastebasket</h2>
-
-<p>Although Ardour is a <em>non-destructive</em> audio-editor, it allows for a very careful destruction of unused media materials.
-  This function is closely linked to the previous one. When the unused sources have been cleaned up and quarantined, the 
-  <kbd class="menu">Flush Wastebasket</kbd> menu will allow for their physical destruction.
-</p>
-
-<p>As a safeguarding mechanism though, Flushing the wastebasket in impossible in the same working session as the Cleaning up of unused sources :
-  the user needs to close the session and reload it before flushing. It allows to test the playback of the session and ensure both that Ardour didn't commit
-  any mistake (unlikely, but better safe than sorry), and that the user is absolutely sure of what he does.
-</p>
-
-<p class="warning">Notice that all media destroyed this way is not sent to the system's <em>trash can</em> but permanently deleted. 
-  If a file is mistakenly destroyed this way, the user will have to rely on data recovery techniques to try getting it back.
-</p>
-  
diff --git a/_manual/09_working-with-regions.html b/_manual/09_working-with-regions.html
deleted file mode 100644 (file)
index 49ea835..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: default
-title: Working With Regions
----                        
-
-<h2>Working With Regions</h2>
-<p>
-  <dfn>Regions</dfn> are the basic elements of editing and composing in 
-  Ardour. In most cases, a region represents a single contiguous section 
-  of one or more media files. Regions are defined by a fixed set of attributes:
-</p>
-<ul>
-  <li>the audio or 
-  <abbr title="Musical Instrument Digital Interface">MIDI</abbr>
-  <dfn>source file(s)</dfn> they represent,</li>
-  <li>an <dfn>offset</dfn> (the "start point") in the audio or MIDI file(s), and</li>
-  <li>a <dfn>length</dfn>.</li>
-</ul>
-<p>
-  When placed into a playlist, they gain additional attributes:
-</p>
-<ul>
-  <li>a <dfn>position</dfn> along the timeline, and</li>
-  <li>a <dfn>layer</dfn>.</li>
-</ul>
-<p>
-  There are other attributes as well, but they do not <em>define</em> the 
-  region. Things you should know about regions:
-</p>
-
-<h3>Regions Are Cheap</h3>
-<p>
-  By themselves, regions consume very little of your computer's resources.
-  Each region requires a small amount of memory, and represents a rather 
-  small amount of CPU work if placed into an active track. So, don't worry 
-  about creating regions whenever you need to.
-</p>
-
-<h3>Regions Are Not Files</h3>
-<p>
-  Although a region can represent an entire audio file, they are never 
-  equivalent to an audio file. Most regions represent just parts of an audio 
-  file(s) on disk, and removing a region from a track has nothing to do with 
-  removing the audio file(s) from the disk (the <kbd
-  class="menu">Destroy</kbd> operation, one of Ardour's few destructive
-  operations, can affect this). Changing the length of a region has no effect 
-  on the audio file(s) on disk. Splitting and copying regions does not alter 
-  the audio file in anyway, nor does it create new audio files (only
-  <dfn>recording</dfn>, 
-  and the <kbd class="menu">Export</kbd>, <kbd class="menu">Bounce</kbd> and 
-  <kbd class="menu">Reverse</kbd> operations create new audio files).</p>
-
-{% children %}
diff --git a/_manual/09_working-with-regions/01_region-naming.html b/_manual/09_working-with-regions/01_region-naming.html
deleted file mode 100644 (file)
index 1ebbdd9..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
----
-layout: default
-title: Region Naming
----                        
-  
-<p><dfn>Region names</dfn> are initially derived from either</p>
-<ul>
-  <li>the name of the playlist for which they were recorded,</li>
-  <li>the name of the track for which they were recorded, or</li>
-  <li>the name of the embedded/imported file they represent.</li>
-</ul>
-<p class="fixme">
-  It appears that recorded regions are always named after the track, not the
-  active playlist in that track.
-</p>
-
-<h2>Whole File Region Names</h2>
-<p>
-  These are not audio files, but regions that represent the full extent of an
-  audio file. Every time a new recording is done, or a new file is imported
-  to the session, a new region is created that represents the <dfn>entire audio 
-  file</dfn>. This region will have the name of the track/playlist/original file, 
-  followed by a "-", then a number plus a dot and then a number.
-</p>
-<p>
-  For <dfn>recorded regions</dfn>, the number will increase each time a new recording 
-  is made. So, for example, if there is a playlist called
-  <samp>Didgeridoo</samp>, the 
-  first recorded whole file region for that playlist will be called
-  <samp>Digderidoo-1</samp>. The next one will be <samp>Digeridoo-2</samp> and so on.
-</p>
-<p>
-  For <dfn>imported regions</dfn>, the region name will be based on the original file 
-  name, but with any final suffix (e.g. ".wav" or ".aiff") removed.
-</p>
-<p>
-  Normally, whole file regions are not inserted into tracks or playlists, 
-  but regions derived from them are. The whole-file versions live in the 
-  editor region list where they act as an organizing mechanism for regions 
-  that are derived from them.
-</p>
-
-<h2>Normal Region Names</h2>
-<p>
-  When a region is inserted into a track and playlist, its initial name will 
-  end in a <dfn>version number</dfn>, such as <samp>.1</samp>. For a recorded region, 
-  if the whole file region was <samp>Hang drum-1</samp>, then the region in 
-  the track will appear with the name <samp>Hang drum-1.1</samp>. For an 
-  imported region, if the whole file region was <samp>Bach:Invention3</samp>, 
-  then the region in the track will appear with the name
-  <samp>Bach:Invention3.1</samp>.
-</p>
-
-<h2>Copied Region Names</h2>
-<p>
-  If you <dfn>copy a region</dfn>, it initially shares the same name as the original. 
-  When you perform an operation modifies one of the copies, Ardour will 
-  increment the version number on the particular copy that changed.
-</p>
-
-<h2>Renaming Regions</h2>
-<p>
-  You can <dfn>rename a region</dfn> at any time. Use the region context menu to 
-  pop up the <kbd class="menu">Rename</kbd> dialog. The new name does not need to 
-  have a version number in it (in fact, it probably should not). Ardour will add a 
-  version number in the future if needed (e.g. if you copy or split the region).
-</p>
-  
diff --git a/_manual/09_working-with-regions/02_corresponding-regions-selection.html b/_manual/09_working-with-regions/02_corresponding-regions-selection.html
deleted file mode 100644 (file)
index 6846401..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
----
-layout: default
-title: Corresponding Regions Selection
----                        
-  
-<p>
-  <a href="/working-with-tracks/track-and-bus-groups/">Track Groups</a> have
-  a property titled <kbd class="option">Select</kbd> which, if enabled, cause 
-  Ardour to propagate a region selection in one track of a group to the
-  <dfn>corresponding regions</dfn> of the other tracks in that group.
- </p>
-<p>
-  For example, let's assume you have used multiple microphones to record a 
-  drum kit to multiple tracks. You have created a track group, added all the 
-  drum tracks, enabled the group and enabled the Select property for the group. 
-  When you select a region in one of the drum tracks, Ardour will select the
-  corresponding region in every other drum track, which in turn means that a 
-  subsequent edit operation will affect all the drum tracks together. 
-</p>
-
-<h2>How Ardour Decides Which Regions are "Corresponding"</h2>
-<p>
-  Regions in different tracks are considered to be corresponding for the purposes 
-  of sharing <dfn>selection</dfn> if they satisfy <em>all</em> the following criteria:
-</p>
-<ol>
-  <li>Each region starts at the <dfn>same offset</dfn> within its source file,</li>
-  <li>each region is located at the <dfn>same position</dfn> on the timeline, and</li>
-  <li>each region has the <dfn>same length</dfn>.</li>
-</ol>
-
-<h2>Overlap Correspondence</h2>
-<p>
-  Sometimes, the rules outlined above are too strict to get Ardour to do what you 
-  want. Regions may have been trimmed to slightly different lengths, or positioned 
-  slightly differently, and this will cause Ardour to not select regions in other 
-  grouped tracks.</p>
-<p>
-  In this case, change  
-  <kbd class="menu">Edit &gt; Preferences &gt; Editor &gt; Regions in
-  active edit groups are edited together:</kbd> to <kbd
-  class="menu">whenever they overlap in time</kbd>. With this option enabled, r
-  egions in different tracks will be considered equivalent for the purposes of selection if they
-  <dfn>overlap</dfn>. This is much more flexible and will cover almost all of the 
-  cases that the fixed rules above might make cumbersome.
-</p>
-  
diff --git a/_manual/09_working-with-regions/03_region-context-menu.html b/_manual/09_working-with-regions/03_region-context-menu.html
deleted file mode 100644 (file)
index 0c92f63..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
----
-layout: default
-title: Region Context Menu
----                        
-
-<p>
-  In the editor window, right clicking (context clicking) on a region
-  displays a menu with <dfn>track and region operations</dfn>. The menu begins with the
-  name of the region, or <kbd class="menu">Selected Regions</kbd> if multiple 
-  regions are selected.
-</p>
-<p>
-  If there is more than one region layered at the point where you clicked, the 
-  menu will also contain an item <kbd class="menu">Choose Top</kbd>. This
-  dialog lets you select which region you want on the top <dfn>layer</dfn>. See 
-  <a href="/working-with-tracks/controlling-track-appearance/layering-display/">Adjusting Region Layering</a> for more details.
-</p>
-<p>
-  Below these items is the rest of the 
-  <a href="/working-with-tracks/track-context-menu/">Track Context Menu</a>, which 
-  provides access to <dfn>track-level operations</dfn>. To see the contents
-  of the region context menu, select the region name or "Selected Regions", and 
-  the following submenu structure appears:
-</p>
-<dl class="narrower-table">
-  <dt>Play</dt>
-  <dd></dd>
-  <dt>Loop</dt>
-  <dd></dd>
-  <dt>Properties</dt>
-  <dd></dd>
-  <dt>Rename</dt>
-  <dd></dd>
-  <dt>Edit</dt>
-  <dd>
-    <dl class="wide-table">
-      <dt>Combine</dt>
-      <dd></dd>
-      <dt>Uncombine</dt>
-      <dd></dd>
-      <dt>Split</dt>
-      <dd></dd>
-      <dt>Make Mono Regions</dt>
-      <dd></dd>
-      <dt>Opaque</dt>
-      <dd></dd>
-      <dt>Mute</dt>
-      <dd></dd>
-      <dt>Pitch Shift</dt>
-      <dd></dd>
-      <dt>Reverse</dt>
-      <dd></dd>
-      <dt>Close Gaps</dt>
-      <dd></dd>
-      <dt>Place Transients</dt>
-      <dd></dd>
-      <dt>Rhythm Ferret</dt>
-      <dd></dd>
-      <dt>Strip Silence</dt>
-      <dd></dd>
-    </dl>
-  </dd>
-  <dt>Position</dt>
-  <dd>
-    <dl class="wide-table">
-      <dt>Move To Original Position</dt>
-      <dd></dd>
-      <dt>Lock</dt>
-      <dd></dd>
-      <dt>Glue to Bars and Beats</dt>
-      <dd></dd>
-      <dt>Snap Position to Grid</dt>
-      <dd></dd>
-      <dt>Set Sync Position</dt>
-      <dd></dd>
-      <dt>Remove Sync</dt>
-      <dd></dd>
-<dt>Nudge Later</dt>
-<dd></dd>
-<dt>Nudge Earlier</dt>
-<dd></dd>
-<dt>Nudge Later by capture offset</dt>
-<dd></dd>
-<dt>Nudge Earlier by capture offset</dt>
-<dd></dd>
-</dl>
-</dd>
-<dt>Trim</dt>
-<dd>
-<dl class="wide-table">
-<dt>Trim Start at Edit Point</dt>
-<dd></dd>
-<dt>Trim End at Edit Point</dt>
-<dd></dd>
-<dt>Trim to Loop</dt>
-<dd></dd>
-<dt>Trim to Punch</dt>
-<dd></dd>
-<dt>Trim to Previous</dt>
-<dd></dd>
-<dt>Trim to Next</dt>
-<dd></dd>
-</dl>
-</dd>
-<dt>Layering</dt>
-<dd>
-<dl class="wide-table">
-<dt>Raise to Top</dt>
-<dd></dd>
-<dt>Raise</dt>
-<dd></dd>
-<dt>Lower</dt>
-<dd></dd>
-<dt>Lower to Bottom</dt>
-<dd></dd>
-</dl>
-</dd>
-<dt>Ranges</dt>
-<dd>
-<dl class="wide-table">
-<dt>Set Loop Range</dt>
-<dd></dd>
-<dt>Set Punch Range</dt>
-<dd></dd>
-<dt>Add Single Range Marker</dt>
-<dd></dd>
-<dt>Add Range Marker per Region</dt>
-<dd></dd>
-<dt>Set Range Selection</dt>
-<dd></dd>
-</dl>
-</dd>
-<dt>Gain</dt>
-<dd>
-<dl class="wide-table">
-<dt>Normalize</dt>
-<dd></dd>
-<dt>Boost</dt>
-<dd></dd>
-<dt>Cut</dt>
-<dd></dd>
-<dt>Reset Envelope</dt>
-<dd></dd>
-<dt>Envelope Active</dt>
-<dd></dd>
-</dl>
-</dd>
-<dt>Fades</dt>
-<dd>
-<dl class="wide-table">
-<dt>Fade In</dt>
-<dd></dd>
-<dt>Fade Out</dt>
-<dd></dd>
-<dt>Fades        </dt>
-<dd></dd>
-</dl>
-</dd>
-<dt>Duplicate</dt>
-<dd>
-<dl class="wide-table">
-<dt>Duplicate</dt>
-<dd></dd>
-<dt>Multi-Duplicate</dt>
-<dd></dd>
-<dt>Fill Track</dt>
-<dd></dd>
-</dl>
-</dd>
-<dt>Export</dt>
-<dd></dd>
-<dt>Bounce (without processing)</dt>
-<dd></dd>
-<dt>Bounce (with processing)</dt>
-<dd></dd>
-<dt>Spectral Analysis</dt>
-<dd></dd>
-<dt>Remove</dt>
-<dd></dd>
-</dl>
diff --git a/_manual/10_working-with-playlists.html b/_manual/10_working-with-playlists.html
deleted file mode 100644 (file)
index bbc9ccf..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: default
-title: Working With Playlists
----                        
-  
-<p>
-  <dfn>Playlists</dfn> are a fundamental concept in Ardour that you may or
-  may not end up using, depending on your workflow.
-</p>
-  
-{% children %}
diff --git a/_manual/10_working-with-playlists/01_understanding-playlists.html b/_manual/10_working-with-playlists/01_understanding-playlists.html
deleted file mode 100644 (file)
index 77d9f0a..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: default
-title: Understanding Playlists
----                        
-  
-<p>
-  A <dfn>playlist</dfn> is a list of regions ordered in time. It defines 
-  which parts of which source files should be played and when.  Playlists 
-  are a fairly advanced topic, and can be safely ignored for many types 
-  of audio production. However, the use of playlists allows the audio 
-  engineer more flexibility for tasks like multiple takes of a single 
-  instrument, alternate edits of a given recording, parallel effects such 
-  as reverb or compression, and other tasks.
-</p>
-<p>
-  Each audio <dfn>track</dfn> in Ardour is really just a mechanism for
-  taking a playlist and generating the audio stream that it represents. 
-  As a result, editing a track really means modifying its playlist in 
-  some way. Since a playlist is a list of regions, most of the 
-  modifications involve manipulating regions: their position, length 
-  and so forth. This is covered in the chapter
-  <a href="/working-with-regions/">Working With Regions</a>.<br />
-  Here, we cover some of the things you can do with playlists as objects
-  in their own right.
-</p>
-
-<h2>Tracks are not Playlists</h2>
-<p>
-  It is important to understand that a track <em>is not</em> a playlist. 
-  A track <em>has</em> a playlist. A track is a mechanism for generating 
-  the audio stream represented by the playlist and passing it through a 
-  signal processing pathway. At any point in time, a track has a single 
-  playlist associated with it. When the track is used to record, that 
-  playlist will have one or more new regions added to it. When the track 
-  is used for playback, the contents of the playlist will be heard. 
-  You can change the playlist associated with a track at (almost) any 
-  time, and even share playlists between tracks.
-</p>
-<p>
-  If you have some experience of other 
-  <abbr title="Digital Audio Workstation">DAW</abbr>s, then you might 
-  have come across the term <dfn>"virtual track"</dfn>, normally defined as a track 
-  that isn't actually playing or doing anything, but can be 
-  mapped/assigned to a real track. This concept is functionally 
-  identical to Ardour's playlists. We just like to be little more 
-  clear about what is actually happening rather than mixing old and 
-  new terminology ("virtual" and "track"), which might be confusing.</p>
-
-<h2>Playlists are Cheap</h2>
-<p>
-  One thing you should be clear about is that playlists are cheap. They 
-  don't cost anything in terms of CPU consumption, and they have very 
-  minimal efforts on memory use. Don't be afraid of generating new 
-  playlists whenever you want to. They are not equivalent to tracks, 
-  which require extra CPU time and significant memory space, or audio 
-  files, which use disk space, or plugins that require extra CPU time. 
-  If a playlist is not in use, it occupies a small amount of memory, and 
-  nothing more.
-</p>
-  
diff --git a/_manual/10_working-with-playlists/02_playlist-operations.html b/_manual/10_working-with-playlists/02_playlist-operations.html
deleted file mode 100644 (file)
index 34f8fa0..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
----
-layout: default
-title: Playlist Operations
----                        
-
-<p>
-  In the track header (editor window, left pane) is a button labelled <kbd
-  class="menu">p</kbd> (for "Playlist"). If you click on this button, Ardour 
-  displays the following menu:
-</p>
-<dl class="wide-table">
-  <dt>(Local Playlists)</dt>
-   <dd>Shows all of the playlists associated with this track, and indicates 
-   the currently selected playlist</dd>
-  <dt>Rename</dt>
-  <dd>Displays a dialog to rename the current playlist</dd>
-  <dt>New</dt>
-  <dd>Creates a new empty playlist, and the track switches to the new playlist</dd>
-  <dt>New Copy</dt>
-  <dd>Creates a new playlist that is a copy of the current playlist; the track switches to the new playlist</dd>
-  <dt>Clear Current</dt>
-  <dd>Removes all regions from the current playlist</dd>
-  <dt>Select From All</dt>
-  <dd>Displays a playlist browser to manually choose which playlist this track should use. (You can even select playlists from other tracks here)</dd>
-</dl>
-
-<h2>Renaming Playlists</h2>
-<p>
-  Playlists are created with the name of the track of which they are 
-  associated, plus a version number. So, the first playlist for a track 
-  called "Cowbell" will be called <samp>Cowbell.1</samp>. This name will 
-  be used to define the names of any regions added to the playlist by 
-  recording. You can change the name at any time, to anything you want. 
-  Ardour does not require that your playlist names are all unique, but it 
-  will make your life easier if they are. Suggested examples of user-assigned 
-  names for a playlist might include <kbd class="input">Lead Guitar, 2nd
-  take</kbd>, <kbd class="input">vocals (quiet)</kbd>, 
-  and <kbd class="input">downbeat cuica</kbd>. Notice how these might be 
-  different from the associated track names, which for these examples might 
-  be <kbd class="input">Lead Guitar</kbd>, 
-  <kbd class="input">Vocals</kbd> and <kbd class="input">Cuica</kbd>. The 
-  playlist name provides more information because it is about a specific 
-  version of the material that may (or may not) end up in the final version 
-  of the track.
-</p>
-<p>
-  If you are going to rename your playlists, do so before recording new
-  material to them.
-</p>
-<p class="fixme">
-  It appears that recorded regions are not named after the playlist, but
-  after the track.
-</p>
-
-<h2>Sharing Playlists</h2>
-<p>
-  It is entirely possible to <dfn>share playlists</dfn> between tracks. The only 
-  slightly unusual thing you may notice when sharing is that edits to the 
-  playlist made in one track will magically appear in the other. If you 
-  think about this for a moment, its an obvious consequence of sharing.  
-  One application of this attribute is parallel processing, described 
-  below.
-</p>
-<p>
-  You might not want this kind of behaviour, even though you still want 
-  two tracks to use the same (or substantially the same) playlist. To 
-  accomplish this, select the chosen playlist in the second track, and 
-  then use New Copy to generate an <dfn>independent copy</dfn> of it for 
-  that track. You can then edit this playlist without affecting the original.
-</p>
-
diff --git a/_manual/10_working-with-playlists/03_playlist_usecases.html b/_manual/10_working-with-playlists/03_playlist_usecases.html
deleted file mode 100644 (file)
index f14915f..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
----
-layout: default
-title: Playlist Usecases
----                        
-
-<h3>Using Playlists for Parallel Processing</h3>
-<p>
-  One of the uses of playlists is to apply multiple effects to the same 
-  audio stream. For example, let's say you would like to apply two 
-  different non-linear effects such as distortion or compression to the 
-  same audio source (for linear effects, you could just apply them one after
-  the other in the same track).<br />
-  Create a new track, apply the original track's playlist, and 
-  then apply effects to both tracks independently. 
-</p>
-<p class="note"> 
-  The same result could be achieved by feeding your track to multiple busses which
-  then contain the processing, but this increases the overall latency,
-  complicates routing and uses more space in the Mixer window.
-</p>
-
-<h2>Using Playlists for "Takes"</h2>
-<p>
-  Using Playlists for <dfn>takes</dfn> is a good solution if you are going 
-  to need the ability to edit individual takes, and select between them. 
-</p>
-<p>
-  Each time you start a new take, create a new playlist with 
-  <kbd class="menu">p &gt; New</kbd> 
-  Later, you can Select your way back to previous or later takes as 
-  desired.
-</p>
-<p>
-  If you want to create a composite edit from multiple takes, create a new
-  track to assemble the final version, and "cherry pick" from the playlists
-  in the original track by copying regions over as required.<br />
-  Alternatively, record each successive take on top of the 
-  others in "layers" and then edit them using the layer tools, explained 
-  later.
-</p>
-  
-<h2>Using Playlists for Multi-Language Productions</h2>
-<p>  
-  The same approach as for takes is useful when you are recording or 
-  editing content in multiple versions, such as dubbed movie dialog in
-  several languages, and you want all versions on the same track, to 
-  get the same processing. <br />
-  Select the appropriate language before exporting the session.
-</p>
-
diff --git a/_manual/11_working-with-tracks.html b/_manual/11_working-with-tracks.html
deleted file mode 100644 (file)
index 45657c2..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: default
-title: Working With Tracks
----                        
-
-{% children %}
diff --git a/_manual/11_working-with-tracks/01_track-types.html b/_manual/11_working-with-tracks/01_track-types.html
deleted file mode 100644 (file)
index 4d3e74b..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
----
-layout: default
-title: Track Types
----                        
-
-<p>
-  Ardour offers three <dfn>track types</dfn> depending on the type of 
-  data they contain, and differentiates between three <dfn>track modes</dfn>,
-  depending on their recording behaviour.
-</p>
-
-<h2>Track types</h2>
-<p>
-  An Ardour track can be of type <dfn>audio</dfn> or <dfn>MIDI</dfn>,
-  depending on the <dfn>data</dfn> that the track will primarily record 
-  and play back. <em>However, either type of track can pass either 
-  type of data.</em> Hence, for example, one might have a MIDI track that
-  contains an instrument plugin; such a track would record and play back 
-  MIDI data from disk but would produce audio, since the instrument plugin 
-  would turn MIDI data into audio data.
-</p>
-<p>
-  Nevertheless, when adding tracks to a session, you typically have an idea 
-  of what you need to use the new tracks for, and Ardour offers you three 
-  choices:
-</p>
-<dl class="narrower-table">
-  <dt>Audio</dt>
-  <dd>An <dfn>Audio Track</dfn> is created with a user-specified number of 
-  inputs. The number of outputs is defined by the master bus channel count 
-  (for details see <a href="#channelconfiguration">Channel Configuration</a> 
-  below). This is the type of track to use when planning to work with 
-  existing or newly recorded audio.</dd>
-  <dt>MIDI</dt>
-  <dd>A <dfn>MIDI track</dfn> is created with a single MIDI input, and a 
-  single MIDI output. This is the type of track to use when planning to 
-  record and play back MIDI. There are several methods to enable playback 
-  of a MIDI track: add an instrument plugin to the track, connect the 
-  track to a software synthesizer, or connect it to external MIDI hardware. 
-  <p class="note">
-    If you add an instrument plugin, the MIDI track outputs audio instead
-    of MIDI data.
-  </p></dd>
-  <dt>Audio/MIDI</dt>
-  <dd>There are a few notable plugins that can usefully accept both <dfn>Audio 
-  and MIDI</dfn> data (Reaktor is one, and various "auto-tune" like plugins 
-  are another).  It can be tricky to configure this type of track manually, 
-  so Ardour allows you to select this type specifically for use with such 
-  plugins. It is <em>not</em> generally the right choice when working normal 
-  MIDI tracks, and a dialog will warn you of this.</dd>
-</dl>
-
-<h2 id="trackmodes">Track Modes</h2>
-<p>
-  Audio tracks in Ardour have a <dfn>mode</dfn> which affects how they behave 
-  when recording:
-</p>
-<dl class="narrower-table">
-  <dt>Normal</dt>
-  <dd>Tracks in <dfn>normal mode</dfn> will record non-destructively &mdash; 
-  new data is written to new files, and when overdubbing, new regions will be 
-  layered on top of existing ones. This is the recommended mode for most workflows.
-  </dd>
-  <dt>Non-Layered</dt>
-  <dd>Tracks using <dfn>non-layered mode</dfn> will record non-destructively
-  &mdash; new data is written to new files, but when overdubbing, the existing 
-  regions are trimmed so that there are no overlaps. This does not affect
-  the previously recorded audio data, and trimmed regions can be expanded
-  again at will. Non-layered mode can be very useful for spoken word material, 
-  especially in combination with <a href="/editing-and-arranging/change-region-lengths/pushpull-trimming/">push/pull trimming</a>.
-  </dd>
-  <dt>Tape</dt>
-  <dd><dfn>Tape-mode</dfn> tracks do <strong>destructive</strong> recording: 
-  all data is recorded to a single file and if you overdub a section of existing 
-  data, the existing data is destroyed irrevocably &mdash; there is no undo. 
-  Fixed crossfades are added at every punch in and out point. This mode can be 
-  useful for certain kinds of re-recording workflows, but it not suggested for normal 
-  use.</dd>
-</dl>
-<img class="right" src="/images/a3_nonlayered_example.png" alt="normal and non-layered overdubbing comparision"
-/>
-<p>
-  The screenshot on the right shows the subtle difference between an overdub 
-  in <dfn>normal mode</dfn> (upper track) and one in <dfn>non-layered mode</dfn> 
-  (lower track). Both tracks were created using identical audio data. <br />
-  The upper track shows a new region which has been <dfn>layered on
-  top</dfn> of the the existing (longer) region. You can see this if you look 
-  carefully at the region name strips.<br />
-  The lower track has split the existing region in two, trimmed each new
-  region to create space for the new overdub, and inserted the overdub region 
-  in between. 
-</p>
-
-<h2 id="channelconfiguration">Channel Configuration</h2>
-<p>
-  Ardour tracks can have any number of inputs and any number of outputs, and the 
-  number of either can be changed at any time (subject to restrictions caused by 
-  any plugins in a track). However it is useful to not have to configure this sort 
-  of thing for the most common cases, and so the 
-  <a href="/working-with-tracks/adding-tracks-and-busses/">Add Tracks</a> dialog allows you to 
-  select "Mono", "Stereo" and few other typical multichannel presets<br />
-  The name of the preset describes the number of <dfn>input channels</dfn>
-  of the track or bus.
-</p>
-<p>
-  If you have configured Ardour to automatically connect new tracks and
-  busses for you, the number of outputs will be determined by the number of
-  inputs of the <dfn>master <a
-  href="/introducing-ardour/understanding-basic-concepts-and-terminology/#busses">bus</a></dfn>,
-  to which the track outputs will be connected.<br />
-  For example, if you have a two-channel master bus, then a Mono track has one 
-  input and two outputs; a Stereo track has two inputs and two outputs.
-</p>
-<p class="note">
-  If you you set <kbd class="menu">Edit &gt; Preferences &gt; Audio
-  &gt; Connection of Tracks and Busses</kbd> to <kbd
-  class="menu">manual</kbd>, then tracks will be left disconnected by default
-  and there will be as many outputs as there are inputs. It is up to you to connect 
-  them as you wish. This is not a particularly useful way to work unless you are doing 
-  something fairly unusual with signal routing and processing. It is almost always 
-  preferable to leave Ardour to make connections automatically, even if you later 
-  change some of them manually.
-</p>
-  
-  
diff --git a/_manual/11_working-with-tracks/02_adding-tracks-and-busses.html b/_manual/11_working-with-tracks/02_adding-tracks-and-busses.html
deleted file mode 100644 (file)
index 5bb142f..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
----
-layout: default
-title: Adding Tracks, Busses and VCAs
----                        
-
-<img class="right" src="/images/add-track-or-bus.png" alt="the add-track dialog" />
-<p>A track, bus or VCA can be added to a session in various ways:</p>
-<ul>
-  <li>Choose <kbd class="menu">Track &gt; Add Track, Bus or VCA...</kbd>.</li>
-  <li><kbd class="mouse">Right</kbd>-click in an empty part of the track controls area.</li>
-  <li>Click the <kbd class="menu">Plus (+)</kbd> button underneath the list of tracks in the mixer.</li>
-</ul>
-<p>
-  Any of these actions will open the Add Track/Bus/VCA dialog.
-</p>
-<dl>
-  <dt>Add</dt>
-  <dd>Here you can select the number of tracks, busses or VCAs you wish to create, and
-  their <a href="/working-with-tracks/track-types/">types</a>.</dd>
-  <dt>Name</dt>  
-  <dd>Defines the name of the new track(s). If multiple tracks are created, or if a track with the same name already exists, a space and number will be happened at the end (e.g. : Audio 1, Audio 2...)</dd>
-  <dt>Configuration</dt>
-  <dd>This menu lets you choose from a number of route templates, which determine the number of input ports and optionally contain plugins and other mixer strip configuration. The most common choices here are <em>mono</em> and <em>stereo</em>.</dd>
-  <dt>Record mode</dt>
-  <dd>This option is only available for audio tracks and affects how it behaves when recording. See <a href="/working-with-tracks/track-types/#trackmodes">Track Modes</a> for details.</dd>
-  <dt>Instrument</dt>
-  <dd>This option is only available for MIDI tracks and busses and lets you select a
-  default instrument from the list of available plugins.</dd>
-  <dt>Group</dt>
-  <dd>Tracks and busses can be assigned groups so that a selected range of 
-  operations are applied to all members of a group at the same time (selecting 
-  record enable, or editing, for example). This option lets you assign to an 
-  existing group, or create a new group.</dd>
-  <dt>Insert</dt>
-  <dd>Defines where in the track list is the track created. The default is <em>Last</em>, i.e. after all the tracks and busses, and can also be <em>First</em>, <em>Before Selection</em> (to place it just above the selected track) or <em>After selection</em>.</dd>
-  <dt>Output Ports</dt>
-  <dd>Defines how the number of output responds to adding a plugin with a different number of outputs than the track itself. in <em>Strict I/O</em> mode, the track will only use a few of the plugins I/O and will keep its own number of output fixed, while in <em>lexible I/O</em> mode, it will automatically adapt to the I/O of its plugins. See <a href="/signal-routing/signal-flow/">Signal flow</a> to learn more about those options.</dd>
-</dl>
-
-<p>
-  New tracks appear in both the editor and mixer windows. The editor window 
-  shows the timeline, with any recorded data, and the mixer shows just the 
-  processing elements of the track (its plugins, fader and so on).
-</p>
-
-<h2>Removing Tracks and Busses</h2>
-<p>
-  To <dfn>remove</dfn> tracks and busses, select them, <kbd
-  class="mouse">right</kbd>-click and choose <kbd
-  class="menu">Remove</kbd> 
-  from the menu. A warning dialog will pop up, as track removal cannot be undone; 
-  use this option with care!
-</p>
-
diff --git a/_manual/11_working-with-tracks/03_selecting-tracks.html b/_manual/11_working-with-tracks/03_selecting-tracks.html
deleted file mode 100644 (file)
index 266675e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
----
-layout: default
-title: Selecting Tracks
----                        
-
-<p>
-  Tracks are <dfn>selected</dfn> by clicking on the Track header at the left
-  of the Editor window. You can select multiple tracks with <kbd class="mod1
-  mouse">Left</kbd> clicks, or a range of consecutive tracks with <kbd
-  class="mod3 mouse">Left</kbd>.
-</p>
-<p>
-  By default, <dfn>selecting regions</dfn> has no impact on 
-  <dfn>track selection</dfn>. 
-  You can select a track, then select a region in another track 
-  (or vice versa) and both selections will co-exist happily. 
-  Operations that are applied to tracks will use the track selection, 
-  and those that apply to regions will use the region selection. 
-  Similarly, deselecting a region will not deselect the track it 
-  is in (if that track was selected).
-</p>
-<p>
-  In some workflows, and particularly if you have experience with 
-  other <abbr title="Digital Audio Workstation">DAW</abbr>s, this 
-  is not the most comfortable way to work. You may prefer to work 
-  in a style where selecting a region will also select the track 
-  that the region is in. Similarly, when the last selected region 
-  in a track is deselected, the track will also become unselected.
-</p>
-<p>
-  To control this behaviour, set <kbd class="menu">Edit &gt;
-  Preferences &gt; Editor &gt; Link selection of regions and tracks</kbd>.
-</p>
-  
diff --git a/_manual/11_working-with-tracks/04_controlling-track-appearance.html b/_manual/11_working-with-tracks/04_controlling-track-appearance.html
deleted file mode 100644 (file)
index a222a69..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: default
-title: Controlling Track Appearance
----                        
-
-<p>
-  Ardour offers many options for controlling the appearance of tracks, 
-  including color, height, waveform style and more.
-  These can all be found in the <kbd class="menu">Edit &gt; Preferences &gt;
-  Editor</kbd> menu.
-</p>
-
-{% children %}
diff --git a/_manual/11_working-with-tracks/04_controlling-track-appearance/01_layering-display.html b/_manual/11_working-with-tracks/04_controlling-track-appearance/01_layering-display.html
deleted file mode 100644 (file)
index 42185de..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
----
-layout: default
-title: Layering Display
----                        
-
-<img class="right" style="clear:both" src="/images/track-layer-dialog.png"
-alt="Track layering menu" />
-<p>
-  Ardour allows arbitrary <dfn>layering</dfn> of regions &mdash; you can
-  have as many regions you wish at a given position. By default, the regions are
-  <dfn>overlaid</dfn> in the editor window, to save vertical space.
-</p>
-<p>
-  However, this display mode can be confusing for tracks with many overdubs, 
-  because its not obvious in which order the overdubs are layered. Although 
-  there are other methods of moving particular regions to the top of an
-  overlapping set, and although Ardour also has playlists to let you manage
-  <a href="/working-with-playlists/playlist_usecases/">takes</a> a bit more 
-  efficiently than just continually layering, 
-  there are times when being able to clearly see all regions in a track without 
-  any overlaps is reassuring and useful. 
-</p>
-<p>
-  Here is an image of a track with a rather drastic overdub situation, 
-  viewed in normal <dfn>overlaid mode</dfn>:
-</p>
-<img src="/images/a3_overlaps_layered.png" alt="overlapping regions in overlaid mode" />
-<p>
-  To change this display, right click on the track header, and you'll see
-  the menu displayed above. There are two choices for layers. <kbd
-  class="menu">overlaid</kbd> is currently selected. Click on <kbd
-  class="menu">stacked</kbd> and the track display changes to this:
-</p>
-<img src="/images/a3_layers_stacked.png" alt="overlapping regions in stacked mode" />
-<p>
-  You can still move regions around as usual, and in fact you can 
-  even drag them so that they overlay each again, but when you 
-  release the mouse button, things will flip back to them all being 
-  stacked cleanly. The number of <dfn>lanes</dfn> for the track is determined by 
-  the maximum number of regions existing in any one spot throughout 
-  the track, so if you have really stacked up 10 overdubs in one spot, 
-  you'll end up with 10 lanes. Obviously, using a large track height 
-  works much better for this than a small one.
-</p>
-  
diff --git a/_manual/11_working-with-tracks/04_controlling-track-appearance/02_track-coloring.html b/_manual/11_working-with-tracks/04_controlling-track-appearance/02_track-coloring.html
deleted file mode 100644 (file)
index 1945bb5..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
----
-layout: default
-title: Track Color
----                        
-
-<p>
-  New tracks in Ardour are assigned a random color from a pastel color
-  palette, so they should never end up being particularly bright or 
-  particularly dark. 
-</p>
-<h2>Changing the color of specific tracks</h2>
-<p>
-  Select the tracks whose color you wish to change. Context-click
-  on the track header of one of them. From the context menu, select 
-  <kbd class="menu">Color</kbd> and pick a hue to your taste in the
-  color dialog. Every selected track will be 
-  re-colored.
-</p>
-<p>
-  Note that if you are only changing one track, context-clicking on 
-  that track's header will be enough to select it, saving the extra 
-  mouse click.
-</p>
-
-<h2>Changing the color of all tracks in a group</h2>
-<p>
-  Tracks that belong to a 
-  <a href="/working-with-tracks/track-and-bus-groups/">track/bus group</a> 
-  can share a common color by enabling the <kbd
-  class="option">Color</kbd> option for the group. With this enabled,
-  any color change will be propagated to all group members.
-</p>
-<p>
-  You can also explicitly change the group color by context-clicking 
-  on the group tab in the Mixer, selecting <kbd class="menu">Edit
-  Group...</kbd> and then clicking on the Color selector in that dialog
-  that is displayed. 
- </p>
-  
diff --git a/_manual/11_working-with-tracks/04_controlling-track-appearance/03_track-height.html b/_manual/11_working-with-tracks/04_controlling-track-appearance/03_track-height.html
deleted file mode 100644 (file)
index 227fc28..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: default
-title: Track Height
----                        
-
-<p> 
-  Depending on the stage of your production, you may require a quick
-  overview over as many tracks as possible, a detailed view into just a
-  few, or a combination of the two. To facilitate this, the 
-  <dfn>height</dfn> may be configured individually for each track in 
-  the editor window.
-</p>
-<p>
-  A context click on a track header will display the 
-  <kbd class="menu">Height</kbd> menu, and allow you to choose from a
-  list of standard sizes. All selected tracks will be redrawn using that 
-  height.
-</p>
-<p>
-  Alternatively, select the tracks you wish to resize. Move the pointer 
-  to the bottom edge of one track header. The cursor will change to a 
-  two-way vertical arrow shape. <kbd class="mouse">Left</kbd>-drag to 
-  dynamically resize all selected tracks.
-</p>
-<h2>Fit to the Editor Window</h2>
-<p>
-  Select the tracks you wish to display in the Editor window. 
-  Choose <kbd class="menu">Track &gt; Height &gt; Fit Selected Tracks</kbd> 
-  or use the keyboard shortcut, <kbd>f</kbd>. Ardour adjusts the track 
-  heights and view so that the selected tracks completely fill the vertical 
-  space available, unless the tracks cannot be fitted even at the smallest 
-  possible size.
-</p>
-<p class="note">
-  You can use <dfn>Visual Undo</dfn> (default shortcut: <kbd class="mod3">Z</kbd> 
-  to revert this operation.
-</p>
-  
diff --git a/_manual/11_working-with-tracks/04_controlling-track-appearance/04_waveform-display.html b/_manual/11_working-with-tracks/04_controlling-track-appearance/04_waveform-display.html
deleted file mode 100644 (file)
index 61c53c8..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
----
-layout: default
-title: Waveform display
----                        
-
-<p>
-  The display of <dfn>waveforms</dfn> (or, more correctly, <dfn>peak
-  envelopes</dfn>, since the actual waveform is only visible at the highest
-  zoom levels) is configurable via the <kbd
-  class="menu">Edit &gt; Preferences &gt; Editor</kbd> dialog, to support 
-  different usecases and user preferences. The following options are
-  available:
-</p>
-<dl class="wide-table">
-  <dt>Show waveforms in regions</dt>
-  <dd>By default, Ardour draws waveforms within audio regions. Disable this
-  option to hide them.</dd>
-  <dt>Waveform scale</dt>
-  <dd>
-    <dl>
-      <dt>Linear</dt>
-      <dd>This is the traditional <dfn>linear</dfn> (1:1) display of the 
-      peak envelope, or, at higher zoom levels, the individual samples.</dd>
-      <dt>Logarithmic</dt>
-      <dd>Alternatively, you can use a <dfn>logarithmic</dfn> display of the 
-      peak envelope. This will give you a better idea of program loudness (it is similar 
-      to dBs) and plot soft passages more clearly, which is useful for soft
-      recordings or small track height.</dd>
-    </dl>
-  </dd>
-  <dt>Waveform shape</dt>
-  <dd>
-    <dl>
-      <dt>Traditional</dt>
-      <dd>The <dfn>zero</dfn> line appears in the middle of the display and waveforms 
-      appear as positive and negative peaks above <em>and</em> below.</dd>
-      <dt>Rectified</dt>
-      <dd>The zero line appears at the bottom of the display and waveforms appear 
-      as absolute peaks <em>above</em> the line only.</dd>
-    </dl>
-  </dd>
-</dl>
-
-
-{% children %}
diff --git a/_manual/11_working-with-tracks/05_controlling-track-ordering.html b/_manual/11_working-with-tracks/05_controlling-track-ordering.html
deleted file mode 100644 (file)
index b58688f..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: default
-title: Controlling Track Ordering
----                        
-
-<p>
-  Ardour does not impose any particular ordering of tracks and busses in 
-  either the editor or mixer windows. The default arrangements are as follows:
-</p>
-<p>
-  In the <dfn>Editor</dfn>, the Master bus will always be on top unless
-  hidden. Tracks and busses will appear in their initial order, from top to
-  bottom. The monitor section (if used) will never be visible in the editor
-  window.
-</p>
-<p>
-  In the <dfn>Mixer</dfn>, the tracks and busses will be displayed in their
-  initial order, from left to right. The Master bus is always on the far
-  right and occupies its own pane, so that it is always visible no matter
-  how you scroll the other mixer strips. If a Monitor section is used, 
-  it shows up at the right edge of the mixer window, from where it can be
-  torn off into a separate window.
-</p>
-
-{% children %}
diff --git a/_manual/11_working-with-tracks/05_controlling-track-ordering/01_reordering-tracks.html b/_manual/11_working-with-tracks/05_controlling-track-ordering/01_reordering-tracks.html
deleted file mode 100644 (file)
index 31da451..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
----
-layout: default
-title: Reordering Tracks
----
-
-<p>
-  The <dfn>track ordering</dfn> of the Editor and Mixer is <dfn>synchronized</dfn>: if you
-  reorder in one window, the ordering in the other window will follow.
-</p>
-
-<h2>Reordering in the Editor Window</h2>
-<p>
-  Select the tracks you want to move. Then use<br />
-  <kbd class="menu">Track &gt; Move Selected Tracks Up</kbd>
-  (shortcut: <kbd class="mod1">&uarr;</kbd>) or<br />
-  <kbd class="menu">Track &gt; Move Selected Tracks Down</kbd>
-  (shortcut: <kbd class="mod1">&darr;</kbd>).
-</p>
-<p>
-  Alternatively, you can use the <a href="/ardours-interface/editor-lists/tracks-and-busses-list/"><kbd class="menu">Tracks &amp; Busses</kbd>
-  panel of the Editor Lists</a>, if visible.  
-  Here, you can freely drag-and-drop tracks and busses into any order you prefer.
-</p>
-
-<h2>Reordering in the Mixer Window</h2>
-<p>
-  Within the <kbd class="menu">Strips</kbd> pane at the top left of the
-  Mixer window, you can freely drag-and-drop tracks and busses into any
-  desired order.
-</p>
-
-<h2>"Collecting" Group Members</h2>
-<p>
-  Tracks and Busses that are members of a group can be reordered so that they
-  display contiguously within the Editor and Mixer windows. Context-click on
-  the group tab and choose <kbd class="menu">Collect</kbd>.
-</p>
-
-<h2>Ordering of New Tracks</h2>
-<p>
-  When <dfn>adding new tracks</dfn>, the current selection determines their
-  placement. New tracks will be placed after the rightmost (in the mixer) or
-  bottom-most (in the editor) selected track. If no tracks are selected, new
-  tracks will be added at the end.
-</p>
-<p class="note">
-  Because new tracks are automatically selected, you can quickly reorder them
-  in the editor window via the keyboard shortcuts after adding them (see above).
-</p>
diff --git a/_manual/11_working-with-tracks/05_controlling-track-ordering/02_track-ordering-and-remote-control-ids.html b/_manual/11_working-with-tracks/05_controlling-track-ordering/02_track-ordering-and-remote-control-ids.html
deleted file mode 100644 (file)
index 026fbfb..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout: default
-title: Track Ordering and Remote Control IDs
----
-  
-<p>
-  Every track and bus in Ardour is assigned a <dfn>remote control ID</dfn>. 
-  When a <a href="/using-control-surfaces/">control surface</a> or any other
-  remote control is used to control Ardour, these IDs are used to identify 
-  which track(s) or buss(es) are the intended target of incoming commands.
-</p>
-<p>
-  Remote IDs will be assigned to tracks and buses in the order that
-  they appear in the mixer window from left to right, starting from 1.
-  Manual assignment of remote IDs is not possible.
-  The master bus and monitor section can be accessed by name.
-</p>
diff --git a/_manual/11_working-with-tracks/06_bus-controls.html b/_manual/11_working-with-tracks/06_bus-controls.html
deleted file mode 100644 (file)
index 4b0bc59..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: default
-title: Bus Controls
----                        
-
-<p>A typical control area or <dfn>bus header<dfn> is shown below:</p>
-<img src="/images/typical-bus-controls.png" alt="bus controls" />
-
-<p>
-  At the top-left of the controls is the name of the bus, which can be
-  edited by double-clicking on it. The new name must be unique within the 
-  session. Underneath the name is a copy of the bus' main level fader. 
-  The control buttons to the right-hand side are:
-</p>
-<dl>
-  <dt id="mute">M</dt>
-  <dd><dfn>Mute</dfn> &mdash; click to mute the bus. Right-click to display 
-  a menu which dictates what particular parts of the bus should be muted.</dd>
-  <dt id="solo">S</dt>
-  <dd><dfn>Solo</dfn> &mdash; solo the bus. The behaviour of the solo system 
-  is described in detail in the section <a
-  href="/mixing/muting-and-soloing/">Muting and Soloing</a>.</dd>
-  <dt id="automation">A</dt>
-  <dd><dfn>Automation</dfn> &mdash; opens the automation menu for the 
-  bus. For details see <a href="/automation/">Automation</a>.</dd>
-  <dt id="group">G</dt>
-  <dd><dfn>Group</dfn> &mdash; lets you assign the bus to an existing or a
-  new group. For details see <a href="/working-with-tracks/track-and-bus-groups/">Track and bus groups</a>. </dd>
-</dl>
-  
diff --git a/_manual/11_working-with-tracks/07_audio-track-controls.html b/_manual/11_working-with-tracks/07_audio-track-controls.html
deleted file mode 100644 (file)
index 3462258..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: default
-title: Audio Track Controls
----                        
-
-<p>
-  A typical control area or <dfn>track header</dfn> for an audio track is 
-  shown below:
-</p>
-<img src="/images/typical-audio-track-controls.png" alt="audio track controls"
-  />
-<p> 
-  An audio track has the same 
-  <a href="/working-with-tracks/bus-controls/">controls as a bus</a>, with the
-  addition of two extras. 
-</p>
-<dl>
-  <dt id="record" style="color:red;font-weight:bold;">[&bull;]</dt>
-  <dd><dfn>Record</dfn> &mdash; The button with the pink circle arms the track 
-  for recording. When armed, the entire button will turn pink, and change to 
-  bright red as soon as the transport is rolling and the track is recording.</dd>
-  <dt id="playlist">p</dt>
-  <dd><dfn>Playlist</dfn> &mdash; Opens a playlist menu when clicked. The menu 
-  offers various operations related to the track's <a
-  href="/working-with-playlists/">playlist</a>.
-  </dd>
-</dl>
-  
diff --git a/_manual/11_working-with-tracks/08_midi-track-controls.html b/_manual/11_working-with-tracks/08_midi-track-controls.html
deleted file mode 100644 (file)
index 6639e93..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: default
-title: MIDI Track Controls
----                        
-  
-<p>A typical <dfn>MIDI track header</dfn> looks like this:</p>
-<img src="/diagrams/typical-midi-track-controls.png" alt="midi track controls"
-  />
-  
-<p>
-  To see the full set of MIDI track controls, you need to increase the 
-  <a href="/working-with-tracks/controlling-track-appearance/track-height/">track height</a> 
-  beyond the default. MIDI tracks show only a few of the control elements 
-  when there is insufficient vertical space.
-</p>
-<p>
-  A MIDI track has the same basic
-  <a href="/working-with-tracks/audio-track-controls/">controls as an audio track</a>, 
-  with the addition of two extra elements. The set of buttons below the main track 
-  controls the <dfn>MIDI channel</dfn>(s) that will be visible in the editor. A MIDI track's 
-  data may span any number of the 16 available MIDI channels, and sometimes it is 
-  useful to view only a subset of those channels; different instruments may, 
-  for example, be put on different channels. Clicking on a channel number toggles 
-  its visibility.
-</p>
-<p>
-  To the right of the MIDI track controls is a representation of a piano keyboard 
-  called the <dfn>scroomer</dfn>. This performs a couple of functions. 
-  The scrollbar controls the range of pitches that are visible on the
-  track, as visualized by the piano keyboard.<br />
-  Drag the body of the scrollbar up and down to display higher or lower
-  pitches.<br />
-  Drag the scrollbar handles to zooms in and out and increase and decrease the 
-  range of visible pitches.<br />
-  clicking on the piano plays the corresponding MIDI note for reference. 
-</p>
-<p>
-  To edit the contents of a MIDI track see <a href="/working-with-midi/">Edit
-  MIDI</a>.
-</p>
diff --git a/_manual/11_working-with-tracks/09_track-and-bus-groups.html b/_manual/11_working-with-tracks/09_track-and-bus-groups.html
deleted file mode 100644 (file)
index 31dd949..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
----
-layout: default
-title: Track and Bus Groups
----
-
-<p>
-  Tracks and busses can be put into <dfn>groups</dfn>. Members of a group
-  can share various settings &mdash; useful for managing tracks that are closely
-  related to each other. Examples might include tracks that contain
-  multiple-microphone recordings of a single source (an acoustic guitar,
-  perhaps, or a drum-kit).
-</p>
-<p>
-  You can group tracks and busses in various ways. In the editor window,
-  a track's controls might look like these:
-</p>
-<img class="left" src="/images/track-in-group.png" alt="track headers for a group" />
-<p>
-  The green tab to the left of the track header indicates that this track
-  is in a group called <samp>Fred</samp>. You can drag these tabs to add
-  adjacent tracks to a group.
-</p>
-
-<h2>Create New Groups</h2>
-<p>
-  There are several ways to <dfn>create groups</dfn> for tracks and bussess:
-</p>
-<ul>
-  <li>Context-click on the group tab and use one of the <kbd
-  class="menu">Create...</kbd> options there. You can create a group with
-  no members, or one that starts with the currently selected tracks, or
-  record-enabled tracks, or soloed tracks.</li>
-  <li>Alternatively, click the â€˜g’ button on a track header to open the
-  Group menu. The menu lists the available groups. Selecting one of these
-  groups will add the track or bus to that group. The menu also lets you
-  create a new group.</li>
-  <li>Finally, the <a href="/ardours-interface/the-groups-list/">Groups list</a>
-  has a <kbd class="menu">plus (+)</kbd> button at the
-  bottom of the list. Click on the plus sign to create a new group.</li>
-</ul>
-
-<h2>Remove Groups</h2>
-<p>
-  Context-click on a <dfn>group tab</dfn> and select <kbd class="menu">Remove
-  Group</kbd> from the menu. Removing a group does <em>not</em> remove
-  the members of a group.
-</p>
-<p>
-  You can also remove groups by selecting them in the <a href="/ardours-interface/the-groups-list/">Groups list</a>
-  and then pressing the <kbd class="menu">minus (-)</kbd> button at the bottom of the list.
-</p>
-
-<h2>Add/Remove Tracks and Busses From a Group</h2>
-<p>
-  Click the <kbd class="menu">g</kbd> button to display a menu with a list
-  of the available groups. Select one of these groups to add the track or bus
-  to that group. Select <kbd class="menu">No Group</kbd> to remove it.
-</p>
-<p>
-  Alternatively, you can also drag a group tab to add or remove tracks from
-  the group.
-</p>
-
-<h2>Activate/Deactivate Groups via the Group Tab</h2>
-<p>
-  Clicking on a group tab toggles the group between being active and inactive.
-  An inactive group has no effect when editing its members. An active group
-  will share its configured properties across its members. Tabs for disabled
-  groups are coloured grey.</p>
-
-<h2>Modify Group Properties</h2>
-<p>
-  To edit the properties of a group, context-click on its tab and choose
-  <kbd class="menu">Edit Group…</kbd>. This opens the track/bus group dialog,
-  which is also used when creating new groups:
-</p>
-
-<img class="right" src="/images/route-group-dialogue.png" alt="the track/bus group dialog" />
-
-<h3>Group Color</h3>
-<p>
-  Click on the color selector button to change a group's colour. This affects
-  the colour of the group's tab in the editor and mixer windows. The color does
-  <em>not</em> affect the color of the group members unless you also enable the
-  shared <kbd class="menu">Color</kbd> property.
-</p>
-
-<h3>Shared Properties</h3>
-<p>
-  <kbd class="option">Gain</kbd> means that the track faders will be synced to
-  always have the same value; <kbd class="option">Relative</kbd> means that the
-  gain changes are applied relative to each member's current value. If, for
-  example, there are two tracks in a group with relative gain sharing, and their
-  faders are set to -3&nbsp;dB and -1&nbsp;dB, a change of the first track to a
-  gain of -6&nbsp;dB will result in the second track having a gain of
-  -4&nbsp;dB (the <em>difference</em> of the gains remains the same).
-</p>
-<p>
-  <a href="/working-with-tracks/bus-controls/#mute"><kbd class="option">Muting</kbd></a>,
-  <a href="/working-with-tracks/bus-controls/#solo"><kbd class="option">Soloing</kbd></a>,
-  <a href="/working-with-tracks/audio-track-controls/#record"><kbd class="option">record enable</kbd></a>,
-  <a href="/ardours-interface/editor-lists/tracks-and-busses-list/"><kbd class="option">active state</kbd></a>,
-  <a href="/working-with-tracks/controlling-track-appearance/track-coloring/"><kbd class="option">colour</kbd></a> and
-  <a href="/recording/monitoring/"><kbd class="option">monitoring</kbd></a>
-  are all straightforward. They simply mean that all member tracks or busses will
-  share the same settings in these respects.
-</p>
-<p>
-  <kbd class="option">Selection</kbd> means that if a region is selected or
-  deselected on one member track, <a
-  href="/working-with-regions/corresponding-regions-selection/">corresponding
-  regions</a> on other member tracks
-  will be similarly selected. Since region editing operations are applied to all
-  currently selected regions, this is the way to make edits apply across all tracks
-  in the group.
-</p>
-
-<h3>Group Tab Context Menu</h3>
-<p>Context-clicking on the group tab offers a further menu of group-related actions. </p>
-<dl class="wide-table">
-<dt>Create a New Group</dt>
-<dd>create a new group</dd>
-<dt>Create New Group from...</dt>
-<dd> create a new group and automatically add ...
-<dl class="narrower-table">
-<dt>Selected</dt>
-<dd>all currently selected tracks and busses</dd>
-<dt>Rec-enabled</dt>
-<dd>all currently record-enabled tracks</dd>
-<dt>Soloed</dt>
-<dd>all currently soloed tracks and busses</dd>
-</dl>
-</dd>
-<dt>Collect Group</dt>
-<dd>moves all the member tracks so that they are together in the editor window</dd>
-<dt>Remove Group</dt>
-<dd>removes the group (and only the group, not its members).</dd>
-<dt>Add New Subgroup Bus</dt>
-<dd> creates a bus (giving it the name of the group) and connects the output of each member to the new bus.
-</dd>
-<dt>Add New Aux Bus</dt>
-<dd>adds a bus and gives each member a send to that bus. There are two options for this, specifying whether the sends should be placed pre- or post-fader.</dd>
-<dt>Fit to Window</dt>
-<dd> will zoom the member tracks so that they fill the editor window.</dd>
-<dt>Enable All Groups</dt>
-<dd>makes all group active, including any hidden groups.</dd>
-<dt>Disable All Groups</dt>
-<dd>makes all groups inactive, including any hidden groups.</dd>
-</dl>
diff --git a/_manual/11_working-with-tracks/10_track-context-menu.html b/_manual/11_working-with-tracks/10_track-context-menu.html
deleted file mode 100644 (file)
index 521c72c..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
----
-layout: default
-title: Track Context Menu
----
-
-<p>
-  Within the editor window, context-click (right-click) on either a region
-  or empty space within a track to display the <dfn>track context menu</dfn>.
-  The context menu provides easy access to many track-level operations.
-</p>
-<p>
-  If you click on a <dfn>region</dfn>, the first item in the menu is the name of the
-  region. If you click on a
-  <a href="/working-with-tracks/controlling-track-appearance/layering-display/">layered region</a>,
-  the next item in the menu is <kbd class="menu">Choose Top</kbd>. If selected,
-  you will see a dialog that allows you to change the vertical order of layers
-  at that point. See <a href="/working-with-tracks/controlling-track-appearance/layering-display/">Layering Display</a> for more details.
-</p>
-<p>
-  The rest of the track context menu is structured as follows:
-</p>
-<dl class="narrower-table">
-  <dt>Play</dt>
-  <dd>
-    <dl class="narrower-table">
-    <dt>Play from Edit Point</dt>
-    <dd>Play from the location of the current <a href="/ardours-interface/the-edit-point-control/">edit point</a>.</dd>
-      <dt>Play from Start </dt>
-      <dd>Play from the start of the session</dd>
-      <dt>Play Region(s)</dt>
-      <dd>Plays the duration of the session from the start of the earliest selected region to the end of the latest selected region</dd>
-    </dl>
-  </dd>
-  <dt>Select</dt>
-  <dd>
-    <dl class="narrower-table">
-      <dt>Select All in Track</dt>
-      <dt>Select All</dt>
-      <dt>Invert Selection in Track</dt>
-      <dt>Invert Selection</dt>
-      <dt>Set Range to Loop Range</dt>
-      <dt>Set Range to Punch Range</dt>
-      <dt>Select All After Edit Point</dt>
-      <dt>Select All Before Edit Point</dt>
-      <dt>Select All After Playhead</dt>
-      <dt>Select All Before Playhead</dt>
-      <dt>Select All Between Playhead and Edit Point</dt>
-      <dt>Select All Within Playhead and Edit Point</dt>
-      <dt>Select Range Between Playhead and Edit Point</dt>
-    </dl>
-  </dd>
-  <dt>Edit</dt>
-  <dd>
-    <dl class="narrower-table">
-<dt>Cut</dt>
-<dt>Copy</dt>
-<dt>Paste</dt>
-<dt>Align</dt>
-<dt>Align Relative</dt>
-</dl>
-</dd>
-<dt>Insert Selected Region</dt>
-<dt>Insert Existing Media</dt>
-<dt>Nudge</dt>
-<dd>
-<dl class="narrower-table">
-<dt>Nudge Entire Track Later</dt>
-<dt>Nudge Track After Edit Point Later</dt>
-<dt>Nudge Entire Track Earlier</dt>
-<dt>Nudge Track After Edit Point Earlier</dt>
-</dl>
-</dd>
-<dt>Freeze</dt>
-</dl>
diff --git a/_manual/12_working-with-midi.html b/_manual/12_working-with-midi.html
deleted file mode 100644 (file)
index 0629a62..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
----
-layout: default
-title: Working with MIDI
----
-
-<p>
-  Ardour's handling of <dfn>MIDI editing</dfn> differs from most other DAWs
-  and MIDI sequencers.
-</p>
-
-<h2>Key features of Ardour MIDI handling</h2>
-<ul>
-  <li>
-    All editing is done in-place, in-window. There is no separate piano roll
-    window or pane. Edit notes right where you see them.
-  </li>
-  <li>
-    All MIDI I/O is done via JACK for sample accurate timing and maximal
-    efficiency when communicating with external software synthesizers.
-  </li>
-  <li>
-    Every MIDI track has its own JACK MIDI port for input; it may have an
-    arbitrary combination of audio and MIDI outputs, depending on the signal
-    processing in the track; the full flexibility of JACK connectivity is
-    present for MIDI just as it is for audio.
-  </li>
-  <li>
-    Full automation for MIDI tracks, integrated with the handling of all MIDI
-    CC data for each track.
-  </li>
-  <li>
-    Controllers (CC data) can be set to discrete or continuous modes (the
-    latter will interpolate between control points and send additional
-    data).
-  </li>
-  <li>
-    There is a Normal and a  Percussive mode for note data editing.
-  </li>
-  <li>
-    The <dfn>scroomer</dfn> is a combination scroll/zoom tool for altering
-    the zoom level and range of visible MIDI data.
-  </li>
-</ul>
-
-<h2>Notable Differences</h2>
-<ul>
-  <li>
-    Fader (volume) control currently operates on transmitted MIDI data, not by sending CC
-    #7.
-  </li>
-  <li>
-    All note/data editing is per-region. There are no cross-region operations at this
-    time.
-  </li>
-  <li>
-    By default, copying a MIDI region creates a <dfn>deep link</dfn>
-    &mdash; both regions share the same data source, and edits to the contents of
-    one will affect the other. To break this link, select
-    <kbd class="menu">MIDI &gt; Unlink from other copies</kbd> from the region
-    context menu, after which the selected region(s) will have their own copies
-    of <em>only</em> the data that they visually display on screen. You will not
-    be able to trim the region back its original length after an Unlink operation,
-    and the operation cannot be undone.
-  </li>
-</ul>
-
-{% children %}
diff --git a/_manual/12_working-with-midi/01_fundamental-concepts.html b/_manual/12_working-with-midi/01_fundamental-concepts.html
deleted file mode 100644 (file)
index 9ad5758..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
----
-layout: default
-title: Fundamental Concepts
----                        
-
-<p>Ardour's MIDI editing is based on two basic principles:</p>
-<ol>
-  <li>Editing should be done without having to enter a new window</li>
-  <li>
-    Editing should be able to carried out completely with the keyboard, 
-    or completely with the mouse, or with any combination of the two.
-  </li>
-</ol>
-<p>
-  Currently,  MIDI editing is primarily restricted to note data. Other 
-  kinds of data (controller events, sysex data) are present and can be 
-  added and deleted, but not actually edited. 
-</p>
-
-<h2>Fundamentals of MIDI Editing in Ardour 3</h2>
-<p>
-  MIDI, just like audio, exists in <dfn>regions</dfn>. MIDI regions 
-  behave like audio regions: they can be moved, trimmed, copied (cloned),
-  or deleted. Ardour allows either editing MIDI (or audio) regions, or MIDI 
-  region content (the notes), but never both at the same time. The
-  <kbd>e</kbd> key (by default) toggles between <dfn>region level</dfn> 
-  and <dfn>note level</dfn> editing, as will double-clicking on a MIDI region.
-</p>
-<p class="note">
-  One very important thing to note: editing note information in Ardour
-  occurs in only a single region. There is no way currently to edit in note 
-  data for multiple regions at the same time, so for example you cannot select 
-  notes in several regions and then delete them all, nor can you copy-and-paste 
-  notes from one region to another. You can, of course, copy and paste the 
-  region(s), just as with audio.
-</p>  
diff --git a/_manual/12_working-with-midi/02_create-midi-tracks.html b/_manual/12_working-with-midi/02_create-midi-tracks.html
deleted file mode 100644 (file)
index eb0ee67..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
----
-layout: default
-title: Create MIDI Tracks
----                        
-  
-<p>
-  To create a new <dfn>MIDI track</dfn>, choose <kbd class="menu">Session &gt; 
-  Add Track/Bus</kbd>. In the Add Track/Bus dialog, pick <kbd class="menu">MIDI
-  Track</kbd> from the combo selector at the upper right. 
-</p>
-<p>
-  You may decide to use a track template if you have one. 
-  You may also know the instrument (a plugin that will generate audio in response 
-  to receiving MIDI) that you want to use in the track. The Instrument selector 
-  will show you a list of all plugins that you have which accept MIDI input and 
-  generate audio output. 
-</p>
-  
diff --git a/_manual/12_working-with-midi/03_create-midi-regions.html b/_manual/12_working-with-midi/03_create-midi-regions.html
deleted file mode 100644 (file)
index 7021501..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
----
-layout: default
-title: Create MIDI Regions
----                        
-  
-<p>
-  Although recording MIDI is a common way to create new MIDI regions, it is 
-  often desirable to do so as part of editing/arranging.
-</p>
-<p>
-  To create a new MIDI region, simply <kbd class="mouse">Left</kbd>-click in 
-  a MIDI track. A region will be created that is one bar long. You can 
-  <a href="/editing-and-arranging/change-region-lengths/">trim</a> it to any 
-  length you want.
-</p>
-<p>
-  Once you have created a region, you will probably want to 
-  <a href="/working-with-midi/add-new-notes/">Add some notes to it</a>.
-</p>
-  
diff --git a/_manual/12_working-with-midi/04_add-new-notes.html b/_manual/12_working-with-midi/04_add-new-notes.html
deleted file mode 100644 (file)
index b85ac63..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
----
-layout: default
-title: Add New Notes
----                        
-  
-<h2>Adding new notes</h2>
-<p>
-  In general, you will probably do most MIDI editing with the mouse in object 
-  mode. This allows you to select notes, copy, move or delete them and alter 
-  their properties (see below). But at some point, you're going to want to 
-  <em>add</em> notes to a MIDI region using the mouse, and if they are to be 
-  anything other than a fixed length, this means dragging with the mouse. 
-  Since this would normally be a selection operation if the mouse is in object 
-  mode, there needs to be some way for you to tell Ardour that you are trying 
-  to <dfn>draw</dfn> new notes within a MIDI region. Ardour provides two ways 
-  do this. One is to leave the mouse in object mode and 
-  <kbd class="mouse mod1">Left</kbd>-drag. The other, useful if you plan to 
-  enter a lot of notes for a while, is to switch the mouse into
-  <kbd class="menu">Draw Notes</kbd> mode, which will now interpret any drags 
-  and clicks as requests to add a new note. For obvious reasons, you cannot 
-  use Draw Notes mode while using region-level editing.
-</p>
-
-<p>So, to summarize:</p>
-<dl class="wide-table">
-  <dt>Selecting, moving, copying, trimming, deleting <em>regions</em></dt>
-  <dd>
-    leave <kbd class="menu">Note Level Editing</kbd> disabled, use object, 
-    range or other mouse modes
-  </dd>
-  <dt>Selecting, moving, copying trimming, deleting <em>notes</em></dt>
-  <dd>enable <kbd class="menu">Note Level Editing</kbd>and use mouse object mode</dd>
-  <dt>Adding new notes</dt>
-  <dd>
-    enable "Note Level Editing" and then either
-    <ul>
-      <li>use mouse object mode and <kbd class="mouse mod1">Left</kbd>-drag,
-      or</li>
-      <li>use mouse draw mode.</li>
-    </ul>
-  </dd>
-</dl>
-<p>
-  Note that is also a 
-  <a href="/working-with-midi/step-entry/">a step entry editor</a> 
-  allowing you to enter notes from a virtual keyboard and lots more besides.
-</p>
-  
diff --git a/_manual/12_working-with-midi/05_change-note-properties.html b/_manual/12_working-with-midi/05_change-note-properties.html
deleted file mode 100644 (file)
index b8bb672..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
----
-layout: default
-title: Change Note Properties
----                        
-
-<p>
-  You can view all the details about a selected note by context-clicking on 
-  it. The dialog that pops up will also allow you to modify all the properties 
-  of the selected note(s). You can modify individual properties more efficiently 
-  using the techniques described below.
-</p>
-
-<dl>
-  <dt>Moving notes</dt>
-  <dd>
-    Right arrow and Left arrow move the selected note(s) early and later in time.
-  </dd>
-  <dt>Changing pitch values</dt>
-  <dd>
-    <kbd>&uarr;</kbd> increases the pitch of the selected notes.<br />
-    <kbd>&darr;</kbd> reduces the pitch of the selected notes.<br />
-    If any of the selected notes are already at the maximum or minimum value, 
-    no changes will be made to any of the notes, to preserve relative pitches. 
-    You can override this with <kbd class="mod2"> </kbd>. The default shift 
-    distance is one semitone. Use <kbd class="mod3"> </kbd> to alter this to 
-    one octave.
-  </dd>
-  <dt>Changing velocity values</dt>
-  <dd>
-    <kbd class="mod1">&uarr;</kbd> increases the velocity of the selected notes.
-    <br/>
-    <kbd class="mod1">&darr;</kbd> reduces the velocity of the selected
-    notes.<br />
-    If any of the selected notes are already at the maximum or minumum value, 
-    no changes will be made to any of the notes, to preserve relative velocities. 
-    You can override this with <kbd class="mod2"> </kbd>.
-    You can also press <kbd>v</kbd> to popup a dialog that will allow you to set 
-    the absolute velocity value of each selected note. Finally, the scroll wheel 
-    <kbd class="mouse">&uArr;</kbd> <kbd class="mouse">&dArr;</kbd> will also 
-    adjust notes in the same way as the arrow keys (note that like the arrow keys 
-    it only affects selected notes, not the note the pointer is over). 
-  </dd>
-  <dt>Changing channel</dt>
-  <dd>
-    Press <kbd>c</kbd> to bring up a dialog that allow you to see and alter the 
-    MIDI channel of the selected notes. If the selected notes use different 
-    channels, they will all be forced to the newly selected channel.
-  </dd>
-  <dt>Changing start/end/duration</dt>
-  <dd>
-    <kbd>,</kbd> (comma) will alter the start time of the note. <br />
-    <kbd>.</kbd> (period) will alter the end time of the note. Both keys will by 
-    default make the note longer (either by moving the start earlier or the end 
-    later). For the opposite effect, use <kbd class="mod1">,</kbd>/<kbd
-    class="mod1">.</kbd>. The note will be altered by the current grid setting. 
-    To change the start/end positions by 1/128th of a beat, use the <kbd
-    class="mod2"> </kbd> modifier in addition to these shortcuts.
-  </dd>
-  <dt>Quantization</dt>
-  <dd>
-    <kbd>q</kbd> will quantize the selected notes using the current quantize 
-    settings. If the quantize settings have not been set for this session yet, 
-    the quantize dialog will appear. <kbd class="mod2">q</kbd> will display the 
-    quantize dialog to allow you to reset the quantize settings, and then 
-    quantizes the selected notes. The default quantize settings are: quantize 
-    note starts to the current grid setting, no swing, no threshold, full 
-    strength.
-  </dd>
-  <dt>Step Entry, Quantize etc.</dt>
-  <dd></dd>
-</dl> 
diff --git a/_manual/12_working-with-midi/06_handle-overlapping-notes.html b/_manual/12_working-with-midi/06_handle-overlapping-notes.html
deleted file mode 100644 (file)
index 9be7268..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
----
-layout: default
-title: Handling Overlapping Notes
-menu_title: Overlapping Notes
----                        
-  
-<p>
-  Every MIDI note consists of two messages, a NoteOn and a NoteOff. Each one 
-  has a note number and a channel (also a velocity, but that isn't relevant 
-  here). The MIDI standard stresses that it is invalid to send a second NoteOn 
-  for the same note number on the same channel before a NoteOff for the first 
-  NoteOn. It is more or less impossible to do this with a physical MIDI 
-  controller such as a keyboard, but remarkably easy to trigger when editing 
-  in a DAW - simply overlapping two instances of the same note will do it.
-</p>
-<p>
-  Ardour offers many options for how to deal with instances where you overlap 
-  two instances of the same note. Which one to use is a per-session property 
-  and can be modified from <kbd class="menu">Session &gt; Properties &gt; Misc &gt; MIDI
-  Options</kbd>.
-</p>
-
-<dl class="wide-table">
-  <dt>never allow them</dt>
-  <dd>Edits that would create note overlaps are not allowed</dd>
-  <dt>don't do anything in particular</dt>
-  <dd>Ardour leaves overlapping notes alone &mdash; the behaviour of a MIDI receiver (plugin or hardware) is undefined</dd>
-  <dt>replace any overlapped existing note</dt>
-  <dd>When one note is moved to overlap another, remove the one that wasn't being moved</dd>
-  <dt>shorten the overlapped existing note</dt>
-  <dd>When one note is moved to overlap another, shorten the one that wasn't moved so that there is no overlap</dd>
-  <dt>shorten the overlapping new note</dt>
-  <dd>When one note is moved to overlap another, shorten the one that was moved so that there is no overlap</dd>
-  <dt>replace both overlapping notes with a single note</dt>
-  <dd>When one note is moved to overlap another, merge them both to form one (longer) note</dd>
-</dl>
-<p>
-  Changing the option in use will not retroactively make changes &mdash; it will 
-  only affect new note overlaps created while the option remains chosen.
-</p>
-<p class="warning">
-  Ardour does not check for note overlaps across tracks or even across regions. 
-  If you create these, it is your responsibility to deal with the consequences.
-</p>
-  
diff --git a/_manual/12_working-with-midi/07_note-cut-copy-and-paste-.html b/_manual/12_working-with-midi/07_note-cut-copy-and-paste-.html
deleted file mode 100644 (file)
index 8168edb..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: default
-title: Note Cut, Copy and Paste 
----                        
-  
-<p>
-  While in note edit mode, selected notes can be cut using 
-  <kbd class="mod1">x</kbd>, copied with <kbd class="mod1">c</kbd> and 
-  deleted with <kbd>Delete</kbd>, just as regions can. Once cut or 
-  copied, they can be pasted at the edit point using 
-  <kbd class="mod1">v</kbd>.
-</p>
-  
diff --git a/_manual/12_working-with-midi/08_note-selection.html b/_manual/12_working-with-midi/08_note-selection.html
deleted file mode 100644 (file)
index 2e24288..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
----
-layout: default
-title: Note Selection
----                        
-
-<h2>Selecting/Navigating note-by-note</h2>
-<p>
-  Tab selects the next note. <kbd class="mod1">Tab</kbd> selects the previous 
-  note. <kbd class="mod3">Tab</kbd> or <kbd class="mod13">Tab</kbd> adds 
-  the next/previous note to the selection.
-</p>
-
-<h2>Selecting notes with the mouse</h2>
-<p>
-  While in mouse object mode, you can click on a note to select it. Once you 
-  have selected one note, <kbd class="mouse mod3">Left</kbd>-click on another 
-  to select all notes between them. To add or remove a note to/from the 
-  selection, click <kbd class="mouse mod1">Left</kbd>. You can also click and 
-  drag outside of a note to <dfn>rubberband select</dfn> a series of notes.
-</p>
-<p>
-  Three different selection operations are possible if you switch to mouse 
-  range mode:
-</p>
-<ul>
-  <li>
-    Vertical drags within the MIDI region will select all notes within the 
-    spanned note range.
-  </li>
-  <li>
-    Clicks on the piano header of the track (if visible &mdash; the track must 
-    be tall enough to display it) will select all occurences of that note.
-  </li>
-  <li>
-    Drags on the piano header of the track will select all notes within the 
-    spanned note range.
-  </li>
-</ul>
-
-<h2>Listening to Selected Notes</h2>
-<p>
-  If <kbd class="menu">Edit &gt; Preferences &gt; MIDI &gt; Sound MIDI notes 
-  as they are selected</kbd> is enabled, Ardour will send a pair of 
-  NoteOn/NoteOff messages through the track, which will typically allow you to 
-  hear each note as it is selected.
-</p>
-  
diff --git a/_manual/12_working-with-midi/09_quantize-midi.html b/_manual/12_working-with-midi/09_quantize-midi.html
deleted file mode 100644 (file)
index f2ccc99..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
----
-layout: default
-title: Quantize MIDI
----                        
-
-  
-<p><img src="/images/a3_quantize.png" alt="quantize dialog" /></p>
-<p>Accessed via <kbd>q</kbd>, the dialog includes:</p>
-<ul>
-  <li>Options for grid, legato amd groove quantize</li>
-  <li>Snap note start, or end</li>
-  <li>Snap to current grid, or many beat subdivisions</li>
-  <li>Quantize threshold (how far away from a chosen position a note must be in order to be quantized)</li>
-  <li>Strength (how close to move a note to its new position, as a percentage of the nominal distance)</li>
-  <li>Swing</li>
-</ul>
diff --git a/_manual/12_working-with-midi/10_step-entry.html b/_manual/12_working-with-midi/10_step-entry.html
deleted file mode 100644 (file)
index 6db6c8f..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
----
-layout: default
-title: Step Entry
----                        
-
-<p>
-  Sometimes you will  want to edit MIDI data directly from a connected 
-  MIDI device like a music keyboard or pad controller. Sometimes you will
-  want to use the mouse. Sometimes you'll want the fine-grain control, 
-  precision and speed of entry that comes from using a custom note entry 
-  dialog. 
-</p>
-<p>
-  The step entry dialog is accessed via a right click context menu on the 
-  rec-enable button, because step entry is related to <em>recording</em> 
-  MIDI data. You cannot simultaneously step edit and record MIDI via the 
-  track's MIDI port.
-</p>
-<img src="/images/a3_step_entry.png" />
-<p>The dialog (quite closely modelled on Logic's) contains:</p>
-<ul>
-  <li>
-    Chord entry switch (successive notes are stacked in a chord until
-    it is released)</li>
-  <li>Note length selectors</li>
-  <li>Triplet toggle</li>
-  <li>Normal, single, double and triple dotted note selectors</li>
-  <li>Sustain button</li>
-  <li>Buttons to:
-    <ul>
-     <li>Insert a rest of the current selected note duration</li>
-     <li>Insert a rest of the current grid step size</li>
-     <li>Move back to the last inserted note</li>
-     <li>Move forward to the next beat, or bar</li>
-     <li>Move forward to the edit point</li>
-    </ul>
-  </li>
-  <li>Dynamics controls from pianississimo to fortississimo</li>
-  <li>Channel selector</li>
-  <li>
-    Explicit numerical velocity selector, for more precise control 
-    than the dynamics selectors offer
-  </li>
-  <li>Octave selector</li>
-  <li>Buttons to add bank or program change events</li>
-  <li>a full 10 octave virtual keyboard</li>
-</ul>
-<p>
-  More or less all actions in the step entry dialog can be driven 
-  directly from the keyboard, so you do not need to keep moving back 
-  and forth from keyboard to mouse to do complex data insertion.
-</p>
diff --git a/_manual/12_working-with-midi/11_patch-change.html b/_manual/12_working-with-midi/11_patch-change.html
deleted file mode 100644 (file)
index b87d005..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: default
-title: Patch Change
----
-
-<p>
-  A <dfn>patch change</dfn> is Ardour's description for a combination
-  of MIDI program change and bank select messages, that (typically)
-  instruct a synthesizer or sampler to select a different sound to use
-  on a particular channel.
-</p>
-<p>
-  Patch changes are shown within MIDI regions as small rectangles or
-  <dfn>flags</dfn>, as shown below:
-</p>
-
-<h2>Inserting Patch Changes</h2>
-<p>
-  Ensure that the
-  <a href="/ardours-interface/the-edit-point-control/">edit point</a> is 
-  located where you want the patch change to be (within an existing
-  MIDI region). Context click, and from the MIDI region's context menu,
-  select <kbd class="menu">MIDI &gt; Insert Patch Change</kbd>. A
-  dialog will appear allowing you to set the bank and program values.
-</p>
-
-<h2>Modifying Patch Changes</h2>
-<p>
-  Context-clicking on a patch change will bring up the same dialog that
-  was used to create it, allowing you to modify the program and/or bank
-  numbers.
-</p>
-<p>
-  You can also use the mouse wheel: <kbd class="mouse">&uArr;</kbd>/<kbd
-  class="mouse">&dArr;</kbd> on the patch change will alter the program
-  number, <kbd class="mouse mod1">&uArr;</kbd>/<kbd
-  class="mouse mod1">&dArr;</kbd> will modify the bank number.
-</p>
-
-<h2>Moving Patch Changes</h2>
-<p>
-  Just <kbd class="mouse">Left</kbd>-drag on the patch change to move it
-  around.
-</p>
-
-<h2>Removing Patch Changes</h2>
-<p>
-  Put the mouse pointer into the rectangular area, and press <kbd>Del</kbd>
-  or use the delete mouse button operation. This will remove the patch change
-  (the operation can be undone).
-</p>
-
-<h2>Names for Patch Numbers: MIDNAM files</h2>
-<p>
-  ...
-</p>
diff --git a/_manual/12_working-with-midi/12_copy-midi-region.html b/_manual/12_working-with-midi/12_copy-midi-region.html
deleted file mode 100644 (file)
index 60d2d32..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: default
-title: Independent and Dependent MIDI Region Copies
-menu_title: Copy MIDI Region
----
-
-<p>
-  When <dfn>copying a MIDI region</dfn>, Ardour has to decide whether to make the
-  copy refer to the same data as the original or not. If it does refer
-  to the same data, then editing either the copy or the original will
-  affect the both of them. If it refers to an independent copy of the
-  data then each one can be edited without affecting the other.
-</p>
-
-<h2>Changing dependent/independent copying for the entire session</h2>
-
-<p>
-  <kbd class="menu">Sesson &gt; Properties &gt; Misc &gt; MIDI region copies are
-  independent</kbd> can be used to control the default behaviour when
-  making a copy of a MIDI region. 
-</p>
-<p>
-  When enabled, every new copy of a MIDI
-  region results in a copy being made of the MIDI data used by the
-  region, and the new copy of the region will refer to that data. 
-</p>
-<p>
-  When disabled, every new copy of a MIDI region will refer to the same
-  MIDI data, and thus editing any copy will change the contents of all
-  of them.
-</p>
-<p>
-  Changing the status of this option has no effect on the existing
-  dependent/independent status of existing region copies.
-</p>
-
-<h2>Making an existing copy of a MIDI region independent</h2>
-<p>
-  Context-click on the MIDI region you want to be
-  independent. From the context menu, select <kbd class="menu">MIDI &gt; Unlink From
-  Other Copies</kbd>. The copy is now using an independent version of
-  the data, and edits to the copy will affect only the copy. Other
-  copies will continue to share data.
-</p>
-
-<p class="note">
-  Note that the copied data only covers the extent of the region when
-  the copy is made. If the region was already trimmed and then a copy
-  is made, an independent copy will have no access to data that is
-  earlier or later than the bounds of the region it was copied
-  from. Put differently, if you make an independent copy of a trimmed
-  MIDI region, you cannot "untrim" it to a larger size.
-</p>
diff --git a/_manual/12_working-with-midi/13_transpose-midi.html b/_manual/12_working-with-midi/13_transpose-midi.html
deleted file mode 100644 (file)
index 4eefd2c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: default
-title: Transposing MIDI
-menu_title: Transposing MIDI
----                        
-
-<img src="/images/transpose_midi.png" alt="transpose dialog" />
-
-<p>To transpose a whole region at once, you can access the "transpose" dialog, by right clicking a region &gt; <em>name_of_the_midi_region</em> &gt; MIDI &gt; Transpose...</p>
-
-<p>This very simple dialog allows to choose either a number of semitones to add or substract to all the notes inside the region, and/or for more significant changes, octaves (12 semitones).</p>
diff --git a/_manual/12_working-with-midi/14_automation-midi.html b/_manual/12_working-with-midi/14_automation-midi.html
deleted file mode 100644 (file)
index 0abb57e..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout: default
-title: Automating MIDI - Pitch bending and aftertouch
-menu_title: Automating MIDI
----                        
-
-<p>Adding pitch bending or aftertouch can add a lot of subtlety to an otherwise plain sounding midi region and help humanize it.</p>
-
-<img src="/images/MIDI_pitch_bending.png" alt="Automation : pitch bending" />
-
-<p>Pitch bending and aftertouch both work the same way, through automation. Right click the MIDI track's header &gt; Automation &gt; Bender <em>(or Pressure)</em> &gt; <em>choose the channel you want to bend</em>.</p>
-
-<p>Using the Draw tool, as for all the automation, allows to create a gradual change from one drawn point to another. A line in the center produces no change to the pitch, while a line above the center will bend the pitch to a higher note (up to 4 semitones) and a line going under the middle will bend the pitch to a lower note.</p>
-
-<p>The values can be anything between 0 (-4 semitones) to 16383 (+4 semitones). No automation or a value of 8192 means no pitch shifting.</p>
-
-<p>Aftertouch works very similarly, though the values are between 0 and 127. It should be noted that aftertouch differs from velocity, as aftertouch allows to slightly change the timbre or create a vibrato, while the velocity sets the power with which the note is played (e.g. on a keyboard, the key is hit).</p>
diff --git a/_manual/12_working-with-midi/15_transformation-midi.html b/_manual/12_working-with-midi/15_transformation-midi.html
deleted file mode 100644 (file)
index bbc9af7..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
----
-layout: default
-title: Transforming MIDI - Mathematical operations
-menu_title: Transforming MIDI
----                        
-
-<p>Considering the numerical nature of MIDI events, it can be tempting to apply mathematical transformations to our MIDI regions by using mathematical operations. Ardour makes it very easy and powerfull with the Transform tool.</p>
-  
-<img src="/images/MIDI_transform.png" alt="MIDI transformation" />
-
-<p>To access the Transform tool, right click the MIDI region &gt; <em>name_of_the_region</em> &gt; MIDI &gt; Transform...</p>
-
-<p>First, select the property you want to modify in the 'Set' field, then change the target value using the 2 following fields. If you want to add more operands, click the "+" sign to create new lines. You can remove a superfluous line using the "-" sign on the right of the newly created line.</p>
-
-<p>In the picture above, we've used the Transform tool to add a bit of humanisation, by slightly changing the velocity of each note of the region, by a random number between -19 and +19 from it's original velocity. So we've used 3 operations :</p>
-
-<ul>
-       <li>Set velocity to this note's velocity</li>
-       <li>+ a random number from 1 to 20</li>
-       <li>- a random number from 1 to 20</li>
-</ul>
-
-<p>Each note will trigger a calculation of its own, so its velocity will be increased by a random number between 1 and 20, then decreased by a random number between 1 and 20.</p>
-
-<p>The properties that can be computed are :</p>
-
-<ul>
-       <li>note number (eg C2 is note number 24, C#2 is 25 and so on)</li>
-       <li>velocity (the global intensity of the note, between 0 and 127)</li>
-       <li>start time (in beats)</li>
-       <li>length (in beats)</li>
-       <li>channel</li>
-</ul>
-
-<p>and the calculation may be based on the following properties :</p>
-
-<ul>
-       <li>this note's</li>
-       <li>the previous note's</li>
-       <li>this note's index (number of the note, i.e. the first one is 0, the second is 1, etc.)</li>
-       <li>exactly (for a constant value, between 1 and 127)</li>
-       <li>a random number from <em>lower</em> to <em>higher</em> (<em>lower</em> and <em>higher</em> beeing constant values between 1 and 127)</li>
-       <li>equal steps from <em>lower</em> to <em>higher</em> (<em>lower</em> and <em>higher</em> beeing constant values between 1 and 127)</li>
-</ul>
-
-<p>The mathematical operators can be :</p>
-
-<ul>
-       <li>+ (addition)</li>
-       <li>- (substration)</li>
-       <li>* (multiplication)</li>
-       <li>/ (euclidian division)</li>
-       <li>mod (rest of the euclidian division)</li>
-</ul>
-
-<p>All this operations can be very handy, as long as you find a mathematical way to achieve your goal. Beware though of odd "border cases" : division by zero (which does nothing), using the note's index and forgetting it starts at 0 and not 1, etc.<p>
-
-<p>You can nevertheless create very interesting results, like humanizing (randomizing the velocity, start time and duration of all the notes), creating arpeggios, automating tedious tasks, transposing, etc.</p>
diff --git a/_manual/13_working-with-plugins.html b/_manual/13_working-with-plugins.html
deleted file mode 100644 (file)
index 61667c5..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
----
-layout: default
-title: Working With Plugins
----                        
-
-
-
-<p><dfn>Plugins</dfn> are bits of software that get loaded by Ardour in order to:</p>
-<ul>
-  <li>Create various audio or MIDI effects
-  </li>
-  <li>Generate audio by functioning as "software instruments"
-  </li>
-</ul>
-
-<p>Ardour does not come with any built-in signal processors of its own
-(other than volume faders) and it also generally doesn't ship with any
-plugins. They are written by 3rd parties, though we do provide <a href="/working-with-plugins/getting-plugins/">some
-  information on how to get them</a>.
-</p>
-
-<p>
-Ardour supports a variety of different plugin standards:
-</p>
-<dl class="narrower-table">
-
-  <dt><abbr title="Linux Audio Developers' Simple Plugin API">LADSPA</abbr></dt>
-  <dd>An early, simple, lightweight plugin <abbr title="Application
-  Programming Interface">API</abbr>, audio effects only,
-  plugins have no editors/GUI of their own (Ardour provides one, however).</dd>
-  <dt><abbr title="LADSPA Version 2">LV2</abbr></dt>
-  <dd>An extensible, full-featured plugin API, audio and <abbr
-  title="Musical Instrument Digital Interface">MIDI</abbr>, plugins can provide their
-  own  <abbr title="Graphical User Interface">GUI</abbr>s</dd>
-  <dt><abbr title="Audio Unit">AU</abbr></dt>
-  <dd>OS X only, full featured, audio and MIDI, plugins can provide their own GUI</dd>
-
-  <dt><abbr title="Virtual Studio Technology">VST</abbr></dt>
-  <dd>Plugins using Steinberg's VST plugin standard. Varies by platform:
-    <dl>
-    <dt>on Linux</dt><dd>(native) Linux VST plugins fully supported (VST2.4)</dd>
-    <dt>on Windows</dt><dd>(native) Windows VST plugins fully supported (VST2.4)</dd>
-    <dt>on OS X</dt><dd>Not supported, unless you use a VST&lt;&gt;AU
-    bridge plugin. Similar to Apple's Logic DAW.</dd>
-  </dl>
-  </dd>
-
-  <dt>Windows VST Plugins on Linux</dt>
-  <dd>VST plugins for Windows, but being used on Linux. <em>Not
-  supported by normal builds of Ardour. <a href="/working-with-plugins/windows-vst-support/">Read
-  more...</a></em>
-  </dd>
-</dl>
-
-<h2>Adding/Removing/Copying Plugins</h2>
-
-<p>Within Ardour, plugins are just another type
-of <dfn>Processor</dfn> and so the techniques for
-adding/removing/copying/moving processors apply to plugins as
-well. These techniques are covered on
-the <a href="/working-with-plugins/processor-box/">Processor
-Box</a> page.</p>
-
-{% children %}
diff --git a/_manual/13_working-with-plugins/01_managing-plugin-presets.html b/_manual/13_working-with-plugins/01_managing-plugin-presets.html
deleted file mode 100644 (file)
index a066d1c..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: default
-title: Managing Plugin Presets
----                        
-  
-<p>
-  All plugin control widgets, whether they are created by Ardour or 
-  by the plugin, have a common set of controls at the top of the window. 
-  These include 4 controls for managing <dfn>plugin presets</dfn>.
-</p>
-
-<h2>What Is a Plugin Preset?</h2>
-<p>
-  A <dfn>preset</dfn> for a plugin is simply a saved set of values for 
-  all of a plugin's parameters. If you load a preset, you are restoring 
-  all the parameters of that plugin to the values stored in the preset. 
-  This is an easy, fast way to manage your preferred settings for 
-  particular plugins.
-</p>
-
-<h2>The Preset Selector</h2>
-<p>
-  The <dfn>preset selector</dfn> is a regular selector that can be 
-  clicked to display a list of all known presets for this plugin. This 
-  will include presets that you have created yourself, and for some 
-  plugin formats, presets that come with the plugin itself. 
-</p>
-
-<h2>Load a New Preset</h2>
-<p>
-  Click on the preset selector to pop up a menu showing the names of 
-  all available presets. Click on the name of the preset you wish to load. 
-  The preset will be loaded &mdash; you may see various controls in the 
-  plugin editor change to reflect the new value of some or all parameters.
-</p>
-
-<h2>Create a Preset</h2>
-<p>
-  To save the current plugin settings as a new preset, click on the 
-  <kbd class="menu">Add</kbd> button at the top of the window. A dialog 
-  will appear to ask for the name of the preset. 
-</p>
-
-<h2>Save a Preset</h2>
-<p>
-  If you wish to modify the settings in an existing preset, first use 
-  the preset selector to load the preset, then adjust the settings as 
-  you wish. When done, click the <kbd class="menu">Save</kbd> button 
-  and the new values will be stored, overwriting the previous version 
-  of this preset.
-</p>
-
-<h2>Delete a preset</h2>
-<p>
-  To delete an existing preset, use the preset selector to load the preset. 
-  Click the <kbd class="menu">Delete</kbd> button, and the preset will be 
-  removed. The preset selector turn blank, showing that no preset is 
-  currently loaded (although the settings will stay as they were). 
-</p>
-  
diff --git a/_manual/13_working-with-plugins/02_plugin-manager.html b/_manual/13_working-with-plugins/02_plugin-manager.html
deleted file mode 100644 (file)
index da92570..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
----
-layout: default
-title: Plugin Manager
----
-
-<p>
-  The <dfn>Plugin Manager</dfn> serves two purposes. Primarily it is used to
-  control the display status of plugins. It can also be used to find and insert
-  plugins into the
-  <a href="/working-with-plugins/processor-box/">Processor Box</a>. It is
-  displayed either by a double-click in the <dfn>Processor Box</dfn> or by
-  choosing <kbd class="menu">New Plugin &gt; Plugin Manager...</kbd> from the
-  <dfn>Processor Box</dfn> context menu.
-</p>
-
-<p>
-  Displayed for each plugin is the status (normal, favorite, hidden),
-  name, type, category, creator (author), and the number of audio and MIDI
-  connections. The plugins can be sorted by clicking on a column header.
-</p>
-
-<img src="/images/a4_plugin_manager.png" alt="Plugin Manager window"/>
-
-<h2>Plugin Display Status</h2>
-
-<p>
-  Click on a Fav(orite) or Hide radio button to change a plugin's display status.
-  Clicking on an already selected radio button will cancel it, returning the
-  plugin to the normal display status. Plugins marked as a favorite show up in
-  the <dfn>Processor Box</dfn> context menu under
-  <kbd class="menu">New Plugin &gt; Favorites</kbd>. Setting the hide
-  radio button on a plugin will keep the plugin from showing in the
-  <dfn>Processor Box</dfn> context menus
-  <kbd class="menu">New Plugin &gt; By Creator</kbd> or
-  <kbd class="menu">New Plugin &gt; By Category</kbd>.
-</p>
-
-<h2>Filtering Listed Plugins</h2>
-
-<p>
-  The middle of the <dfn>Plugin Manager</dfn> is used to filter the listed
-  plugins. Typing into the text-box will filter the plugins based on the filter
-  mode selected by drop-down box. Clicking <kbd class="button">Clear</kbd>
-  empties the text-box.
-</p>
-
-<h2>Inserting Plugins in the Processor Box</h2>
-
-<p>
-  The bottom half of the plugin manager shows plugins that have been selected
-  for insertion into the <dfn>Processor Box</dfn>. A plugin can be added by
-  either double clicking the plugin entry in the top half, or, if already
-  selected in top half, by clicking <kbd class="button">Add</kbd>.
-<p>
-
-<p>
-  Plugins can be removed from the bottom half with a double click, or, if
-  already selected, by clicking <kbd class="button">Remove</kbd>.
-</p>
diff --git a/_manual/13_working-with-plugins/03_processor-box.html b/_manual/13_working-with-plugins/03_processor-box.html
deleted file mode 100644 (file)
index b47eaf1..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
----
-layout: default
-title: Processor Box
----                        
-
-<p>
-  In Ardour terminology, a <dfn>processor</dfn> is anything which treats the
-  signal in some way and gets plugged into a mixer strip. 
-  Ardour provides several builtin processors such as the fader or panners.
-  Processors can also be <dfn>plugins</dfn> used for effects or as instruments, as well 
-  as sends or inserts which are affect <a href="/signal-routing/">signal
-  routing</a>.<br />
-  The arrangement of processors is arbitrary, and there is no limit to how 
-  many there can be.
-</p>
-<p>
-  The main box in the top half of a mixer strip shows the <dfn>processor
-  box</dfn>. 
-  Processors are shown as coloured rectangles, with a small "LED" beside 
-  them that lights up when the processor is enabled. The colour of the 
-  processor depends on its location in the sequence; processors that are <dfn>pre-fader</dfn> are 
-  coloured in red, and <dfn>post-fader</dfn> processors are coloured green 
-  (in the default theme).</p>
-<p>
-  The processor box will always contain a blue <dfn>Fader</dfn> processor. 
-  This indicates where in the processor chain the main channel fader is 
-  located &mdash; this is the fader shown in the lower half of the strip.
-</p>
-<h2>Adding Processors</h2>
-<p>
-  Processors can be added to the chain by 
-  <kbd class="mouse">Right</kbd>-clicking in the processor list, This does three things:
-</p>
-<ul>
-  <li>A gap is opened up to indicate the location of the click. The gap 
-  shows where any new processors will be inserted.</li>
-  <li>The processor under the click is selected.</li>
-  <li>An options  menu is presented.</li>
-</ul>
-<p>
-  From the menu, new processors can be inserted.
-</p>
-
-<h2>To Reorder (Move) Processors</h2>
-<p>
-  Processors can be re-ordered using drag-and-drop. Dragging a processor 
-  allows it to be moved around within the chain, or copied to another 
-  processor list on another track or bus.
-</p>
-
-<h2>To Enable/Disable a Processor</h2>
-<p>
-  To the left of the name of each processor is a small LED symbol; if this 
-  is lit-up, the processor is active. Clicking on it will deactivate the
-  processor and effectively bypass it.</p>
-  
-<h2>Removing Processors</h2>
-<p>
-  Context-click on the processor you want to remove, and select <kbd
-  class="menu">Delete</kbd>, or <kbd class="mod3 mouse">Right</kbd>-click on it. 
-</p>
-  
diff --git a/_manual/13_working-with-plugins/04_plugin-sidebar.html b/_manual/13_working-with-plugins/04_plugin-sidebar.html
deleted file mode 100644 (file)
index c48e552..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: default
-title: Plugin Sidebar
----
-
-<p>
-  Since Version 4.5, Ardour has a plugin-sidebar on the top-left side of the
-       Mixer Window.
-       Like other elements in that sidebar it has variable height and can be hidden
-       by dragging it to zero-height. If it is not visible, grab the top-handle
-       and drag it down.
-</p>
-
-<img src="/images/a4_plugin_sidebar.png" alt="Plugin Sidebar"/>
-
-<h2>Features</h2>
-<p>
-  The Plugin sidebar provides easy access to common operations.
-       All interaction is done with the mouse and Drag/Drop.
-</p>
-<ul>
-       <li>The sidebar lists "favorite" plugins only.</li>
-       <li>Plugins can be dragged from the sidebar to any track or bus, which will add the plugin to that track/bus at the given position.</li>
-       <li>The list includes user-presets for the plugins. Dragging a preset to a given track/bus will load that preset after adding the plugin.</li>
-       <li>Double-click on a plugin or preset adds the given plugin to all selected tracks/busses pre-fader. Other insert positions are available from the context menu (right click).</li>
-</ul>
-<p>
-  The sidebar also allows to manage presets and favorites.
-</p>
-<ul>
-       <li>Dragging a plugin from a track into the sidebar will add it to the "favorites" and optionally create a new preset from the current settings.</li>
-       <li>The context-menu allows to delete presets or remove the plugin from the "favorite" list.</li>
-       <li>Plugins in the list can be re-ordered using drag/drop. The custom order is saved.</li>
-</ul>
-
-<p>
-       Note, when favorites are added with the <a href="/working-with-plugins/plugin-manager/">plugin-manager</a>, they are appended at the bottom of the list.
-</p>
diff --git a/_manual/13_working-with-plugins/05_windows-vst-support.html b/_manual/13_working-with-plugins/05_windows-vst-support.html
deleted file mode 100644 (file)
index e6c375e..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
----
-layout: default
-title: Using Windows VST Plugins on Linux
----                        
-
-<p>
-  Thanks to the combined work of Torben Hohn, Kjetil Mattheusen, Paul
-  Davis and a few other developers, it is possible to use Windows 
-  <dfn><abbr title="Virtual Studio Technology">VST</abbr>
-  plugins</dfn> (that is, plugins in VST format built and distributed 
-  for the Windows platforms) on Ardour running on Linux. (Note: there 
-  is no VST support of any kind on OS X).
-</p>
-
-<p>However, doing so has three substantial downsides:</p>
-<ul>
-  <li>It requires a special build of Ardour that is fundamentally 
-  very different from normal builds.</li>
-  <li>Support depends on <a href="http://winehq.org/">Wine</a>,
-  a Windows "emulator".</li>
-  <li>As usual with plugins, a crashing plugin will take Ardour down 
-  with it. And crashes in Windows VST plugins are more likely when 
-  used in this way.</li>
-</ul>
-
-<p>The dependence on Wine makes it almost impossible for the Ardour
-project to support this feature. Wine's functionality generally
-improves over time, but any given release of Wine may behave worse
-with some or all Windows VST plugins. It may even just crash Ardour
-completely.</p>
-
-<p>Step back and think about what "using Windows VSTs" really means:
-taking bits of software written with only one idea in mind - running
-on the Windows platform - and then trying to use them on an entirely
-different platform. It is a bit of a miracle (largely thanks to the
-incredible work done by the Wine project) that it works at all. But is
-this the basis of a stable, reliable DAW for a non-Windows platform?
-Getting Ardour on Linux to pretend that its really a Windows
-application running on Windows?</p>
-
-<p>We understand that there are many outstanding plugins available as
-Windows VSTs and that in many cases, no equivalent is available for
-Ardour's Linux-based users. If your workflow is so dependent on those
-plugins, then remain on Windows (or potentially consider using an
-actual Windows VST host running inside of Wine). If you can make the
-effort, you will get a better environment by using a normal build of
-Ardour and exploring the world of plugins built to run on Linux
-natively. This covers LADSPA, LV2 and Linux VST formats, and even some
-outstanding proprietary plugins such as those
-from <a href="http://www.linuxdsp.co.uk/">LinuxDSP</a>
-and <a href="http://www.loomer.co.uk/">Loomer</a>.
-</p>
-
-<h2>A Plea To Plugin Manufacturers</h2>
-<p>
-  Please consider porting your plugins so that users can enjoy them on
-  Linux too. Several other commercial plugin developers have already
-  done this. You can choose between using "Linux VST" (which is what
-  Loomer and others have done) - you will find toolkits like JUCE that
-  help to make this fairly easy - or using LV2 format which is
-  ultimately more flexible but probably more work. We have users -
-  thousands of users - on Linux who would like to use your plugins. 
-</p>
diff --git a/_manual/13_working-with-plugins/06_working-with-ardour-built-plugin-editors.html b/_manual/13_working-with-plugins/06_working-with-ardour-built-plugin-editors.html
deleted file mode 100644 (file)
index 89cfff0..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: default
-title: Working with Ardour-built Plugin Editors
----                        
-
-<p>
-  To view a plugin editor, double-click on the plugin within the 
-  <a href="/working-with-plugins/processor-box/">processor box</a>. 
-  A new window will appear showing the editor/GUI for the plugin.
-</p>  
-<p>
-  If a plugin does not have its own GUI, Ardour will construct a
-  <dfn>generic plugin editor</dfn> from a small set of common control 
-  elements. Ardour will do this even for plugins that have their 
-  own, if you disable <kbd class="menu">Edit &gt; Preferences &gt; 
-  GUI &gt; Use Plugins' own interface instead of Ardour's</kbd>
-</p>
-<p>
-  You can temporarily switch to the generic UI by context-clicking on 
-  a processor and selecting <kbd
-  class="menu">Edit with generic controls</kbd>. This will be necessary to
-  access the <a href="/automation/">plugin automation controls</a>.
-</p>
-<p>
-  In the generic UI, you can re-set any controller to its default by
-  <kbd class="mod3 mouse">Left</kbd>-clicking on it.
-</p>
-
-  
diff --git a/_manual/13_working-with-plugins/07_getting-plugins.html b/_manual/13_working-with-plugins/07_getting-plugins.html
deleted file mode 100644 (file)
index 1b42437..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
----
-layout: default
-title: Getting Plugins
----
-
-<p>
-  The following list shows <dfn>plugin packages</dfn>. In some cases, 
-  a package contains just 1 or 2 plugins; in other cases, dozens.
-</p>
-
-<h2>Plugins by Standard</h2>
-
-<h3 id="LADSPA">LADSPA</h3>
-
-<ul>
-<li>AMB <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a>
-</li>
-<li>Blepvco <a href="http://smbolton.com/linux.html">http://www.smbolton.com/linux.html</a>
-</li>
-<li>Blop <a href="http://blop.sourceforge.net/">http://blop.sourceforge.net/</a>
-</li>
-<li>CAPS <a href="http://quitte.de/dsp/caps.html">http://quitte.de/dsp/caps.html</a>
-</li>
-<li>CMT <a href="http://www.ladspa.org/cmt/">http://www.ladspa.org/cmt/</a>
-</li>
-<li>FIL <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a>
-</li>
-<li>FOO <a href="http://code.google.com/p/foo-plugins/">http://code.google.com/p/foo-plugins/</a>
-</li>
-<li>MCP <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a>
-</li>
-<li>NJL <a href="https://github.com/tialaramex/njl-plugins">https://github.com/tialaramex/njl-plugins</a>
-</li>
-<li>Omins <a href="http://www.nongnu.org/om-synth/omins.html">http://www.nongnu.org/om-synth/omins.html</a>
-</li>
-<li>REV <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a>
-</li>
-<li>SWH <a href="http://plugin.org.uk/">http://plugin.org.uk/</a>
-</li>
-<li>TAP <a href="http://tap-plugins.sourceforge.net/">http://tap-plugins.sourceforge.net/</a>
-</li>
-<li>VCF <a href="http://users.suse.com/~mana/ladspa.html">http://www.suse.de/~mana/ladspa.html</a>
-</li>
-<li>VCO <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a>
-</li>
-<li>VLevel <a href="http://vlevel.sourceforge.net/about/">http://vlevel.sourceforge.net/</a>
-</li>
-<li>Vocoder <a href="http://www.sirlab.de/linux/download_vocoder.html">http://www.sirlab.de/linux/download_vocoder.html</a>
-</li>
-<li>WASP <a href="http://linux01.gwdg.de/~nlissne/wasp/index.html">http://linux01.gwdg.de/~nlissne/wasp/index.html</a> (mar wanted!)
-</li>
-<li>Nova <a href="http://klingt.org/~tim/nova-filters/">http://klingt.org/~tim/nova-filters/</a>
-</li>
-<li>Calf <a href="http://calf.sourceforge.net/">http://calf.sourceforge.net/</a>
-</li>
-<li>Socal’s LEET Plugins <a href="http://code.google.com/p/leetplugins/">http://code.google.com/p/leetplugins/</a>
-</li>
-<!--<li>Holap synthesizer and DSP effects <a href="http://holap.berlios.de/">http://holap.berlios.de/</a>
-</li>-->
-</ul>
-
-<h3 id="LV2">LV2</h3>
-
-<ul>
-<li>SWH <a href="http://plugin.org.uk/lv2/">http://plugin.org.uk/lv2/</a>
-</li>
-<li>ll-plugins <a href="http://ll-plugins.nongnu.org/">http://ll-plugins.nongnu.org/</a>
-</li>
-<li>zynadd <a href="http://home.gna.org/zyn/">http://home.gna.org/zyn/</a>
-</li>
-<li>Calf <a href="http://calf.sourceforge.net/">http://calf.sourceforge.net/</a>
-</li>
-<li>LinuxDSP <a href="http://www.overtonedsp.co.uk/download/linuxdsp-archive/">http://www.overtonedsp.co.uk/download/linuxdsp-archive/</a>
-</li>
-  <li>Invada Studio <a href="https://launchpad.net/invada-studio/">https://launchpad.net/invada-studio/</a></li>
-</ul>
-
-<h3 id="LinuxVST">Linux VST (LXVST)</h3>
-
-<ul>
-  <li>Loomer <a href="http://www.loomer.co.uk/">http://www.loomer.co.uk/</a></li>
-  <li>Distrho <a href="http://distrho.sourceforge.net/ports.php">http://distrho.sourceforge.net/ports.php</a></li>
-  <li>Argotlunar <a href="http://argotlunar.info/">http://argotlunar.info/</a></li>
-</ul>
-
-<h2>How do I install plugins?</h2>
-
-<h3>Linux</h3>
-
-<p>
-  <dfn>Installation</dfn> will vary a little depending on how you get plugins.  If
-  your repository has a particular plugin package, just install it using
-  the normal software package management tool for your system. Most
-  Linux distributions that are good for audio work will have most of
-  the LADSPA and LV2 plugins mentioned above available in ready-to-use
-  forms. 
-</p>
-<p>
-  Finding them will typically require <em>searching</em> your
-  distribution's repository to find the name of the package. The tools
-  for doing this vary from distribution to distribution. A good place
-  to start searching is with the name of the package (e.g. "caps" or
-  "calf"). There are no fixed rules about what different Linux
-  distributions call their packages for a given set of plugins.
-</p>
-<p>
-  If the package isn't available, then you can build the plugins from
-  source (plugins are generally fairly easy to compile if you've ever
-  done this sort of thing before).
-</p>
-<p>
-  LADSPA plugins are shared library files. They need to be installed
-  in either /usr/lib/ladspa, /usr/local/lib/ladspa or in a directory
-  mentioned in your LADSPA_PATH environment variable.
-</p>
-<p>
-  LV2 plugins are folders/directories. They need to
-  installed in either /usr/lib/lv2, /usr/local/lib/lv2 or a directory
-  mentioned in your LV2_PATH environment variable.
-</p>
-<p>
-  Linux VST (LXVST) plugins are distributed as shared library
-  files. They are typically installed in /usr/lib/lxvst,
-  /usr/local/lib/lxvst or a directory mentioned in your LXVST_PATH
-  environment variable. 
-</p>
-
-<h3>OS X</h3>
-<p>
-  Unless you're a particularly technical computer user, building and
-  installing plugins in the LV2 (or LADSPA) format is probably not
-  something worth planning on. 
-</p>
-<p>
-  Most of the plugins you are likely to use on OS X will be in Apple's
-  AudioUnit format. These have their own installation process that tends to
-  just work.
-</p>
-
diff --git a/_manual/14_working-with-tempo-and-meter.html b/_manual/14_working-with-tempo-and-meter.html
deleted file mode 100644 (file)
index 01031b0..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
----
-layout: default
-title: Working with Tempo and Meter
-menu_title: Working with Tempo and Meter
----
-
-<p>Tempo and meter belong together. without both, there is no way to know where a beat lies in time.</p>
-
-<p>Tempo provides a musical pulse, which is divided into beats and bars by a meter.
-  When you change tempo or move an audio-locked meter, all objects on the timeline that are glued to bars and beats (locations, regions) will move in sympathy.
-</p>
-<p class="note">When performing meter or tempo operations, it is advised that you show the BBT ruler (available by right-clicking an existing marker or ruler name),
-  and ensure that the constraint modifier is set (in Preferences->User Interaction) so that no other modifiers share its key combination.<br>
-  The constraint modifier is the "Constrain drags using : " setting under the "When Beginning a Drag" heading. One viable setting is <kbd class="mod1"></kbd><kbd class="mod3"></kbd>.
-</p>
-
-<h3>Tempo</h3>
-<p>Tempo can be adjusted in several ways:
-
-<ul><li>by double clicking on a tempo marker.
-This opens the tempo dialog which will allow you to enter the tempo directly into an entry box.
-</li>
-
-<li>  by using the constraint modifier (which is set in Preferences->User Interaction) to drag the beat/bars in the BBT ruler or the tempo/meter lines.
-This is the preferred way to match the tempo to previously recorded material.</li>
-<p class ="note">
-  NOTE - When dragging the BBT ruler, musical snap has no effect, however be warned that non-musical snap is in effect if enabled.
-       Snapping to a minute while dragging a beat may result in some verly slow tempos.
-       Snapping a beat to a video frame however is an incredibly useful way to ensure your soundtrack is punchy and synchronised to the sample.
-</p>
-<li>by holding down the constaint modifier while dragging a tempo vertically.
-This is used for more complex tempo solving, as it allows you to change the position and tempo of a tempo marker in the same drag,
-it is, however, a useful way to adjust the first tempo for a quick result.
-</li></ul>
-</p>
-<p>A tempo may be locked to audio or musical time. You may change this by right-clicking on a tempo.
-If a tempo is locked to music, an entry will be available to lock it to audio.
-Similarly an audio-locked tempo may be locked to music by right clicking it an selecting the "Lock to Music" entry.
-</p>
-<p>Audio locked tempo marks stay in their frame position as their neigbours positions are altered. Their pulse (musical) position will change as their neighbours move.
-Music locked tempo marks move their frame position as their neighbours are moved, but keep their pulse position (they will move as the music is moved).
-</p>
-<br>
-<p>A tempo may be remped or constant.
-
-  <ul>
-    <li>A constant tempo will keep the sesion tempo constant until the next tempo section, at which time it will jump instantly to the next tempo.
-      These are mostly useful abrupt changes, and is the way in which traditional DAWs deal with tempo changes (abrupt jumps in tempo).
-      <br>
-  </li>
-
-    <li>A ramped tempo increases its tempo over time so that when the next tempo section has arrived, the sesion tempo is the same as the second one.
-This is useful for matching the session tempo to music which has been recorded without a metronome.
-Ramps may also be used as a compositional tool, but more on this later.
-Note that a ramp requires two points - a start and an end tempo. The first tempo in a new session is ramped, but appears to be constant as it has no tempo to ramp to. It is only when you add a new tempo and adjust one of them that you will hear a ramp.
-      The same applies to the last tempo in the session - it will always appear to be constant until a new last tempo is added and changed.
-  </li>
-  </ul>
-</p>
-<br>
-<p>
-  <img src="/images/constant-tempo.png" alt="A constant tempo displaying the tempo at the playhead in the audio clock">
-  <br>
-  A series of constant tempo markers. The tempo at the playhead position is the same as the previous tempo.
-</p>
-<br>
-<p>
-  <img src="/images/ramped-tempo.png" alt="A ramped tempo displaying the tempo at the playhead in the audio clock">
-  <br>
-  A ramped tempo marker. The tempo at the playhead position is approaching the second tempo. Because the playhead is equidistant (in beats) between the
-  two markers, the tempo at the playhead is the average of the two.
-</p>
-<br>
-<p>To add a new tempo, use the primary modifier and click on the tempo line at the desired position.
-The new tempo will be the same as the tempo at the position of the mouse click (it will not change the shape of the ramp).
-</p>
-<p>To copy a tempo, hold down the primary modifier and drag the tempo you wish to copy.</p>
-
-<h3>Meter</h3>
-<p>Meter positions beats using the musical pulse of a tempo, and groups them into bars using its number of divisions per bar.
-</p>
-<p>The first meter in a new session may be moved freely. It has an associated tempo which cannot be dragged by itself (although all others can).
-It can be moved freely and is locked to audio.
-</p>
-<p>New meters are locked to music.
-They may only occur on a bar line if music locked.
-</p>
-<p>
-An audio locked meter provides a way to cope with musical passages which have no meter (rubato, pause), or to allow a film composer to insert
-a break in music which cannot be counted in beats.
-</p>
-<p>If a meter is audio-locked, its bar number is fixed from the point at which it left the main score.
-That bar number cannot be changed, nor can tempo motion allow the previous bar to overlap.
-If you need another bar, lock the meter to music again (right click->"Lock to Music"), drag the meter to the desired bar and re-lock to audio.
-  You may now drag your new bar freely again.
-  </p>
-<br>
-<li>To change a meter, double click it. A dialog will appear.</li>
-<br>
-<li>To copy a meter, hold down <kbd class="mod1"></kbd> and drag it.</li>
-
-<h3>Techniques </h3>
-<p>As a general approach, the best way to control tempo ramps is to use them in pairs.
-</p>
-<p>Lets imagine we want to match the click to a drum performance recorded in 'free time'.<br>
-The first thing we need to do is determine where the first beat is. Drag the first meter to that position.
-</p>
-<p>Now the first click will be in time with the first beat. To get all the other beats to align, we listen to the drums
-and visually locate the position of bar 4. You may wish to place the playhead here.
-</p>
-<p>We then locate bar 4 in the bbt ruler and while holding the constraint modifier, drag it to bar 4 in the drum performance.
-</p>
-<p>We notice that the click now matches the first 4 bars, but after that it wanders off.
-You will see this reflected in the tempo lines.. they won't quite match the drum hits.
-We now locate the earliest position where the click doesn't match, and place a new tempo just before this.
-Two bars later, place another new tempo.
-</p>
-<p>Now while dragging any beat <strong>after</strong> the second new tempo, watch the drum audio and tempo lines until they align.
-</p>
-<p class="note">Notice what is happeneing here: the tempo previous to your mouse pointer is being changed so that the beat you grabbed
-aligns with the pointer.
-Notice that the tempo lines previous to the changed one also move. This is because the previous tempo is ramping <strong>to</strong> the tempo you are changing.
-Look further to the left. The tempo lines in the first four bars do not move.
-</p>
-<p>Again, some time later the click will not align. I didn't say this was easy.
-</p>
-
-<p>Repeat the same technique : add two new tempos and drag the BBT ruler <strong>after</strong> the newest tempo so that the beats align with the audio again.
-</p>
-
-<p>In a general sense, adding tempo markers in pairs allows you to 'pin' your previous work while you move further to the right.
-</p>
-<h3>Another use case : matching accelerando</h3>
-<p>Imagine you have some video and have located where your music cue begins. Move the first meter to that frame
-(you may snap to TC frames, but not music with an audio locked meter).
-</p>
-<p>
-  Find a starting tempo by listening to the click while you drag the meter's tempo vertically using teh constraint modifier.
-  </p>
-
-<p>You have the playhead at point where the dude slams the phone down, and your idea was that 4|1|0
-would be good for this, but you want an accelerando to that point.
-</p>
-<p>
-  Add a tempo ar bar 4.
-</p>
-<p>Holding down the constraint modifier, and with snap set to 'TC Frames', grab the BBT ruler just <strong>after</strong> 4|1|0.
-Drag the ruler so that 4|1|0 snaps to the 'phone' frame.
-</p>
-<p class="note">Notice what happened : The second tempo was changed.<br>
-You had set a musical position for the second tempo marker. It was not aligned with the frame you wanted, so
-you dragged the BBT ruler, making the second tempo provide enough pulses over the ramp for 4|1|0 to align with the desired frame.
-</p>
-<p>If your ramp doesn't feel correct, you may add more points within it and keep adjusting beat positions in a similar manner.
-</p>
-<h3>General</h3>
-
-<p>Audio locked meters can be useful when composing, as they allow a continuous piece of music to be worked on in
-isolated segments, preventing the listening fatigue of a fixed form.
-Reassembly is left as an excercise for the reader.
-</p>
diff --git a/_manual/15_adding-pre-existing-material.html b/_manual/15_adding-pre-existing-material.html
deleted file mode 100644 (file)
index 600d2f2..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
----
-layout: default
-title: Adding Pre-existing Material
----                        
-  
-<p>
-  There are several ways to importing an audio or MIDI file into a 
-  session:
-</p>
-<ul>
-  <li><kbd class="menu">Session &gt; Import</kbd></li>
-  <li>Region List context menu: <kbd class="menu">Import To Region List</kbd></li>
-  <li>Track context menu: <kbd class="menu">Import Existing Media</kbd>
-</li>
-</ul>
-<p>
-  These methods are all equivalent: they open the <a
-  href="/adding-pre-existing-material/import-dialog/">Add Existing Media</a> 
-  dialog.  
-</p>
-<p>
-  Finally, you can also easily import files into your project by dragging 
-  and dropping a file from some other application (e.g. your platform's 
-  file manager). You can drag onto the 
-  <dfn>Region List</dfn>, into the desired <dfn>track</dfn> or into empty 
-  space in the editor track display.<br />
-  The file will be imported and copied 
-  into your session, and placed at the position where the drag ended.
-</p>
-
-{% children %}
diff --git a/_manual/15_adding-pre-existing-material/01_import-dialog.html b/_manual/15_adding-pre-existing-material/01_import-dialog.html
deleted file mode 100644 (file)
index abdc0fb..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
----
-layout: default
-title: Import Dialog
----
-
-<img class="right" src="/images/import-window.png" alt="The import window">
-
-<p>
-  Many sessions will require the use of <dfn>existing material</dfn>,
-  whether it consists of audio and/or MIDI data. Using existing samples,
-  loops and riffs from files stored on your system can be the basis for
-  a new session, or a way to deepen and improve one that is already
-  underway.
-</p>
-<p>
-  Importing audio and MIDI data into the session is done with the
-  <dfn>Add Existing Media</dfn> dialog, accessed by the <kbd class="menu">
-  Session &gt; Import</kbd> menu.
-</p>
-
-<h2>The Soundfile Information Box</h2>
-<p>
-  This box will display information about the currently selected file:
-</p>
-<ul>
-  <li>number of channels,</li>
-  <li>sample rate,</li>
-  <li>file format,</li>
-  <li>length,</li>
-  <li>embedded timestamp (applies to some professional formats such as
-  Broadcast WAVE), and</li>
-  <li><a href="/adding-pre-existing-material/searching-for-files-using-tags/">tags</a> (attached metadata to help categorize files in a library).</li>
-</ul>
-<p>
-  If the sample rate differs from the current session rate, it is displayed
-  in red, which indicates that the file must be resampled before
-  importing.
-</p>
-<p>
-  Resampling is controlled by the <kbd class="menu">Conversion quality</kbd>
-  option described below.
-</p>
-<p>
-
-</p>
-
-<h2>Auditioner</h2>
-<p>
-  Files can be auditioned before importing. The slider under the play and
-  stop buttons allows you to scrub around, a fader on the right side allows
-  to control the playback volume.
-</p>
-<p>
-  Auditionning MIDI files requires a MIDI instrument to be chosen in the <kbd class="menu">
-  Instrument</kbd> dropdown list.
-</p>
-
-<h2>Importing options</h2>
-<p>
-  Through the <kbd class="menu">Add files...</kbd> option, imported files can be inserted in the session:
-</p>
-<dl>
-  <dt>as new tracks</dt><dd>automatically creates new tracks and import the files in it</dd>
-  <dt>to region list</dt><dd>adds the files to the <a href="/ardours-interface/editor-lists/region-list/">region list</a>, from where then can be manually dragged into a track</dd>
-  <dt>as new tape tracks</dt><dd>adds the files as <a href="/working-with-tracks/track-types/">Tape tracks.</a></dd>
-</dl>
-<p>
-  The <kbd class="menu">Insert at</kbd> option chooses where in time the file will be imported, amongst:
-</p>
-</ul>
-  <li>the <dfn>file timestamp</dfn> (if available, zero by default)</li>
-  <li>at the <a href="/ardours-interface/the-edit-point-control/"><dfn>edit point</dfn></a></li>
-  <li>at the <dfn>playhead</dfn></li>
-  <li>at the <dfn>session start</dfn>.</li>
-</ul>
-<p>
-  The Channel <kbd class="menu">Mapping</kbd> option is only available for
-  multi-channel files (i.e. all but mono ones). It is either
-</p>
-<dl>
-  <dt>one track/region per file</dt><dd>Creates a multi channel track for each imported file</dd>
-  <dt>one track/region per channel</dt><dd>Creates only mono channels, as many as there are channels in the imported files</dd>
-  <dt>sequence files</dt><dd>If multiple files are imported, they can be sequenced into a single track in the order of selection</dd>
-</dl>
-<p>
-  The <kbd class="menu">Conversion quality</kbd> drop-down controls the
-  quality of the resampling process, if the sampling rate of the source file
-  differs from the session rate.
-</p>
-<p>
-  Finally, and most importantly, the the files can be linked or copied to the session
-  with the <kbd class="option">Copy files to session</kbd> checkbox. Please read
-  <a href="/adding-pre-existing-material/copying-versus-linking/">Copying
-  versus Linking</a> for details.
-</p>
diff --git a/_manual/15_adding-pre-existing-material/02_copying-versus-linking.html b/_manual/15_adding-pre-existing-material/02_copying-versus-linking.html
deleted file mode 100644 (file)
index cd30fd7..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: default
-title: Copying versus Linking
----                        
-
-<p>
-  <dfn>Copying</dfn> and <dfn>linking</dfn> are two different methods of 
-  using existing audio files on your computer (or network file system) 
-  within a session. They differ in one key aspect:
-</p>
-
-<h2>Copying</h2>
-<p>
-  An existing media file is copied to the session's audio folder, and 
-  if necessary converted into the session's native format.<br />
-  For audio files, you can control the choice of this format (eg. WAVE 
-  or Broadcast WAVE). Audio files will also be converted to the session 
-  sample rate if necessary (which can take several minutes for larger 
-  files).
-</p>
-<p>
-  MIDI files will already be in SMF format, and are simply copied into 
-  the session's MIDI folder.
-</p>
-
-<h2>Linking</h2>
-<p>
-  A link to an existing media file somewhere on the disk is used as a the
-  source for a region, but the data is <strong>not copied or modified</strong> 
-  in any way.
-</p>
-<p class="warning">
-  While linking is handy to conserve disk space, it means that your session
-  is <dfn>no longer self-contained</dfn>. If the external file moves, it
-  will become unavailable, and any changes to it from elsewhere will affect
-  the session. A backup of the session directory will miss linked files.
-</p>
-<p>
-  You can choose to copy or link files into your session with the 
-  <kbd class="option">Copy file to session</kbd> option in the Import 
-  dialog window.
-</p>
-<p>
-  <img class="left" src="/images/225-ARDOUR_1_2_1.png" />
-  &larr; This file will be imported in the audio/MIDI folder of your session.
-</p>
-<p>
-  <img class="left" src="/images/226-ARDOUR_1_2_1.png" />
-  &larr; This file won't be copied.
-</p>
-<p class="note">
-  There is a global preference <kbd class="menu">Edit &gt; Preferences &gt; Misc &gt; 
-  Session Management &gt; Always copy imported files</kbd>. If it is
-  enabled, you will not be able to link a file.
-</p>
-  
diff --git a/_manual/15_adding-pre-existing-material/03_searching-for-files-using-tags.html b/_manual/15_adding-pre-existing-material/03_searching-for-files-using-tags.html
deleted file mode 100644 (file)
index e7870e5..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
----
-layout: default
-title: Searching for Files Using Tags
----                        
-
-<p>
-  A <dfn>tag</dfn> is bit of information, or metadata, that is associated 
-  with a data file. Specifically, tags are keywords or terms that you feel 
-  have some relevance to a particular soundfile. Ardour can store these tags 
-  in a searchable <dfn>database</dfn> so that you can quickly search for sounds based 
-  on the tags that you have assigned to them. 
-</p>
-<p>
-  For example you can assign the term <kbd class="input">120bpm</kbd> to a 
-  sound, and then when you search for this tag, the file will appear in the
-  search list. Tags are independent of the filename or anything else about 
-  the file. Tags, and the file paths that they are associated with, are 
-  stored in a file called <samp>sfdb</samp> in your Ardour user folder.
-</p>
-<p>
-  To <dfn>add tags</dfn> to a given file, open the <kbd class="menu">Session &gt; Import</kbd> 
-  dialog, select the file in the browser, and type new tags into tag area in
-  the soundfile information box on the right.<br/>
-  Tags are stored when the input box loses focus, there is no need to
-  explicitly save them.
-</p>
-<p>
-  You can <dfn>search</dfn> for specific tags in the <kbd
-  class="menu">Search Tags</kbd> tab of the same dialog. Files which have 
-  been tagged with the relevant terms will appear in the results window. 
-  Selected files can be auditioned and marked with additional tags if
-  required. 
-</p>
-    
-
-{% children %}
diff --git a/_manual/15_adding-pre-existing-material/04_supported-file-formats.html b/_manual/15_adding-pre-existing-material/04_supported-file-formats.html
deleted file mode 100644 (file)
index 794431a..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: default
-title: Supported File Formats
----
-
-<p>
-  The list of audio file formats that Ardour can understand is quite long.
-  It is based on the functionality offered by <dfn>libsndfile</dfn>, an excellent and
-  widely used software library by Australian programmer Erik de Castro Lopo.
-  As libsndfile's capabilities expand, so will Ardour's abilities to import
-  (and export) new formats. Ardour supports all common audio file formats,
-  including WAV, AIFF, AIFC, CAF, W64 and BWF, with all typical sample formats
-  (8-, 16-, 24-, 32-bit integer, floating point, and more).
-</p>
-<p>
-  A full list of libsndfile's supported formats is available on the
-  <a href="http://www.mega-nerd.com/libsndfile/#Features">libsndfile website</a>.
-  </p>
-<p>
-  For MIDI import, Ardour will read any Standard MIDI Format (SMF) file. 
-</p>
diff --git a/_manual/16_recording.html b/_manual/16_recording.html
deleted file mode 100644 (file)
index 61e7666..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: default
-title: Recording
----                        
-
-{% children %}
diff --git a/_manual/16_recording/01_monitoring.html b/_manual/16_recording/01_monitoring.html
deleted file mode 100644 (file)
index 584bd5c..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
-title: Monitoring
----                        
-
-<p>
-  When recording, it is important that performers hear themselves, and to 
-  hear any pre-recorded tracks they are performing with.
-  Audio recorders typically let you <dfn>monitor</dfn> (i.e. listen to) 
-  the input signal of all tracks that are armed for recording, and playing 
-  back the unarmed tracks.
-</p>
-
-{% children %}
diff --git a/_manual/16_recording/01_monitoring/01_latency-considerations.html b/_manual/16_recording/01_monitoring/01_latency-considerations.html
deleted file mode 100644 (file)
index 3b94aae..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
----
-layout: default
-title: Latency Considerations
-menu_title: Latency
----                        
-
-<p>  
-  In the days of analog tape recording, the routing of monitor signals was
-  performed with relays and other analog audio switching devices.  Digital 
-  recorders have the same feature, but may impart some 
-  <a
-  href="/synchronization/latency-and-latency-compensation/"><dfn>latency</dfn></a> 
-  (delay) between the time you make a noise and the time that you hear it 
-  come back from the recorder.
-</p>
-<p>
-  The latency of <em>any</em> conversion from analog to digital and back to 
-  analog is about 1.5&ndash;2&nbsp;ms. Some musicians claim that even the 
-  basic <abbr title="Analog to Digital to Analog">A/D/A</abbr> conversion 
-  time is objectionable. However even acoustic instruments such as the piano 
-  can have approximately 3&nbsp;ms of latency, due to the time the sound
-  takes to travel from the instrument to the musician's ears. Latency below 
-  5&nbsp;ms should be suitable for a professional recording setup. Because
-  2&nbsp;ms are already used in the A/D/A process, you must use extremely low 
-  <dfn>buffer sizes</dfn> in your workstation <abbr title="Input/Output">I/O</abbr> 
-  setup to keep the overall latency below 5ms. Not all 
-  <a href="/setting-up-your-system/the-right-computer-system-for-digital-audio/">computer audio systems</a> 
-  are able to work reliably at such low buffer sizes.
-</p>
-<p>
-  For this reason it is sometimes best to route the monitor signal
-  through an external mixing console while recording, an approach taken by
-  most if not all professional recording studios. Many computer I/O devices 
-  have a hardware mixer built in which can route the monitor signal "around"
-  the computer, avoiding the systemlatency.<br />
-  In either case, the monitoring hardware may be digital or analog.  And in 
-  the digital case you will still have the A-D-A conversion latency of
-  1&ndash;2&nbsp;ms.
-</p>
-
-{% children %}
diff --git a/_manual/16_recording/01_monitoring/02_monitor-signal-flow.html b/_manual/16_recording/01_monitoring/02_monitor-signal-flow.html
deleted file mode 100644 (file)
index 20a9f9a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: default
-title: Monitor Signal Flow
-menu_title: Signal Flow
----                        
-
-<p>There are three basic ways to approach monitoring: </p>
-
-<h3>External Monitoring</h3> 
-<img class="right"
-src="/diagrams/external-monitoring.png" />
-<p>When using <dfn>external monitoring</dfn>, Ardour plays no role in
-  monitoring at all. Perhaps the recording set-up has an external mixer which
-  can be used to set up monitor mixes, or perhaps the sound-card being used
-  has a "listen to the input" feature. This approach yields zero or near-zero 
-  latency.  On the other hand it requires external hardware, and the monitoring 
-  settings are less flexible and not saved with the session.</p> 
-
-<h3>JACK-Based Hardware Monitoring</h3> 
-<img class="right" src="/diagrams/jack-monitoring.png" />
-<p>Some sound cards have the ability
-  to mix signals from their inputs to their outputs with very low or even zero 
-  latency, a feature called <dfn>hardware monitoring</dfn>.
-  Furthermore, on some cards this function can be controlled by JACK.  This is a nice arrangement,
-  if the sound card supports it, as it combines the convenience of having the
-  monitoring controlled by Ardour with the low latency operation of doing it
-  externally.
-</p> 
-
-<h3>Software Monitoring</h3> 
-<img class="right" src="/diagrams/ardour-monitoring.png" />
-<p>With the <dfn>software monitoring</dfn> approach, all monitoring is
-  performed by Ardour &mdash; it makes track inputs available at track
-  outputs, governed by various controls. This approach will almost always have
-  more routing flexibility than JACK-based monitoring. The disadvantage is
-  that there will be some latency between the input and the output, which
-  depends for the most part on the JACK buffer size that is being used. 
-</p> 
-
-{% children %}
diff --git a/_manual/16_recording/01_monitoring/03_monitor-setup-in-ardour.html b/_manual/16_recording/01_monitoring/03_monitor-setup-in-ardour.html
deleted file mode 100644 (file)
index d112e9e..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: default
-title: Monitor Setup in Ardour
-menu_title: Setup in Ardour
----                        
-
-<p>Ardour has three main settings which affect how
-  monitoring is performed. The first is 
-  <kbd class="menu">Edit &gt; Preferences &gt; Audio &gt; 
-  Record monitoring handled by</kbd>.  There are two or three
-  options here, depending on the capabilities of your hardware.
-</p>
-<p> The other two settings are more complex.  One is 
-  <kbd class="menu">Tape machine mode</kbd>, found in the
-  same dialog, and the other is the
-  <kbd class="option">Session &gt; Properties &gt; Monitoring
-  automatically follows transport state</kbd> setting.
-</p> 
-<p>
-  Monitoring also depends on the state of the track's record-enable button,
-the session record-enable button, and on whether or not the transport is
-rolling.
-</p>
-
-<h3>Software or Hardware Monitoring Modes</h3> 
-<p>
-If Ardour is set to <dfn>external monitoring</dfn>, the explanation of 
-Ardour's monitoring behaviour is simple: it does not do any. 
-</p>
-
-<h2>Monitoring in Non-Tape-Machine Mode</h2>
-<p>
-  When <dfn>Tape-Machine mode is off</dfn>, and a track is armed,
-  Ardour <em>always</em> monitors the live input, except in one case: 
-  the transport is rolling, the session is not recording, and
-  <dfn>auto-input</dfn> 
-  is active. In this case only, you will hear playback from an armed track.
-</p> 
-<p>
-  Unarmed tracks will play back their contents from disc, unless the
-  transport is stopped <em>and</em> <dfn>auto-input</dfn> is enabled.
-  In this case, the track monitors its live input.
-</p>
-
-<h2>Monitoring in Tape-Machine Mode</h2>
-
-<p>
-  In <dfn>Tape-Machine mode</dfn>, things are slightly simpler: when a 
-  track is armed, its behaviour is the same as in non-tape-machine mode.
-</p> 
-<p>
-  Unarmed tracks however will always just play back their contents from 
-  disk; the live input will never be monitored. 
-</p>
-  
-{% children %}
diff --git a/_manual/16_recording/02_track-recording-modes.html b/_manual/16_recording/02_track-recording-modes.html
deleted file mode 100644 (file)
index 774e517..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
----
-layout: default
-title: Track Recording Modes
----                        
-  
-<p>
-  The <dfn>Recording mode</dfn> is a per-track property (applies to audio 
-  tracks only) that affects the way that recording new material on top of 
-  existing material ("overdubbing") operates <em>in that track</em>. 
-</p>
-<p>
-  See <a href="/working-with-tracks/track-types/#trackmodes">Track modes</a>
-  for a detailed explanation.
-</p>
-
-{% children %}
\ No newline at end of file
diff --git a/_manual/17_signal-routing.html b/_manual/17_signal-routing.html
deleted file mode 100644 (file)
index 1836da8..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
----
-layout: default
-title: Signal Routing
----                        
-
-<p>
-  Ardour does most of its internal <dfn>signal routing</dfn> via JACK: 
-  all track and bus inputs and outputs are JACK ports, as are sends and
-  inserts, which means they can be tapped into by other JACK clients.
-  Only the signal flow inside a track or bus (i.e. from <a
-  href="/working-with-plugins/processor-box/">processor to processor</a>) is
-  handled internally.<br />
-  By default, Ardour will create the following connections for you:
-</p>
-<ul>
-  <li>
-    <dfn>Track inputs</dfn> are optionally auto-connected to hardware inputs, in round robin
-    order, depending on the setting you chose in the 
-    <a href="/working-with-sessions/new-session-dialog/"><kbd
-    class="menu">Session &gt; New Session</kbd> dialog</a>.
-  </li>
-  <li>
-    <dfn>Bus inputs</dfn> are left disconnected.
-  </li>
-  <li>
-    The number of <dfn>track and bus outputs</dfn> are equal to the number
-    of inputs of the master bus.
-  </li>
-  <li>
-    Track and bus outputs are always auto-connected to the master bus inputs.
-  </li>
-  <li>
-    Master bus outputs are connected to hardware outputs.
-  </li>
-</ul>
-<p>
-  This configuration is sufficient to do basic tracking and playback of many 
-  sessions without any adjustment by the user. If you are using Ardour and 
-  start to change these connections, be certain that you have a good reason 
-  to do so &mdash; it is generally not necessary and often leads to problems.
-</p>
-<p>
-  However, for many workflows during mixing, more complicated signal routing 
-  is required. Ardour offers many possibilties for connecting things in the 
-  way you may need or want them.
-</p>
-
-{% children %}
diff --git a/_manual/17_signal-routing/01_aux-sends.html b/_manual/17_signal-routing/01_aux-sends.html
deleted file mode 100644 (file)
index f2354f2..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
----
-layout: default
-title: Aux Sends
----                        
-
-<p>
-  <dfn>Auxilliary sends</dfn> are <a
-  href="/working-with-plugins/processor-box/">processors</a> in a bus or
-  track channel strip. They tap the signal at a specific point in the signal
-  flow (pre-fader, post-fader, before or after EQs and other plugins, etc.)
-  and send a copy of that signal somewhere else, without affecting the
-  normal signal flow downwards to the channel fader.
-</p>
-<p>
-  Usually, aux sends from several tracks are collectively sent to a
-  dedicated <dfn>Aux bus</dfn> in Ardour, to create a monitor mix for a 
-  musician, or to feed an effect unit. The output of such a bus might
-  be routed to separate hardware outputs (in the case of headphone or monitor 
-  wedge mixes), or returned to the main mix (in the case of an effect).<br
-  />
-  Since sends are JACK ports, it is also possible to send the tapped signal
-  somewhere else directly, which is not usually possible on hardware mixers
-  (see <a href="/signal-routing/external-sends/">External Sends</a>).
-</p>
-  
-<p>
-  It may be useful to 
-  <a href="/signal-routing/comparing-aux-sends-and-subgroups/">compare and contrast</a> 
-  the use of aux sends with <a href="/signal-routing/subgrouping/">subgrouping</a>.
-</p>
-
-<h2>Adding a new aux bus</h2>
-<p>
-  Choose <kbd class="menu">Session &gt; Add New Track or Bus</kbd>. In the 
-  <kbd class="menu">New Track &amp; Bus</kbd> dialog, select "Busses" in the Track/Bus 
-  selector at the upper right.
-</p>
-
-<h2>Adding a send to an aux bus</h2>
-<p>
-  Context-click on the processor box for the track you want to send to the bus, and 
-  choose <kbd class="menu">New Aux Send</kbd>. From the submenu, choose the bus you 
-  want to send to. A send will be added (and will be visible in the processor box). 
-  Note that the submenu may be empty if you have not created a bus yet.
-</p>
-
-<h3>Pre-fader and Post-fader Aux Sends</h3>
-<p>
-  Depending on whether you context-click above or below the fader in the processor box, 
-  the new aux send can be placed before or after the fader in the channel strip. 
-  <dfn>Post-fader</dfn> aux sends are typically used when using an aux for shared signal 
-  processing (FX), so that the amount of effect is always proportional to
-  the main mix fader. <dfn>Pre-fader</dfn> sends ensure that the level sent to the bus 
-  is controlled <em>only</em> by the send, not the main fader &mdash; this is typical 
-  when constructing headphone and monitor wedge mixes. 
-</p>
-
-<h2>Adding a new aux bus and sending a Track Group to it</h2>
-<p>
-  You can add aux sends to all members of a group and connect them to a new aux bus 
-  with a single click. After creating the track group (and adding tracks to it), 
-  context-click on the group tab and choose either 
-  <kbd class="menu">Add New Aux Bus (pre-fader)</kbd> or 
-  <kbd class="menu">Add New Aux Bus (post-fader)</kbd>. A new aux bus will be created, 
-  and a new aux send added to every member of the track group that connects to
-  this  aux bus.
-</p>
-
-<h2>Altering Send Levels</h2>
-<p>
-  You can alter the amount of the signal received by a send that it delivers to the bus 
-  it connects to. There are three approaches to this:
-</p>
-<h3>Use the Send Fader</h3>
-<p>
-  Every send processor has a small horizontal fader that can be adjusted in the usual way. It is 
-  not very big and so this can be a little unsatisfactory if you want very fine control 
-  over the send level. 
-</p>
-<h3>Mapping the Main Fader</h3>
-<p>
-  Double-clicking on the send in the processor box will allow you to use the 
-  big fader of the mixer strip to control the send. The visual appearance of 
-  the mixer strip will change to reflect this. Double-click the send again to 
-  revert back to normal function for the strip.
-</p>
-<h3>Map Aux Sends To Main Faders</h3>
-<p>
-  Pressing the button marked <kbd class="menu">Aux Sends</kbd> on a aux bus will 
-  alter the channel strip for every track or bus that feeds the aux bus. Many 
-  aspects of the strip will become insensitive and/or change their visual 
-  appearance. More importantly, the main fader of the affected channel strips 
-  will now control the send level and <strong>not</strong> the track gain. 
-  This gives a larger, more configurable control to alter the level. Click the 
-  <kbd class="menu">Aux Sends</kbd> button of the aux bus again to revert the 
-  channel strips to their normal use.
-</p>
-<h2>Disabling Sends</h2>
-<p>
-  Clicking on the small "LED" in the send display in the processor box of the 
-  channel strip will enable/disable the send. When disabled, only silence will 
-  be delivered to the aux bus by this track. When enabled, the signal arriving 
-  at the send will be delivered to the aux bus.
-</p>
-<h2>Send Panning</h2>
-<p>
-  Send panners can be configured to either be independent of the main
-  panner, or to follow it. The latter could be useful for Reverb effects, or
-  for in-ear monitor mixes delivered in stereo.
-</p>
-  
diff --git a/_manual/17_signal-routing/02_comparing-aux-sends-and-subgroups.html b/_manual/17_signal-routing/02_comparing-aux-sends-and-subgroups.html
deleted file mode 100644 (file)
index f0dbb45..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
----
-layout: default
-title: Comparing Aux Sends and Subgroups
-menu_title: Auxes vs. Groups
----                        
-
-<p>
-  Auxes and Subgroups share a common concept &mdash; they both provide a way 
-  for one or more tracks (or busses) to send their signal to a single bus so 
-  that common signal processing can be applied to the mix of their signals. 
-</p>
-<p>
-  <dfn>Aux sends</dfn> leave the existing signal routing to the main mix in place, 
-  and are typically used to create a separate mix to send to (for example) 
-  monitors or headphones (for performer monitor mixes): 
-</p>
-<img width="300px" src="/images/aux_routing.png" alt="aux signal routing" />
-<p>
-  <dfn>Subgroups</dfn> usually remove the original signal routing to the main mix and
-  replace it with a new one that delivers the output of the subgroup bus to 
-  the main mix instead.
-</p>
-<img width="300px" src="/images/subgroup_routes.png" alt="sub group signal routing" />
-  
diff --git a/_manual/17_signal-routing/03_external-sends.html b/_manual/17_signal-routing/03_external-sends.html
deleted file mode 100644 (file)
index 6f1945e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
----
-layout: default
-title: External Sends
----                        
-
-<p>
-  Like a normal aux send, an <dfn>external send</dfn> taps the signal at a 
-  specific within a channel strip, but delivers it to an external application 
-  or piece of hardware rather than an Ardour bus. By itself, an external 
-  send has no effect whatsoever on the audio signals within Ardour &mdash; 
-  it is a one-way signal routing that leaves all existing signal processing 
-  just as it was.
-</p>
-<p>
-  Most people will not have much use for this, but it can be useful if you 
-  want to experiment with external applications or hardware signal processing 
-  applications.
-</p>
-
-<h2>Adding an External Send</h2>
-<p>
-  Context-click on the 
-  <a href="/working-with-plugins/processor-box/">processor box</a> in a 
-  channel strip (at the desired location, pre or post fader) and choose 
-  <kbd class="menu">Add new External Send</kbd>. A dialog will appear 
-  containing the standard Ardour 
-  <a href="/signal-routing/Patchbay/"><dfn>patchbay</dfn></a> to allow 
-  you to connect the send to the desired destination. 
-</p>
-
-<h2>Removing an External Send</h2>
-<p>You can remove an external send in several ways:</p>
-<ul>
-<li><kbd class="mouse mod3">Right</kbd>-click the send in the processor box.</li>
-<li>Position the pointer over the send and press the <kbd>Del</kbd> key.</li>
-<li>Position the pointer over the send and press <kbd class="mod1">x</kbd>.</li>
-<li>Context-click the send and choose either <kbd class="menu">Cut</kbd> or 
-  <kbd class="menu">Delete</kbd>.</li>
-</ul>
-
-<h2>Altering Send Levels</h2>
-<p>
-  Just below the send in the processor box is a small fader that can be used 
-  like all other faders in Ardour to control the gain applied to the signal 
-  delivered by the send. Drag it to alter the level, Shift-click to restore 
-  to unity (0dB) gain. 
-</p>
-
-<h2>Disabling Sends</h2>
-<p>
-  Click the small "LED" in the send display within the processor box to turn 
-  it on and off. When turned off, silence will be delivered to the send. When 
-  turned on, the signal within the channel strip will be delivered.
-</p>
-<h2>Editing Send Routing</h2>
-<p>
-  Double-clicking or Edit-clicking on the send in the processor box will 
-  redisplay the patchbay dialog that allows you full control over the routing 
-  of the send.
-</p>
-  
diff --git a/_manual/17_signal-routing/04_inserts.html b/_manual/17_signal-routing/04_inserts.html
deleted file mode 100644 (file)
index b599da3..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
----
-layout: default
-title: Inserts
----                        
-
-<p>
-  <dfn>Inserts</dfn> are signal tap points that can be placed anywhere
-  inside a channel strip. Unlike Auxes, they will interrupt the signal flow,
-  feeding the signal from before the insert point to its <dfn>Insert
-  send(s)</dfn>, and connecting the remainder of the channel strip to the
-  <dfn>Insert return(s)</dfn>, both of which are JACK ports which are
-  visible to other JACK applications.<br />
-  Inserts are the JACK equivalents of normalized switching jacks on an 
-  analog console.
-</p>
-<p>
-  An insert allows you to either use a special external DSP JACK 
-  application that is not available as a plugin, or to splice an external
-  analog piece of gear into your channel strip, such as a vintage
-  compressor, tube equalizer, etc. In the latter case, you would first
-  connect your inserts to a pair of hardware ports, which are in turn
-  connected to the outboard gear.
-</p>
-<p>
-  To disable (bypass) an insert, click on its LED in the processor box.
-</p>
-<p class="note">
-  When you create an insert, the signal will be interrupted until you make
-  the relevant connections to the insert ports!
-</p>
-<p class="note">
-  Inserts will incur an additional JACK period of latency, which can be
-  measured and compensated for during mixing, but not during tracking! 
-</p>    
diff --git a/_manual/17_signal-routing/06_subgrouping.html b/_manual/17_signal-routing/06_subgrouping.html
deleted file mode 100644 (file)
index 7bf7007..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: default
-title: Subgrouping
----                        
-
-<p>
-  <dfn>Subgrouping</dfn> (sometimes known as "Grouping" or "Audio Grouping")  
-  is a way to collect related signals together to apply some common
-  treatment, before sending them on to the main mix. One standard
-  application is to group several tracks belonging to the same instrument or
-  section (such as a drumkit or horn section), to be able to adjust their
-  volume with a single fader, after their inner balance has been set using
-  the track faders.
-</p>
-
-<p>
-  To create a subgroup from an existing Track/Bus group, context-click on 
-  the relevant <a href="/working-with-tracks/track-and-bus-groups/">group tab</a>, 
-  and choose <kbd class="menu">Add new subgroup bus</kbd>. A new bus will be 
-  created and every member of the track group will have its outputs disconnected 
-  from other destinations and then connected to the new bus inputs. The bus 
-  outputs will feed the master bus unless you have selected manual connections 
-  for the session. The bus will be named after the track group name.
-</p>
-<p>
-  Alternatively, you can create a group manually, by first adding a new bus,
-  then, for each track you want to feed the subgroup bus, disconnect its outputs
-  from the master and connect it to the inputs of the subgroup bus instead.
-  You can do this in the global audio patchbay or a track by track basis via the 
-  output button of each track's channel strip.
-</p>
-<p>
-  To remove a subgroup (bus), context-click on the track group tab, and select 
-  <kbd class="menu">Remove subgroup bus</kbd>. You can also simply delete the 
-  bus itself. Note that this operation will <strong>not</strong> restore signal 
-  routing to the way it was before the addition of the subgroup bus &mdash; tracks 
-  that had been subgrouped will be left with their main outputs disconncted.
-</p>  
diff --git a/_manual/17_signal-routing/07_Patchbay.html b/_manual/17_signal-routing/07_Patchbay.html
deleted file mode 100644 (file)
index 24c3f1c..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
----
-layout: default
-title: Patchbay
----                        
-  
-<p>
-  The <dfn>patchbay</dfn> is the main way to make connections to, from and 
-  within Ardour's mixer. 
-</p>
-<p class="note">
-  Notable exceptions are internal aux sends and connections to the monitor bus (if 
-  you are using one): these cannot be controlled from a patchbay, and are 
-  basically not under manual control at all.
-</p>
-<img class="right" src="/images/connection-manager.png" alt="an example patchbay" />
-<p>
-  The patchbay presents two groups of ports; one set of <dfn>sources</dfn> 
-  (which produce data), and one of <dfn>destinations</dfn> (which consume 
-  data). Depending 
-  on the relative number of each, the sources will be placed on the left
-  or the top of the dialogue, and the destinations on the right or the 
-  bottom. Thus, in general, signal flow is from top or left to right or 
-  bottom.
-</p>
-<p>
-  Both sources and destinations are divided up into groups, with each 
-  group being given a tab:
-</p>
-<dl class="narrower-table">
-  <dt>Hardware</dt>
-  <dd>
-    These are ports which are connected to a physical piece of hardware 
-    (a sound card or MIDI interface).</dd>
-  <dt>Ardour Busses</dt>
-  <dd>All ports belonging to busses.</dd>
-  <dt>Ardour Tracks</dt>
-  <dd>All ports belonging to tracks.</dd>
-  <dt>Ardour Misc</dt>
-  <dd>
-    These are other ports that do not fit into the previous two 
-    categories; for example, the ports on which the metronome click 
-    is output, and MIDI ports for things like control surfaces and 
-    timecode.
-  </dd>
-  <dt>Other</dt>
-  <dd>
-    If you have other JACK clients running, their ports will be found 
-    here. If there are no such ports, the tab will not exist (on one or 
-    both axes of the grid).</dd>
-</dl>
-<p>
-  The main part of the patchbay is a <dfn>matrix grid</dfn>. Within this 
-  grid, green dots represent connections, and you can click in any of the
-  squares to make or break connections. You can also click and drag to 
-  draw a line of connections, which is sometimes useful for making many 
-  connections at once.
-</p>
-<p>
-  In the example patchbay shown above we can note various things. We are 
-  using the <kbd class="menu">Ardour Tracks</kbd> sources tab, so we see 
-  the output ports of the three tracks in our session: Fred, Jim and Foo. 
-  Our destinations are from the <kbd class="menu">Ardour Busses</kbd> tab, 
-  so we have the inputs of a session bus, Sheila, and the inputs of the 
-  master bus. Fred and Jim have stereo outputs, so have L and R connections. 
-  Foo is a MIDI track, so it only has one connection, and its squares in 
-  the grid are coloured light grey to indicate that no connection can be 
-  made between Foo (a MIDI output) and our busses (which are all audio-input).
-</p>
-<p>
-  The green dots in the example show that both Foo and Bar are connected 
-  to the master bus, left to left and right to right.
-</p>
-
-<h2>Variants on the Patchbay</h2>
-<p>
-  Slightly different versions of the patchbay are available from different 
-  places in Ardour. For a global view of all JACK audio connections, use 
-  <kbd class="menu">Window &gt Audio Patchbay</kbd>, or press 
-  <kbd class="mod2">P</kbd>. A corresponding MIDI Connection Manager can 
-  be opened using <kbd class="mod23">P</kbd>.</p>
-<p>
-  There is also a patchbay available when connecting individual tracks; 
-  clicking on the input or output buttons of a mixer strip will open a 
-  connection manager which has the corresponding track input or output as 
-  the only destination or source, with all other ports available for 
-  connection to it.
-</p>
-
-<h2>Other patchbay features</h2>
-<p>
-  Context-clicking on a port name in the connection manager opens a menu 
-  which provides a few handy options:
-</p>
-<dl class="wide-table">
-  <dt><kbd class="menu">Add audio port</kbd> and <kbd class="menu">Add MIDI port</kbd></dt>
-  <dd>
-    These options add audio or MIDI ports to the thing that you opened 
-    the menu over, if this is possible. In this way, for example, tracks 
-    and busses can be extended to have more inputs or outputs.
-  </dd>
-  <dt><kbd class="menu">Remove</dt>
-  <dd>
-    Removes the given port, if possible. <kbd class="mouse mod3">Right</kbd>-clicking 
-    a port will do the same.
-  </dd>
-  <dt><kbd class="menu">Disconnect all from…</kbd></dt>
-  <dd>Disconnects everything from the given port.</dd>
-  <dt><kbd class="menu">Rescan</kbd></dt>
-  <dd>
-    Ardour will try to keep abreast of any changes to the JACK ports on 
-    your system, and reflect them in any connection managers which are open. 
-    If for some reason this fails, use this to re-scan the list of ports and 
-    update the manager.
-  </dd>
-  <dt><kbd class="menu">Show individual ports</kbd></dt>
-  <dd>
-    If you have a session which has lots of multi-channel tracks or busses, 
-    it may be an unnecessary detail that you have to connect left to left and 
-    right to right every time you make a connection. This obviously gets worse 
-    with higher channel counts (such as for 5.1 or Ambisonics). To make life 
-    easier with such sessions, you can untick Show individual ports. After that, 
-    the channels of tracks and busses will be hidden, and any green dots you add 
-    in the connection manager will automatically connect each channel of the source 
-    to the corresponding channel of the destination (left to left, right to right 
-    and so on). In this mode, a half-circle in the connection grid indicates that 
-    some (but not all) of the source's ports are connected to the destination.
-  </dd>
-  <dt><kbd class="menu">Flip</kbd></dt>
-  <dd>
-    This will flip the visible ports on the vertical axis with those on the 
-    horizontal. If, for example, the top of the connection manager is showing 
-    <kbd class="menu">Ardour Busses</kbd> and the right is showing 
-    <kbd class="menu">Hardware</kbd>, flip will swap the view to the
-    opposite. You can also flip by pressing <kbd>f</kbd>. Note that if there are 
-    no matching tabs on both axes, flipping will be impossible.
-  </dd>
-</dl>
diff --git a/_manual/17_signal-routing/08_signal-flow.html b/_manual/17_signal-routing/08_signal-flow.html
deleted file mode 100644 (file)
index ecd03e2..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
----
-layout: default
-title: Track/Bus Signal Flow
----
-<h2>Overview</h2>
-<p>
-In each individual Track or Bus the signal flow is top to bottom. Consider the following diagram:
-</p>
-
-<p class="center"><img width="360px" src="/images/track_signal_routing.png" alt="track signal routing" /></p>
-
-<p>
-Trim, Fader and Panner are provided by Ardour.  The Processor-Box can hold 3rd Party Plugins or host-provided redirects (insert, aux-send,..).
-</p>
-
-<p>
-An important aspect is that the signal flow is multi-channel and not fixed throughout the track. For example, a Track can have a mono input, a mono to stereo plugin (e.g. reverb) flowing into a surround panner with 6 outputs. The design of Ardour is that width of the signal flow is defined by the passage through plugins in the processor box, followed by panning.
-The number of inputs to the panner is defined by the number outputs of the last plugin in the chain. The number of panner outputs is equal to the track's outputs ports, which can be added and remove dynamically. This schema called <em>Flexible I/O</em>. It's very powerful and a distinct feature of Ardour.
-</p>
-
-<p class="note">
-The golden rule of processor signal flow:<br/>The number of outputs of one link of the process chain defines the number inputs of the next, until the panner.
-</p>
-
-<p>
-Due to this rule there is one very common case that is hard to achieve: Keep a mono track mono.  With <em>Flexible I/O</em>, if a stereo plugin is added on a mono track, the signal flow after that plugin becomes stereo.
-</p>
-
-<h2>Strict I/O</h2>
-<p>Strict I/O enforces a simple rule: Plugins have the same number of inputs as they have outputs. By induction the track will have as many output-ports as there are input ports.</p>
-<ol>
-       <li>Adding a Plugin will not modify the signal-flow. The number of plugin outputs is forced to the number of inputs present at the point of insertion.
-               If a plugin-pin is missing, it is ignored. If Plugin-pin is unconnected, it is fed with silence. Unconnected plugin outputs are ignored).</li>
-       <li>Strict I/O enforces the number of output ports.  The number of inputs to the panner (outputs of last plugin) defines the number of track outputs (after panner).
-               Required ports are automatically added, excess ports are removed. The user cannot manually add/remove output ports.</li>
-</ol>
-
-<p>
-Strict I/O is set when creating the track and can later be en/disabled dynamically in the context menu of every mixer strip.
-</p>
-
-<p class="center"><img src="/images/strict_io_routing.png" alt="strict i/o routing" /></p>
-
-<p>There are two exceptions to the above rule 1.</p>
-<ul>
-<li>Midi Synths. When adding a synth at a point where there is a Midi port only, the synthesizer plugin will add audio-output ports,
-       which trickle down the processor chain to all follow up plugins as inputs and in turn force their outputs to match.</li>
-<li>Side chain inputs are not affected by strict i/o</li>
-</ul>
-
-<h2>Customizing the Signal Flow</h2>
-<p>
-The signal flow though the mixer can be customized at every processor node via "Pin Configuration" in the context menu of every processor.
-User customization override all automatic (flexible/strict i/o mode) inferred output port settings for the given processor.
-Non-customized plugins downstream will follow suit depending on the selected route mode. e.g. adding an additional output to a plugin on a track set to strict-i/o will trickle down the process chain until the output and result in the addition of an output port.  This is useful for example in case of a mono to stereo reverb.
-</p>
-
-<p>
-One can also bypass plugin instances with a 'trhu' connection. This connection is latency compensated. One example is separate Left/Right channel Equalization using two mono plugins on a stereo track:
-</p>
-<p class="center"><img src="/images/left_right_eq.png" alt="separate left/right Eq" /></p>
diff --git a/_manual/18_editing-and-arranging.html b/_manual/18_editing-and-arranging.html
deleted file mode 100644 (file)
index 75259d2..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: default
-title: Editing and Arranging
----                        
-
-{% children %}
diff --git a/_manual/18_editing-and-arranging/01_select-regions.html b/_manual/18_editing-and-arranging/01_select-regions.html
deleted file mode 100644 (file)
index 8dd5321..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
----
-layout: default
-title: Select Regions
----
-
-<p>
-  Many editing operations in Ardour require you to first <dfn>select one or more
-  regions</dfn> that you want to change in some way. You can select a single region,
-  or multiple regions, including regions in different tracks. When you select
-  a region, it will appear in a darker color than unselected regions.
-</p>
-<p>
-  Note that if a track is a member of a group that is active and has the
-  <kbd class="option">Select</kbd> property enabled, then Ardour will attempt to
-  match whatever selections you make in one track across every other track of the
-  group. See
-  <a href="/working-with-regions/corresponding-regions-selection/">Corresponding
-  Regions Selection</a> for more information on precisely how selections will be
-  propagated to other tracks.
-</p>
-
-<h2>Region Selection and Track Selection</h2>
-<p>
-  Please read
-  <a href="/working-with-tracks/selecting-tracks/">Region &amp; Track Selection</a>
-  for more information on how selecting regions and selecting tracks interact.
-</p>
-
-<h2>Select a Region</h2>
-<p>
-  Confirm that you are using the
-  <a href="/ardours-interface/the-toolbox/">Grab Mode tool</a>,
-  then click on a region to select it. If
-  <a href="/ardours-interface/the-toolbox/">Smart mode</a>
-  is enabled, click in the lower half of the region.
-</p>
-
-<h2>Deselect a Region</h2>
-<p>
-  Confirm you are using the
-  <a href="/ardours-interface/the-toolbox/">Grab Mode tool</a>,
-  then <kbd class="mouse mod1">Left</kbd>-click the region. If
-  <a href="/ardours-interface/the-toolbox/">Smart mode</a>
-  is enabled, click in the lower half of the region.
-</p>
-<p>
-  Note that a <kbd class="mouse mod1">left</kbd> click simply toggles the
-  selected status of an object, so it can be used to select unselected regions
-  too.
-</p>
-
-<h2>Select Multiple Regions in a Track</h2>
-<p>Do one of the following:</p>
-<ul>
-  <li><kbd class="mouse mod1">Left</kbd>-click each region, or</li>
-  <li>
-    drag a rubberband box from an empty point in a track before the first
-    region you wish to select to a point within or after the last region
-    you wish to select (you can <kbd class="mouse mod1">left</kbd>-drag to do this
-    multiple times), or,
-  </li>
-  <li>
-    if the regions are all adjacent to one another, click the first region
-    you wish to select, then <kbd class="mouse mod3">Left</kbd>-click the last
-    region you wish to select.
-  </li>
-</ul>
-
-<h2>Select All Regions in a Track</h2>
-<p>
-  Context-click the track, and in the context menu, navigate to
-  <kbd class="menu">Select &gt; Select All In Track</menu>.
-</p>
-<p>
-  See the <a href="/working-with-tracks/track-context-menu/">Track Context Menu</a>
-  for more information on other per-track selection operations that are available.
-</p>
-
-<h2>Select Multiple Regions Across Different Tracks</h2>
-<p>
-  <kbd class="mouse mod1">Left</kbd>-click or <kbd class="mouse
-  mod3">Left</kbd>-click the regions you wish to select.
-</p>
-
-<h2>Select a Region From the Region List</h2>
-<p>
-  Click the name of the region in the
-  <a href="/ardours-interface/editor-lists/region-list/">Region List</a>.
-  Note that this will do nothing for whole-file regions, since they do not exist
-  anywhere in a playlist or track.
-</p>
diff --git a/_manual/18_editing-and-arranging/02_which-regions-are-affected.html b/_manual/18_editing-and-arranging/02_which-regions-are-affected.html
deleted file mode 100644 (file)
index 23b5df6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
----
-layout: default
-title: Which Regions Are Affected?
-menu_title: Affected Regions
----                        
-  
-<p>
-  This section explains the rules used to decide which regions are affected
-  by editing operations. You don't really have to understand them &mdash; hopefully
-  things will Just Work &mdash; but it may be useful eventually to understand the rules.
-</p>
-<p>
-  Editing operations in Ardour either operate on a single point in time 
-  (<kbd class="menu">Split</kbd> being the obvious example) or on two 
-  points (which can also be considered to be a range of sorts), <kbd
-  class="menu">Separate</kbd> is a good example of this.
-</p>
-<p> 
-  Most operations will operate on the currently selected region(s), but if 
-  no regions are selected, the region that the mouse is in will be used 
-  instead. Single-point operations will generally pick a set of regions to 
-  use based on the following rules:
-</p>
-<ul>
-  <li> If the edit point is `mouse', then
-    <ul>
-     <li>if the mouse is over a selected region, or no region, use all selected
-     regions, or</li>
-     <li>if the mouse is over an unselected region, use just that region.</li>
-    </ul>
-  </li>
-  <li> For all other edit points
-    <ul>
-      <li>
-        use the selected regions <em>and</em> those that are both
-        under the edit position <em>and</em> on a selected track, 
-        or on a track which is in the same active edit-enabled route group
-        as a selected region.
-      </li>
-    </ul>
-  </li>
-</ul>
-<p>
-  The rationale here for the two different rules is that the mouse edit point 
-  is special in that its position indicates both a time and a track; the other 
-  edit points (Playhead,Marker) indicate a time only.
-</p>
-  
diff --git a/_manual/18_editing-and-arranging/03_common-region-edit-operations.html b/_manual/18_editing-and-arranging/03_common-region-edit-operations.html
deleted file mode 100644 (file)
index f43595e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
----
-layout: default
-title: Common Region Edit Operations
-menu_title: Region Editing
----
-
-<p>
-  This section covers a set of <dfn>region editing operations</dfn>
-  that you are likely to use often while working on a session.
-  Depending on your work habits (and experience of other
-  <abbr title="Digital Audio Workstation">DAW</abbr>s) you will find
-  some of these operations critical while others are used only rarely.
-</p>
-<p>
-  You can carry out all of these operations from the keyboard (see
-  <a href="/default-keyboard-bindings/">Default Keyboard Shortcuts</a>
-  for a list). Equivalent operations can be performed with the mouse
-  in most cases.
-</p>
-<p>
-  You may want to review your understanding of
-  <a href="/ardours-interface/the-edit-point-control/">the edit point/range</a> and 
-  <a href="/editing-and-arranging/which-regions-are-affected/">which regions will be affected by region operations</a>.
-</p>
-<dl class="wide-table">
-<dt><kbd class="menu">Spot (Align)</kbd></dt>
-<dd>Move selected regions to the edit point.</dd>
-<dt><kbd class="menu">Split</kbd></dt>
-<dd>Split selected regions at the edit point.</dd>
-<dt><kbd class="menu">Trim Start</kbd></dt>
-<dd>Adjust the start of selected regions to the edit point (or as close as
-possible).</dd>
-<dt><kbd class="menu">Trim End</kbd></dt>
-<dd>Adjust the end of selected regions to the edit point (or as close as
-possible).</dd>
-<dt><kbd class="menu">Duplicate</kbd></dt>
-<dd>Make a copy of each selected region and position it immediately after the
-original.</dd>
-<dt><kbd class="menu">Crop</kbd></dt>
-<dd>Truncate selected regions to the edit range.</dd>
-<dt><kbd class="menu">Separate</kbd></dt>
-<dd>Split selected regions at both ends of the edit range.</dd>
-<dt><kbd class="menu">Set Fade In</kbd></dt>
-<dd>Adjust selected audio regions' fade in to end at the edit point.</dd>
-<dt><kbd class="menu">Set Fade Out</kbd></dt>
-<dd>Adjust selected audio regions' fade out to end at the edit point.</dd>
-<dt><kbd class="menu">Toggle Fade In</kbd></dt>
-<dd>Turn selected audio regions' fade in on or off.</dd>
-<dt><kbd class="menu">Toggle Fade Out</kbd></dt>
-<dd>Turn selected audio regions' fade out on or off.</dd>
-<dt><kbd class="menu">Play Region</kbd></dt>
-<dd>Play session from the start of the earliest selected region.</dd>
-<dt><kbd class="menu">Zoom To Region</kbd></dt>
-<dd>Zoom horizontally so that the selected regions span the editor track
-view.</dd>
-<dt><kbd class="menu">Set Sync Point</kbd></dt>
-<dd>Set the sync point of all selected regions to the edit point.</dd>
-<dt><kbd class="menu">Insert</kbd></dt>
-<dd>Inserts the currently selected regions in the Region List at the edit
-point.</dd>
-</dl>
diff --git a/_manual/18_editing-and-arranging/04_change-region-lengths.html b/_manual/18_editing-and-arranging/04_change-region-lengths.html
deleted file mode 100644 (file)
index a9cafaa..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
----
-layout: default
-title: Trimming Regions
----
-
-<p>
-  Changing the <dfn>length</dfn> of a region is a very common editing
-  operation, often known as <dfn>trimming</dfn>. There are several ways
-  to accomplish this with Ardour, and some very useful specialized trimming
-  operations.
-</p>
-
-<h2>Drag-Trimming With the Mouse</h2>
-<p>
-  In object mode, move the pointer near the beginning or end of the region.
-  The cursor will change to indicate that trimming is possible, and you then
-  <kbd class="mouse">Left</kbd>-drag the edge of the region.
-</p>
-<p>
-  Trimming will obey <a href="/ardours-interface/the-grid-controls/">Snap settings</a>.
-</p>
-
-<h2>Click Trimming With the Mouse</h2>
-<p>
-  <kbd class="mouse">Left</kbd>-click in the colored bar at the bottom of a region.
-  If you are nearer to the start of a region, this will trim the start time to the
-  position of the pointer. If you are nearer to the end of a region, it will trim the
-  end time.
-</p>
-
-<h2>Keyboard Shortcuts for Trimming</h2>
-<p>
-  There are several commands for region trimming. Some use the
-  <a href="/ardours-interface/the-edit-point-control/">edit point</a> to determine where
-  to trim to. Some are not bound to any keys by default (but could be via the
-  Keybindings Editor).
-</p>
-
-<dl class="wide-table">
-  <dt><kbd class="menu">Region/trim-front</kbd> <kbd>j</kbd></dt>
-  <dd>Trim selected region(s) start to edit point.</dd>
-  <dt><kbd class="menu">Region/trim-end</kbd> <kbd>k</kbd></dt>
-  <dd>Trim selected region(s) end to edit point.</dd>
-</dl>
-
-<h2 id="trimtonextprevious">Trim to Next/Previous Region</h2>
-<p>
-  Sometimes you just want to extend the start or end of region so that it reaches
-  the end or start of an adjacent region. There is now an operation accessible
-  from the region context menu, under <kbd class="menu">Edit &gt;Trim &gt; Trim to
-  Next</kbd> or <kbd class="menu">Edit &gt; Trim &gt; Trim to Previous</kbd>. This
-  will extend the selected regions so they directly adjoin their neighbours, unless
-  their source files are not long enough, in which case they will be extended to the
-  maximum possible. Trim to Next will extend the end of the selected regions to the
-  start of the next region; Trim to Previous will extend the start of the selected
-  regions to the end of the previous region.
-</p>
-<dl class="wide-table">
-  <dt><kbd class="menu">Region/trim-to-previous-region</kbd> <kbd class="mod1">j</kbd></dt>
-  <dd>Trim the start of selected region(s) to the end of the previous
-  region.</dd>
-  <dt><kbd class="menu">Region/trim-to-next-region</kbd> <kbd class="mod1">k</kbd></dt>
-  <dd>Trim the end of selected region(s) to the start of the following
-  region.</dd>
-</dl>
-
-<h2>Other Possible Commands for Trimming</h2>
-<p>
-  These are not bound to any keys by default, but could be via the Keybindings
-  Editor. They can also be sent via OSC or other control protocols.
-</p>
-<dl class="wide-table">
-  <dt><kbd class="menu">Region/trim-region-to-loop</kbd></dt>
-  <dd>Trim region to match the current loop range.</dd>
-  <dt><kbd class="menu">Region/trim-region-to-punch</kbd></dt>
-  <dd>Trim region to match the current punch range.</dd>
-</dl>
-
-{% children %}
diff --git a/_manual/18_editing-and-arranging/04_change-region-lengths/01_pushpull-trimming.html b/_manual/18_editing-and-arranging/04_change-region-lengths/01_pushpull-trimming.html
deleted file mode 100644 (file)
index 3531a3c..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: default
-title: Push/Pull Trimming
----                        
-
-<p>
-  Normally, when you trim regions by dragging with the mouse, it affects 
-  only the selected regions. Their lengths are directly affected by the 
-  trim operation, but nothing else is. Sometimes though, you might like 
-  to trim a region that directly adjoins another, and keep this relationship
-  the same &mdash;  you are not trying to make one of the regions extend 
-  over the other &mdash; you would like the junction to move in one 
-  direction or the other as part of the trim. This requires trimming both 
-  regions on either side of the junction, in opposite directions. 
-  <dfn>Push/Pull trim</dfn>, activated by pressing shift key before 
-  starting the drag, will do just that. Here's a few pictures to show the 
-  difference in the results of a normal trim and push/pull trim. First, 
-  the initial situation:
-</p>
-<img src="/images/a3_before_trim.png" alt="region arrangement before trim" />
-<p>
-  Here is what happens after we trim the right hand (selected) region by 
-  dragging its starting position earlier:
-</p>
-<img src="/images/a3_after_trim.png" alt="region arrangement after a trim" />
-<p>
-  You can see that it now overlaps the earlier region and a crossfade has 
-  been created between them.
-</p>
-<p>
-  Lets look now at what happens if we do the same trim, but <kbd
-  class="mouse mod3">Left</kbd>-dragging to turn it into a push-pull trim instead:
-</p>
-<img src="/images/a3_after_push_trim.png" alt="region arrangement after a push trim" />
-<p>
-  There is no overlap, and the end of the earlier region has been moved 
-  along with the start of the later region, so that they still directly 
-  adjoin each other.
-</p>
-  
diff --git a/_manual/18_editing-and-arranging/05_copy-regions.html b/_manual/18_editing-and-arranging/05_copy-regions.html
deleted file mode 100644 (file)
index 72b5234..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: default
-title: Copy Regions
----                        
-  
-<h2>Copy a Single Region</h2>
-<p>
-  To copy a region, make sure you are in object mouse mode. Move the mouse 
-  pointer into the region and <kbd class="mouse mod1">left</kbd>-drag. Ardour 
-  creates a new region and follows the mouse pointer as it moves. See 
-  <a href="/editing-and-arranging/move-regions/">Move Regions</a> for more 
-  details on moving the copied region.
-</p>
-
-<h2>Copy Multiple Regions</h2>
-<p>
-  To copy multiple regions, select them before copying. Then 
-  <kbd class="mouse mod1">left</kbd>-drag one of the selected regions. All the 
-  regions will be copied and as they move. The copied regions will keep their 
-  positions relative to each other.
-</p>
-
-<h2>Fixed-Time Copying</h2>
-<p>
-  If you want to copy region(s) to other track(s) but keep the copies at the 
-  exact position on the timeline as the originals, simply use 
-  <kbd class="mouse mod1">Middle</kbd>-drag instead.
-</p>
-  
diff --git a/_manual/18_editing-and-arranging/06_move-regions.html b/_manual/18_editing-and-arranging/06_move-regions.html
deleted file mode 100644 (file)
index 3e6e8fb..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
----
-layout: default
-title: Move Regions
----
-
-<p>
-  Ardour has a global <dfn>edit mode</dfn> selector at the left of the
-  Editing toolbar, which affect how regions are moved or copied:</p>
-<dl>
-  <dt><kbd class="menu">Slide</kbd></dt>
-  <dd>Regions move freely. Ardour creates overlaps when necessary.</dd>
-  <dt><kbd class="menu">Lock</kbd></dt>
-  <dd>No region motion is permitted (except for "nudge").</dd>
-  <dt><kbd class="menu">Ripple</kbd></dt>
-  <dd>The effect of an edit is reflected in the regions to the "right" of the edit</dd>
-</dl>
-<h2>More details about Ripple</h2>
-<p>
-  Ripple Edit mode provides the following conveniences:
-  <ul>
-    <li> Deleting a range will move later regions to compensate for the deleted time </li>
-    <li> Deleting a region will move later regions to compensate for the deleted region's length </li>
-    <li> Moving a region will move later regions to compensate for the length of the move</li>
-    <li> Inserting a new region (via dragging or via Paste) will move later regions to the right to compensate</li>
-  </ul>
-</p>
-<p class="note">
-  If <kbd class="menu">Snap To Grid</kbd> is enabled, then regions can
-  only move so that they align with locations determined by the current
-  snap settings (beats, or seconds, or other region boundaries, etc).
-  See <a href="/ardours-interface/the-grid-controls/">Snap To the Grid</a> 
-  for details.
-</p>
-
-
-
-{% children %}
diff --git a/_manual/18_editing-and-arranging/06_move-regions/01_move-regions-with-the-mouse.html b/_manual/18_editing-and-arranging/06_move-regions/01_move-regions-with-the-mouse.html
deleted file mode 100644 (file)
index 7c6ee98..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
----
-layout: default
-title: Move Regions With the Mouse
----                        
-
-<p>
-  To move or copy a region, make sure you are in object mode. If you are 
-  using smart mode, the pointer must be in the lower half of the region 
-  to begin a move or copy operation.
-</p>
-<p>
-  Move the pointer into the region, use a <kbd class="mouse">Left</kbd>-drag. 
-  The region will follow the pointer as you move it around. By default, 
-  the region can move freely along the timeline. 
-</p>
-<p>
-  To move a region from one track to another, simply start a move as 
-  described above, but move the pointer into the desired track. The 
-  region will follow the pointer. Note that if you have other kinds of 
-  tracks visible, the region will remain where it is as the pointer 
-  moves across them, and will then jump to the new track. This serves as 
-  a visual reminder that you cannot drag an audio region into an automation 
-  track or a bus, for example.
-</p>
-
-<h2>Move Multiple Regions</h2>
-<p>
-  To move multiple regions, select them before moving. Then 
-  <kbd class="mouse">Left</kbd>-drag one of the selected regions. All the 
-  regions will move, keeping their positions relative to each other.
-</p>
-
-<h2>Fixed-Time Motion</h2>
-<p>
-  Sometimes, you want to move a region to another track, but keeping its 
-  position along the timeline exactly the same. To do this, use 
-  <kbd class="mouse">Middle</kbd>-drag instead.
-</p>
-  
diff --git a/_manual/18_editing-and-arranging/06_move-regions/02_align-spotting-regions.html b/_manual/18_editing-and-arranging/06_move-regions/02_align-spotting-regions.html
deleted file mode 100644 (file)
index acb8e8c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-layout: default
-title: Align (Spot) Regions
----
-
-<p>
-  Aligning regions (sometimes called "spotting") means moving one or more
-  regions based on a defined location, which in Ardour is always the
-  <a href="/ardours-interface/the-edit-point-control/">edit point</a>. An 
-  alignment operation moves the region(s) so that some part of the region
-  is positioned at the edit point. Available alignment commands include:
-</p>
-<dl class="wide-table">
-  <dt>Align Region starts <kbd class="mod14">a</kbd></dt>
-  <dd>Selected region(s) are moved so that their start is located at the current edit point</dd>
-  <dt>Align Region ends <kbd class="mod2">a</kbd></dt>
-  <dd>Selected region(s) are moved so that the end is located at the current edit point</dd>
-  <dt>Align Region sync points <kbd>Shift-a</kbd></dt>
-  <dd>Selected region(s) are moved so that their sync point is located at the current edit point</dd>
-  <dt>Align Region starts relative <kbd class="mod4">a</kbd></dt>
-  <dd>Selected region(s) are moved so that the start of the earliest region is located at the current edit point, and all others maintain their relative position relative to that region</dd>
-</dl>
diff --git a/_manual/18_editing-and-arranging/07_create-region-fades-and-crossfades.html b/_manual/18_editing-and-arranging/07_create-region-fades-and-crossfades.html
deleted file mode 100644 (file)
index 59e7010..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
----
-layout: default
-title: Create Region Fades and Crossfades
----
-<p>Every Region has a fade-in and fade-out. By default, the region fade 
-is very short, and serves to de-click the transitions at the start and 
-end of the region.  By adjusting the regions fade length, a more 
-gradual transition can be accomplished.<br></p>
-
-<h2>Region Fades</h2>
-<p> <dfn>Region fades</dfn>  are possible at the beginning and end of
-all audio regions. In object mode, a grip appears at the top left and
-top right of an audio region when the cursor hovers over it. Placing
-the cursor over the top of the grip displays the region fade cursor
-tip. Click and drag the grip left or right in the timeline to 
-adjust the length of the fade.<br>
-</p>
-<h2>Crossfades</h2>
-<p> <dfn>Crossfades</dfn> refer to the behavior when you want to make
-a smooth transition (mix) from one audio region to another on the same
-track. Historically, this was done by splicing 2 pieces of analog
-tape together, and this concept was carried forward into digital
-editing. Each track is a sequence of sound files (regions). If
-two regions are butted against each other, there needs to be a method
-to splice them smoothly together. The crossfade allows one region
-to fade smoothly out, while the next region fades smoothly in, like 2
-pieces of tape that have been cut at and angle, and overlapped.<br>
-</p>
-<p>But Ardour uses a more refined "layered" editing model, and
-therefore it is possible for multiple regions to be stacked on a single
-location with arbitrary overlaps between different layers. For
-this reason, crossfades must be implemented differently. We can't
-assume that a crossfade is an entitry that exists between 2 regions;
-instead each region must have its own associated crossfades at each
-end, and the topmost region must always crossfade down to the
-underlying region(s), if any.<br>
-</p>
-<p>Ardour solves this problem by putting a crossfade at the beginning
-and end of every region. The fades of the bottom-most region are
-first rendered, and then each region is rendered on top of the one
-below it, with fades at the end of each region providing a crossfade to
-the region(s) beneath it. <br>
-</p>
-<p>It is important to understand that region fades <em>are</em> crossfades. When one region has
-another region or multiple regions beneath its fade area, then you will
-hear the topmost region fade-out be mirrored as a fade-in on the
-underlying region(s). The grip for the topmost region will allow
-changing the length and type of the crossfade into the underlying
-region(s). In this way you can create a complicated series of
-crossfades, and then layer another region atop the others, and fade
-into _that_ complicated series. <em>An image here would
-probably help.</em><br>
-</p>
-<p>If a region doesn't have any region(s) under it, then the region is
-crossfaded to silence; for convenience we call this a "fade"
-rather than a crossfade.<br>
-</p>
-<h2>Fade Shapes<br>
-</h2>
-<p>To activate/deactivate or change the shape of a region's fadein or
-fade-out, hover the cursor over the regionfade grip till the cursor tip
-indicates region fade editing and context-click to bring up a context
-menu. In the context menu there is a list of options for the
-regionfade. <kbd class="menu">Activate/Deactivate</kbd> enables and
-disables the regionfade.<br>
-</p>
-<p>Because each fade is also a crossfade, it has an inverse fade shape
-for the audio beneath the fade. It is important to know how the
-shapes differ, and which are most suitable for various editing tasks.<br>
-</p>
-<p>The different types of fades are:<br>
-</p>
-<ul>
-  <li><kbd class="menu">Linear</kbd> : A simple linear coefficient decrease, and its
-mathematical inverse. A Linear fade starts attentuating quickly
-and then cuts off even more abruptly at lower levels. When used
-as a crossfade, the signals are each -6dB attenuated at the midpoint.
-This is the correct crossfade to use with highly-correlated signals for
-a smooth transition.<br>
-  </li>
-  <li><kbd class="menu">Constant Power</kbd> : The constant power curve starts fading
-slowly and then cuts off abruptly. When used as a crossfade
-between 2 audio regions, the signals are symetrically attenuated, and
-they each reach -3dB at the midpoint. This is the correct crossfade to
-use when you want to splice audio in the general ( uncorrelated ) case.<br>
-  </li>
-  <li><kbd class="menu">Symmetric</kbd> : The Symmetric fade starts slowly, then
-attenuates significantly before transitioning to a slower fade-out near
-the end of the fade. When used as a crossfade, the Symmetric
-curve is not mathematically correct like the Equal Power or Linear
-curves, but it provides a slower fade-out at low volumes. This is
-sometimes useful when editing 2 entire music works together so that the
-transition is more gradual.<br>
-  </li>
-  <li><kbd class="menu">Fast</kbd> : The Fast curve is a linear decibel fade; It sounds
-like a perfectly smooth fader or knob moved to silence. This shape is
-excellent as a general-purpose fade-in. When used as a
-crossfade, the inverse fade curve maintains constant power but is
-therefore non-symmetric; so its use is limited to those cases where the
-user finds it appropriate.</li>
-  <li><kbd class="menu">Slow</kbd> : The Slow curve is a modified linear decibel fade.
-The initial curve starts more gradually so that it has a less
-abrupt transition near unity. After that, it sounds like a
-perfectly smooth fader or knob moved to silence. This shape is excellent as
-a general-purpose fade-out. When used as a crossfade, the
-inverse fade curve maintains constant power but is therefore
-non-symmetric; so its use is limited to those cases where the user
-finds it appropriate.<br>
-  </li>
-</ul>
-<p>Although these fade shapes serve specific purposes, you might find that
-any of the shapes is usable in your situation. The final decision
-is an artistic choice rather than a <br></p>
-<br>
-<p>These fade curves are developed to provide a range of common uses, and
-are developed with the least possible amount of changes in the "slope"
-of the line. This provides artifact-free crossfades. Some
-DAWs provide complicated fade editors with parametric "spline" controls
-of the fade curves. While it might be interesting to develop a
-fade curve with a faster cutoff, the mathematical difference between
-this and simply shortening the fade is vanishingly small; and the
-amount of effort to shorten the fade is much easier than messing with a
-crossfade editor dialog.<br></p>
diff --git a/_manual/18_editing-and-arranging/08_separation.html b/_manual/18_editing-and-arranging/08_separation.html
deleted file mode 100644 (file)
index 33720d9..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
----
-layout: default
-title: Separation
----                        
-
-
-{% children %}
diff --git a/_manual/18_editing-and-arranging/08_separation/01_separate-under.html b/_manual/18_editing-and-arranging/08_separation/01_separate-under.html
deleted file mode 100644 (file)
index 9d5292b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: default
-title: Separate Under
----                        
-
-<p>
-  You may have a situation where you have positioned one region over another, 
-  and you just want to cut the lower region so that it directly adjoins both 
-  ends of the overlapping one, with no overlaps. To do this, select the upper 
-  region, then choose <kbd class="menu">Edit &gt; Separate &gt; Separate
-  Under</kbd>. This will split the lower region so that it no longer overlaps 
-  the upper region at all. <br />
-  Here is an example where we start with a short region placed so that it 
-  overlaps a longer region:
-</p>
-<img src="/images/a3_before_separate_under.png" alt="region arrangement before separate under" />
-<p>
-  When we perform the <dfn>Separate Under</dfn> edit, the lower region splits 
-  in two, with boundaries exactly positioned at the edges of the upper region:
-</p>
-<img src="/images/a3_after_separate_under.png" alt="region arrangement after separate under" />
-<p>
-  If the upper region covers only one end of the lower region, then this 
-  operation is equivalent to 
-  <a href="/editing-and-arranging/change-region-lengths/#trimtonextprevious">Trim to Next or Trim to Previous</a>, 
-  depending on which end is covered.
-</p>
-  
diff --git a/_manual/18_editing-and-arranging/08_separation/02_separate-range.html b/_manual/18_editing-and-arranging/08_separation/02_separate-range.html
deleted file mode 100644 (file)
index ee5c65d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
-title: Separate Range
----                        
-
-<p>
-  A final new editing feature is an operation in the context menu of a 
-  range labelled <kbd class="menu">Separate Regions Under Range</kbd>. 
-  This splits any selected regions that are covered by the range at both 
-  ends of the range (or just one, if the range only covers part of the 
-  region). This makes it easy to generate regions that correspond 
-  precisely to a range.
-</p>
-  
diff --git a/_manual/18_editing-and-arranging/09_strip-silence-from-audio-regions.html b/_manual/18_editing-and-arranging/09_strip-silence-from-audio-regions.html
deleted file mode 100644 (file)
index 8062c32..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: default
-title: Strip Silence from Audio Regions
-menu_title: Stripping Silence
----                        
-
-<p>
-  From the region context menu, choose <kbd class="menu">Edit &gt; Strip
-  Silence</kbd> to detect silence (based on a user-chosen threshold in 
-  <abbr title="Decibels relative to Full Scale">dBFS</abbr>), split a 
-  region based on the boundaries of the silent segments, and remove the 
-  silence. You can also specify a minimum length for silence &mdash; 
-  useful when editing very percussive material and just needing to 
-  automatically trim the ends of a region. The dialog looks like this:
-</p>
-<img src="/images/a3_strip_silence.png" alt="strip silence dialog" />
-<p>
-  The edit applies to all selected regions, allowing batch processing. 
-  You can also see in the screenshot how the main editor window is used 
-  to show silent segments and report the number and durations of the 
-  shortest segments.
-</p>
-  
diff --git a/_manual/19_automation.html b/_manual/19_automation.html
deleted file mode 100644 (file)
index e14a309..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: default
-title: Automation
----                        
-
-{% children %}
diff --git a/_manual/19_automation/01_midi-scenes.html b/_manual/19_automation/01_midi-scenes.html
deleted file mode 100644 (file)
index 8b641f1..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: default
-title: MIDI Scene Automation
----                        
-
-<p>
-Ardour is capable of being used to both record and deliver MIDI
-"scene" automation. These are MIDI messages typically used to switch
-presets or "scenes" on a variety of external equipment (or
-software), including lighting and other audio/video tools. A common
-use case is to automatically change presets between songs or to change
-lighting conditions based on a specific position on the timeline.
-</p>
-<p>
-Each change from one scene to another is represented by a marker in
-the "Marker" bar. 
-</p>
-<p>
-Technically, scene changes are delivered as a combination of bank and
-program change MIDI messages. MIDI allows for 16384 banks, each with
-128 programs.
-</p>
-
-<h2>Recording Scene Changes</h2>
-
-<p>
-Ardour has a dedicated MIDI port named "Scene In". Connect this port
-to whatever source(s) of MIDI scene (bank/program change) messages you
-wish to record.
-</p>
-<p>
-Whenever the global record enable button is engaged and Ardour's
-transport is rolling, a new marker will be created for each scene
-change message received via the "Scene In" port. 
-</p>
-<p>
-If 2 different scene changes are received within a certain time
-period, only the later one will be recorded as a new marker. The
-default threshold for this is 1 millisecond.
-</p>
-<p>
-If a scene change message is received while the playhead is close to
-an existing marker with an associated scene change, the recording
-process will alter the scene change in the existing marker rather than
-adding a new one. The default threshold for this "proximity" test is 1
-millisecond.
-</p>
-
-<h2>Manually Creating Scene Changes</h2>
-
-<p>
-This feature is not currently implemented.
-</p>
-
-<h2>Playing back Scene Changes</h2>
-
-<p>
-Ardour has a dedicated MIDI port named "Scene Out". Connect this port
-to wherever you wish to send MIDI scene (bank/program change) messages.
-</p>
-<p>
-When the global record enable button is
-<em>not</em> enabled, the relevant message(s) will be sent via the
-"Scene Out" port as the playhead rolls past each marker with a scene
-change associated with it.
-</p>
-
-<h2>Editing Scene Changes</h2>
-
-<p>
-This feature is not currently implemented.
-</p>
-
-<h2>Disabling Scene Changes</h2>
-
-<p>
-This feature is not currently implemented.
-</p>
-
-{% children %}
diff --git a/_manual/20_mixing.html b/_manual/20_mixing.html
deleted file mode 100644 (file)
index 1ece4d5..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: default
-title: Mixing
----                        
-
-{% children %}
diff --git a/_manual/20_mixing/01_muting-and-soloing.html b/_manual/20_mixing/01_muting-and-soloing.html
deleted file mode 100644 (file)
index 9d00564..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
----
-layout: default
-title: Muting and Soloing
----                        
-
-<p>
-  Each track and bus has two buttons which have important implications 
-  for signal flow: <dfn>mute</dfn> and <dfn>solo</dfn>. The behaviour 
-  of these buttons is configurable in Ardour, to suit different studio 
-  set-ups.
-</p>
-
-<h2>Without a monitor bus</h2>
-<p>
-  If you are using Ardour without a monitor bus, there is only one way 
-  in which mute and solo will work:</p>
-<ul>
-  <li>
-    Mute on a track or bus will mute that track on the master bus,
-     so that it will not be heard.
-  </li>
-  <li>
-    Solo on a track or bus will solo that track or bus and mute all 
-    others. Soloing a bus will also solo any tracks or 
-    busses which feed that bus.
-  </li>
-</ul>
-
-<h2>With a monitor bus</h2>
-<p>
-  For setups with a monitor bus, you have more options, mostly 
-  governed by the setting of the 
-  <kbd class="option">Solo controls are Listen controls</kbd> option 
-  in <kbd class="menu">Edit &gt; Preferences &gt; Solo / mute.
-</p>
-<p>
-  With <kbd class="optoff">Solo controls are Listen controls</kbd> 
-  unticked, behaviour is almost exactly the same as the situation 
-  without a monitor bus. Mute and solo behave the same, and the monitor 
-  bus is fed from the master bus, so it sees the same thing.
-</p>
-<p>
-  With <kbc class="option">Solo controls are Listen controls</kbd> 
-  ticked, the master and monitor busses behave differently. In this 
-  mode, solo controls are more properly called <dfn>listen</dfn> 
-  controls, and Ardour's solo buttons will change their legend from 
-  <samp>S</samp> to either <samp>A</samp> or <samp>P</samp> to 
-  reflect this.
-</p>
-<p>
-  Now, without any mute or listen, the monitor bus remains fed by 
-  the master bus. Also:
-</p>
-<ul>
-  <li>
-    Mute will mute the track or bus, so that it will not be heard 
-    anywhere (neither on the master nor monitor busses), much as before.
-  </li>
-  <li>
-    Listen will disconnect the monitor bus from the master bus, so 
-    that the monitor bus now only receives things that are "listened to". 
-    Listen will not perform any muting, and hence the master bus will 
-    not be affected by a listened track or bus.
-  </li>
-</ul>
-<p>
-  When solo controls are listen controls, the listening point can be set
-  to either After-Fade Listen (AFL) or Pre-Fade Listen (PFL). The precise 
-  point to get the signal from can further be configured using the 
-  <kbd class="menu">PFL signals come from</kbd> and 
-  <kbd class="menu">AFL signals come from</kbd> options.
-</p>
-<p>
-  The solo-mute arrangement with a monitor bus is shown below:
-</p>
-<img src="/diagrams/solo-mute.png" alt="mute/solo signal flow" />
-<p> 
-  Here we have a number of tracks or busses (in orange). Each one has an 
-  output which feeds the master bus. In addition, each has PFL and AFL 
-  outputs; we have a choice of which to use. PFL/AFL from each track or 
-  bus are mixed. Then, whenever anything is set to AFL/PFL, the monitor out 
-  becomes just those AFL/PFL feeds; the rest of the time, the monitor out is 
-  fed from the master bus.
-</p>
-<p>
-  In this scheme Solo has no effect other than to mute other non-soloed tracks; 
-  with solo (rather then listen), the monitor out is fed from the master bus.
-</p>
-
-<h2>Other solo options</h2>
-<p>
-  <kbd class="menu">Edit &gt; Preferences &gt;  Solo / Mute</kbd> has some
-  more solo options:
-</p>
-
-<h3>Solo-in-place mute cut</h3>
-<p>
-  When using solo-in-place (SiP), in other words when soloed tracks are being 
-  listened to on the master bus, this fader specifies the gain that will be 
-  applied to other tracks in order to mute them. Setting this level to
-  -∞&nbdp;dB will mean that other tracks will not be heard at all; setting to 
-  some higher value less than 0dB means that other non-soloed tracks will be h
-  eard, just reduced in volume compared to the soloed tracks. Using a value 
-  larger than -∞dB is sometimes called "Solo-In-Front" by other DAWs, because 
-  the listener has the sense that soloed material is "in front" of other 
-  material. In Ardour, this is not a distinct mode, but instead the mute cut 
-  control offers any level of "in-front-ness" that you might want to use.
-</p>
-<h3>Exclusive solo</h3>
-<p>
-  If this is enabled, only one track or bus will ever be soloed at once; soloing 
-  track B while track A is currently soloed will un-solo track A before soloing 
-  track B.
-</p>
-<h3>Show solo muting</h3>
-<p>
-  If this is enabled, the mute button of tracks and busses will be drawn 
-  outlined to indicate that the track or bus is muted because something else 
-  is soloed. This is enabled by default, and we recommend that you leave it 
-  that way unless you are extremely comfortable with Ardour's mute/solo
-  behaviour.
-</p>
-<h3>Soloing overrides muting</h3>
-<p>
-  If this is enabled, a track or bus that is both soloed and muted will behave 
-  as if it is soloed.
-</p>
-<h3>Mute affects…</h3>
-<p>
-  These options dictate whether muting the track will affect various routes out 
-  of the track; through the sends, through the control outputs (to the monitor 
-  bus) and to the main outputs.
-</p>
-  
diff --git a/_manual/20_mixing/02_panning.html b/_manual/20_mixing/02_panning.html
deleted file mode 100644 (file)
index e26a297..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
----
-layout: default
-title: Panning
----                        
-
-<p>
-  <dfn>Panning</<dfn> is the process of distributing one or more signals
-  across a series of outputs so that the listener will have the
-  experience of them coming from a particular point or area of the
-  overall listening field.
-</p>
-<p>
-  It is used to create a sense of space and/or a sense of motion in an
-  audio mix. You can spread out different signals across the space, and
-  make them move over time.
-</p>
-
-<h2>Types of Panners</h2>
-<p>
-  The way a panner works depends a great deal on how many signals it
-  is going to process and how many outputs it will send them to. The
-  simplest case is distributing a single signal to 2 outputs, which is
-  the common case when using a "mono" track and a stereo speaker
-  setup.
-</p>
-<p>
-  But panning in Ardour could theoretically involve distributing any
-  number of signals to any number of ouputs. In reality, Ardour does
-  not have specific panners for each different situation. Currently,
-  it has dedicated panners for the following situations:
-</p>
-  <ul>
-    <li>1 signal distributed to 2 outputs (the mono panner)</li>
-    <li>2 signals distributed to 2 outputs (the stereo panner)</li>
-    <li>N signals distributed to M outputs (the VBAP panner)</li>
-  </ul>
-<p>  
-  Even for each of these cases, there are many different ways to
-  implement panning. Ardour currently offers just one solution to each
-  of these situations, but in the future will offer more.
-</p>
-<p>
-  In addition to the panners, Ardour has a balance control for subtle
-  corrections to existing stereo images.
-</p>
-
-{% children %}
diff --git a/_manual/20_mixing/02_panning/01_mono_panner.html b/_manual/20_mixing/02_panning/01_mono_panner.html
deleted file mode 100644 (file)
index 2a4d535..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: default
-title: Mono Panner
----                        
-
-<p>
-The default <dfn>mono panner</dfn> distributes 1 input to 2 outputs. Its
-behaviour is controlled by a single parameter, the <dfn>position</dfn>. By
-default, the panner is centered.
-</p>
-
-<h2>Mono Panner User Interface</h2>
-
-<img src="/images/mono-panner-annotated.png" alt="image of the mono panner"/>
-
-<p class="note">
-  The mono panner looks a quite similar to the
-  <a href="/mixing/panning/stereo_panner/">stereo panner</a>
-  interface. The difference is that the L/R labels in the lower half
-  of the mono panner do not move because there is no "width" to
-  control.
-</p>
-
-<h2>Using the mouse</h2>
-
-<p>To change the position smoothly, press the right button and drag
-  anywhere within the panner. <em>Note: you do not need
-  to grab the position indicator in order to drag</em>
-</p>
-
-<dl class="faq">
-
-<dt>Reset to defaults</dt>
-<dd>Click <kbd class="mod3 mouse">right</kbd></dd>
-
-<dt>Change to a "hard left"</dt>
-<dd>Double click <kbd class="mouse">right</kbd> in the left side
-  of the panner</dd>
-
-<dt>Change to a "hard right"</dt>
-<dd>Double click <kbd class="mouse">right</kbd> in the right side
-  of the panner</dd>
-
-<dt>Set the position to center</dt>
-<dd>Double Click <kbd class="mouse">right</kbd> in the middle of the panner</dd>
-</dl>
-
-<h2>Keyboard bindings</h2>
-
-<p>
-When the pointer is within a mono panner user interface, the following
-keybindings are available to operate on that panner:
-</p>
-
-<dl>
-  <dt><kbd>&larr;</kbd> / <kbd class="mod1">&larr;</kbd></dt>
-  <dd>move position 1&deg; / 5&deg; to the left</dd>
-  <dt><kbd>&rarr;</kbd> / <kbd class="mod1">&rarr;</kbd></dt>
-  <dd>move position 1&deg; / 5&deg; to the right</dd>
-  <dt><kbd>0</kbd></dt>
-  <dd>reset position to center</dd>
-</dl>
-
-<h2>Using the scroll wheel/touch scroll</h2>
-
-<p>
-When the pointer is within a mono panner user interface, the scroll
-wheel may be used as follows:
-</p>
-
-<dl>
-  <dt><kbd class="mouse">&uArr;</kbd> or <kbd class="mouse">&lArr;</kbd></dt>
-  <dd>move position to the left by 1&deg;</dd>
-  <dt><kbd class="mod1 mouse">&uArr;</kbd> or <kbd class="mod1 mouse">&lArr;</kbd></dt>
-  <dd>move position to the left by 5&deg;</dd>
-  <dt><kbd class="mouse">&dArr;</kbd> or <kbd class="mouse">&rArr;</kbd></dt>
-  <dd>move position to the right by 1&deg;</dd>
-  <dt><kbd class="mod1 mouse">&dArr;</kbd> or <kbd class="mod1 mouse">&rArr;</kbd></dt>
-  <dd>move position to the right by 5&deg;</dd>
-</dl>
diff --git a/_manual/20_mixing/02_panning/02_balance_control.html b/_manual/20_mixing/02_panning/02_balance_control.html
deleted file mode 100644 (file)
index b735809..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-layout: default
-title: Balance Control
----                        
-
-<p>
-  For stereo tracks, you can now switch between the default stereo panner 
-  and a traditional <dfn>balance control</dfn> by right-clicking on the
-  panner widget.
-</p>
-<img class="left" src="/images/stereo-balance.png" alt="Stereo Balance
-control"/>
-<p>
-  When the balance is centered, the incoming signals will be unaffected.
-  Moving it to one side will linearly attenuate the signal of the opposite
-  side.
-</p>
-<p class="note">
-  While the balance control is considerably less flexible than the stereo 
-  panner, it works with arbitrary content without danger of introducing
-  comb filter artefacts.
-</p>
diff --git a/_manual/20_mixing/02_panning/03_stereo_panner.html b/_manual/20_mixing/02_panning/03_stereo_panner.html
deleted file mode 100644 (file)
index c25feb7..0000000
+++ /dev/null
@@ -1,249 +0,0 @@
----
-layout: default
-title: Stereo Panner
----                        
-
-<p>
-  The default <dfn>stereo panner</dfn> distributes two inputs to two outputs. Its
-  behaviour is controlled by two parameters, <dfn>width</dfn> and
-  <dfn>position</dfn>. By default, the panner is centered at full width.
-</p>
-<p>
-  The stereo panner assumes that the signals
-  you wish to distribute are either uncorrelated (i.e. totally 
-  independent), or that they contain a stereo image which is 
-  <dfn>mono-compatible</dfn>, such as a co-incident microphone recording, or a 
-  sound stage that has been created with pan pots.<sup><a href="#caveat">*</a></sup>
-</p>
-<p class="note">
-  With the default values it is not possible to alter the position,
-  since the width is already spread entirely across both outputs. To
-  alter the position, you must first reduce the width.
-</p>
-
-<h2>Stereo Panner User Interface</h2>
-
-<img src="/images/stereo-panner-annotated.png" alt=""/>
-<p>
-  The <dfn>panner user interface</dfn> consists of three elements, divided between
-  the top and bottom half. Click and/or drag in the top half to
-  control position; click and/or drag in the bottom half to control
-  width (see below for details).
-</p>
-<p>
-  In the top half is the position indicator, which shows where the
-  center of the stereo image is relative to the left and right
-  edges. When this is the middle of the panner, the stereo image is
-  centered between the left and right outputs. When it all the way to
-  the left, the stereo image collapses to just the left speaker. 
-</p>
-<p>
-  In the bottom half are two signal indicators, one marked "L" and the
-  other "R". The distance between these two shows the width of the
-  stereo image. If the width is reduced to zero, there will only be a
-  single signal indicator marked "M" (for mono), whose color will
-  change to indicate the special state.
-</p>
-<p>
-  It is possible to invert the outputs (see below) so that whatever
-  would have gone to the right channel goes to the left and vice
-  versa. When this happens, the entire movable part of the panner
-  changes color to indicate clearly that this is the case. 
-</p>
-
-<h3>Position vs. L/R</h3>
-
-<p>
-  Although the implementation of the panner uses the "position"
-  parameter, when the user interface displays it numerically, it shows 
-  a pair of numbers that will be familiar to most audio engineers. 
-</p>
-
-<table>
-<tr><th>Position</th><th>L/R</th><th>English</th></tr>
-<tr><td>0</td><td>L=50% R=50%</td><td>signal image is midway between
-    left and right speakers</td></tr>
-
-<tr><td>-1</td><td>L=100% R=0%</td><td>signal image is entirely
-    at the left speaker</td></tr>
-
-<tr><td>1</td><td>L=0% R=100%</td><td>signal image is entirely
-    at the right speaker</td></tr>
-</table>
-
-<p>
-  One way to remember this sort of convention is that the middle of the
-  USA is not Kansas, but "Los Angeles: 50% New York: 50%". 
-</p>
-
-<h3>Examples In Use</h3>
-
-<table>
-<tr><th>Appearance</th><th>Settings</th></tr>
-<tr><td><img src="/images/stereo-panner.png"></td><td>Width=100%,
-    L=50 R=50</td></tr>
-<tr><td><img src="/images/stereo-panner-zero.png"></td><td>Width=0%,
-    L=50 R=50</td></tr>
-<tr><td><img src="/images/stereo-panner-inverted.png"></td><td>Width=-100%, Position = 0 (center)</td></tr>
-<tr><td><img src="/images/stereo-panner-right.png"></td><td>Width=36%,
-    L=44 R=56</td></tr>
-<tr><td><img src="/images/stereo-panner-hard-right.png"></td><td>Width=0%,
-    L=0 R=100</td></tr>
-</table>
-
-<h4>Using the mouse</h4>
-
-<p>
-  Mouse operations in the upper half of the panner adjust the position
-  parameter, constrained by the current width setting. 
-</p>
-<p>
-  Mouse operations in the lower half of the panner adjust the width
-  parameter, constrained by the current position setting. 
-</p>
-<p>
-  To change the position smoothly, press the right button and drag
-  within the top half of the panner, then release. The position will
-  be limited by the current width setting. <em>Note: you do not need
-  to grab the position indicator in order to drag.</em>
-</p>
-<p>
-  To change the width smoothly, press the right button and drag
-  within the lower half of the panner, then release. The width will be
-  limited by the current position setting. <em>Note: you do not need to
-  grab the L/R indicators in order to drag.</em>
-</p>
-
-<dl class="faq">
-
-<dt>Reset to defaults</dt>
-<dd>Click <kbd class="mod3 mouse">right</kbd></dd>
-
-<dt>Change to hard left</dt>
-<dd>Double click <kbd class="mod2 mouse">right</kbd> in the upper left half
-  of the panner</dd>
-
-<dt>Change to a hard right</dt>
-<dd>Double click <kbd class="mod2 mouse">right</kbd> in the upper right half
-  of the panner</dd>
-
-<dt>Move position as far left as possible, given width</dt>
-<dd>Double click <kbd class="mouse">right</kbd> in the upper left half of the
-  panner</dd>
-
-<dt>Move position as far right as possible, given width</dt>
-<dd>Double click <kbd class="mouse">right</kbd> in the upper right half of the
-  panner</dd>
-
-<dt>Set the position to center</dt>
-<dd>Click <kbd class="mouse">right</kbd> in the upper middle of the panner</dd>
-
-<dt>Reset to maximum possible width</dt>
-<dd>Double click <kbd class="mouse">right</kbd> on the lower left side</dd>
-
-<dt>Invert (flip channel assignments)</dt>
-<dd>Double click <kbd class="mouse">right</kbd> on the lower right side</dd>
-
-<dt>Set width to 0&deg;</dt>
-<dd>Double click <kbd class="mouse">right</kbd> in the lower middle</dd>
-</dl>
-
-<h4>Keyboard bindings</h4>
-
-<p>
-  When the pointer is within a stereo panner user interface, the following
-  keybindings are available to operate on that panner:
-</p>
-
-<dl>
-  <dt><kbd>&uarr;</kbd> / <kbd class="mod1">&uarr;</kbd></dt>
-  <dd>increase width by 1&deg; / 5&deg;</dd>
-  <dt><kbd>&darr;</kbd> / <kbd class="mod1">&darr;</kbd></dt>
-  <dd>decrease width by 1&deg; / 5&deg;</dd>
-  <dt><kbd>&larr;</kbd> / <kbd class="mod1">&larr;</kbd></dt>
-  <dd>move position 1&deg; / 5&deg; to the left</dd>
-  <dt><kbd>&rarr;</kbd> / <kbd class="mod1">&rarr;</kbd></dt>
-  <dd>move position 1&deg / 5&deg; to the right</dd>
-  <dt><kbd>0</kbd></dt>
-  <dd>reset position to center</dd>
-  <dt><kbd class="mod2">&uarr;</kbd></dt>
-  <dd>reset width to full (100%)</dd>
-</dl>
-
-<h4>Using the scroll wheel/touch scroll</h4>
-
-<p>
-  When the pointer is within a stereo panner user interface, the scroll
-  wheel may be used as follows:
-</p>
-
-<dl>
-  <dt><kbd class="mouse">&lArr;</kbd> / <kbd class="mod1 mouse">&lArr;</kbd></dt>
-  <dd>increase width by 1&deg; / 5&deg;</dd>
-  <dt><kbd class="mouse">&rArr;</kbd> / <kbd class="mod1 mouse">&rArr;</kbd></dt>
-  <dd>decrease width by 1&deg; / 5&deg;</dd>
-  <dt><kbd class="mouse">&uArr;</kbd> / <kbd class="mod1 mouse">&uArr;</kbd></dt>
-  <dd>move position 1&deg; / 5&deg; to the left</dd>
-  <dt><kbd class="mouse">&dArr;</kbd> / <kbd class="mod1 mouse">&dArr;</kbd></dt>
-  <dd>move position 1&deg; / 5&deg;to the right</dd>
-</dl>
-
-<h2><a name="caveat"></a>Stereo panning caveats</h2>
-
-<p class="warning">
-The stereo panner will introduce unwanted side effects on
-material that includes a time difference between the channels, such
-as A/B, ORTF or NOS microphone recordings, or delay-panned mixes.<br />   
-When you reduce the with, you are effectively summing two highly
-correlated signals with a delay, which will cause <dfn>comb filtering</dfn>.
-</p>
-<p>  
-Let's take a closer look at what happens when you record a source at 45° to the
-right side with an ORTF stereo microphone array and then manipulate the width.
-</p>
-<p>
-For testing, we apply a <dfn>pink noise</dfn> signal to both inputs of an Ardour stereo
-bus with the stereo panner, and feed the bus output to a two-channel analyser. 
-Since pink noise contains equal energy per octave, the expected readout is a
-straight line, which would indicate that our signal chain does not color the
-sound:
-</p>
-<img src="/images/stereo-panner-with-ORTF-fullwidth.png" />
-<p>
-To simulate an ORTF, we use Robin Gareus' stereo balance
-control LV2 to set the level difference and time delay. Ignore the Trim/Gain
-&mdash; its purpose is just to align the test signal with the 0dB line of the
-analyser.
-</p>
-<p> 
-Recall that an <dfn>ORTF</dfn> microphone pair consists of two cardioids spaced 17 cm
-apart, with an opening angle of 110°.
-For a far source at 45° to the right, the time difference between the capsules 
-is 350 &mu;s or approximately 15 samples at 44.1 kHz. The level difference 
-due to the directivity of the microphones is about 7.5 dB (indicated by the 
-distance between the blue and red lines in the analyser).
-</p>
-<p>
-Now for the interesting part: if we reduce the width of the signal to 50%,
-the time-delayed signals will be combined in the panner. Observe what
-happens to the frequency response of the left and right outputs:
-</p>
-<img src="/images/stereo-panner-with-ORTF-halfwidth.png" />
-<p>
-You may argue that all spaced microphone recordings will undergo comb 
-filtering later, when the two channels recombine in the air between the speakers.
-Perceptually however, there is a huge of difference: our hearing system is
-very good at eliminating comb filters in the real world, where their component
-signals are spatially separated. But once you combine them
-inside your signal chain, this spatial separation is lost and the brain will
-no longer be able to sort out the timbral mess. As usual, you
-get to keep the pieces.
-</p>
-<p class="note">
-Depending on your material and on how much you need to manipulate the width,
-some degree of comb filtering may be acceptable. Then again, it may not. Listen
-carefully for artefacts if you manipulate unknown stereo signals &mdash; many
-orchestra sample libraries for example do contain time-delay components.
-</p>
-
-
diff --git a/_manual/20_mixing/02_panning/04_vbap_panner.html b/_manual/20_mixing/02_panning/04_vbap_panner.html
deleted file mode 100644 (file)
index 132628f..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
----
-layout: default
-title: VBAP Panner
----                        
-
-<p class="warning">
-  Ardour's VBAP panner is currently in development, and its semantics may
-  change in the near future, possibly affecting your mixes. Please do not
-  rely on it for important production work while the dust settles.
-</p>
-<p>
-  <dfn><abbr title="Vector-base Amplitude Panning">VBAP</abbr></dfn> 
-  is a versatile and straightforward method to pan a source around over an
-  arbitrary number of speakers on a horizontal polygon or a 3D surface,
-  even if the speaker layout is highly irregular.
-</p>
-
-<h2>Basic concepts</h2>
-<p>
-  VBAP was developed by Ville Pulkki at Aalto University, Helsinki, in 2001.
-  It works by distributing the signal to the speakers nearest to the desired
-  direction with appropriate weightings, aiming to create a maximally sharp 
-  phantom source by using as few speakers as possible:
-</p>
-<ul>
-  <li>one speaker, if the desired direction coincides with a speaker
-  location,</li>
-  <li>two speakers, if the desired direction is on the line between two
-  speakers,</li>
-  <li>and three speakers in the general 3D case.</li>
-</ul>
-<p>
-  Thus, if you move the panner onto a speaker, you can be sure that only
-  this speaker will get any signal. This is handy when you need precise
-  1:1 routing.<br />
-  The drawback of VBAP is that a moving source will constantly change its 
-  apparent sharpness, as it transitions between the three states mentioned 
-  above.
-</p>
-<p>
-  A <dfn>horizontal</dfn> VBAP panner has one parameter, the <dfn>azimuth
-  angle</dfn>. A <dfn>full-sphere</dfn> panner offers an additional 
-  <dfn>elevation angle</dfn> control.
-</p>
-<p class="note">
-  More elaborate implementations of VBAP also include a
-  <dfn>spread</dfn> parameter, which  will distribute the signal over a 
-  greater number of speakers in order to maintain constant (but no longer 
-  maximal) sharpness, regardless of position. Ardour's VBAP panner does not 
-  currently include this feature.
-</p>
-
-<h2>Speaker layout</h2>
-<p>
-  Each VBAP panner is specific to its <dfn>speaker layout</dfn>
-  &mdash; the panner has
-  to "know" about the precise location of all the speakers. A complete VBAP
-  implementation must therefore include the possibility to define this
-  layout.
-</p>
-<img src="/images/VBAP-panner-5.png" class="small right" alt="The VBAP
-panner with 5 outputs"/>
-<p>
-  Ardour currently uses a simplified approach: if a track or bus has more
-  than two output channels (which implies stereo), it assumes that you
-  have N speakers distributed in a regular N-gon. That means that for
-  irregular layouts such as 5.1 or 7.1, the direction you dial in will
-  differ a bit from the actual auditory result, but you can still achieve
-  any desired spatialisation.
-</p>
-<h3>Experimental 3D VBAP</h3>
-<img src="/images/VBAP-panner-10.png" class="small right" alt="The VBAP
-panner with 10 outputs, in experimental 3D mode"/>
-<p>
-  For tracks with 10 outputs, Ardour will currently assume a 3-dimensional
-  speaker layout corresponding to Auro-3D 10.1, which is a horizontal 5.1
-  system, four elevated speakers above L, R, Ls, and Rs, and an additional
-  "voice-of-god" speaker at the zenith.
-</p>
-
-<h2>N:M panning</h2>
-<img src="/images/VBAP-panner-4in5.png" class="small right" alt="The VBAP
-panner in 4 in, 5 out mode"/>
-<p>
-  For tracks and busses with more than one input, Ardour will (for now) assume that
-  you wish to distribute the inputs symmetrically along the latitude around
-  the panner direction. The width parameter controls the opening angle of
-  the distribution sector.
-</p>
diff --git a/_manual/21_exporting.html b/_manual/21_exporting.html
deleted file mode 100644 (file)
index 02fd29b..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
----
-layout: default
-title: Exporting
----                        
-  
-{% children %}
-  
diff --git a/_manual/21_exporting/01_export-dialog.html b/_manual/21_exporting/01_export-dialog.html
deleted file mode 100644 (file)
index 8f6dfc4..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
----
-layout: default
-title: Export Dialog
----                        
-
-<p>
-When you have finished mixing your session, you probably want to export it to a sound 
-file to burn to a CD, upload to the web, or whatever. <kbd class="menu">Session &gt; Export &gt; Export to Audio file(s)...</kbd>
-shows the Export Dialog to do this.
-     
-</p>
-<p>
-You can also export the outputs of multiple tracks &amp; busses all at once via 
-<kbd class="menu">Session &gt; Export &gt; Stem Export...</kbd>.
-</p>
-
-<h2>File Format</h2>
-<img src="/images/export-dialog-file-format.png" />
-<p>
-This tab contains controls for the format of the exported audio file.
-You can enable more than one format here, in which case each will be exported in turn.
-Ardour is supplied with a list of export formats, including:
-<ul>
-<li>CD (Red Book)</li>
-<li>DVD-A</li>
-<li>FLAC 24 bit </li>
-<li>FLAC 24 bit (tagged)</li>
-<li>Ogg_Vorbis</li>
-<li>Ogg_Vorbis (tagged)</li>
-<li>Ring Tone</li>
-</ul>
-You can edit these formats, or create your own, with the <a href="/exporting/edit-export-format-profile/">"Edit Export Format Profile"</a> dialog, which
-appears when you click the "Edit" or "New" button to the right of the drop-down list of formats.
-</p>
-
-<p>
-You can also create a 'Preset' consisting of one or more formats. Ardour provides some ready-made presets, too:
-
-<ul>
-<li>CD + DVD-A</li>
-<li>CD + FLAC</li>
-<li>CD + FLAC (tagged)</li>
-<li>CD + Ogg_Vorbis + FLAC (tagged)</li>
-<li>CD + Ogg_Vorbis</li>
-<li>CD + Ogg_Vorbis (tagged)</li>
-<li>CD only</li>
-<li>DVD-A only</li>
-<li>FLAC</li>
-<li>FLAC (tagged)</li>
-<li>Ogg_Vorbis + FLAC</li>
-<li>Ogg_Vorbis + FLAC (tagged)</li>
-<li>Ogg_Vorbis </li>
-<li>Ogg_Vorbis (tagged)</li>
-</ul>
-</p>
-
-<h3>Soundcloud upload</h3>
-<p>
-When 'Upload to Soundcloud' is ticked on in any format's tab, a pane containing fields
-to enter in Soundcloud account details (email and password), and what should happen
-to the uploaded files will become visible.
-</p>
-<img src="/images/soundcloud-upload.png" />
-<p>
-<dl>
-<dt>Make files public</dt><dd>Choose whether to make uploaded files available to anyone via the Soundcloud web site.</dd>
-<dt>Open uploaded files in browser</dt><dd>Open each file on soundcloud in your browser after upload. 
-If you don't enable this, you can still see the URLs in the <a href="">Log window</a>.</dd>
-<dt>Make files downloadable</dt><dd>Choose whether to allow downloading of files uploaded to Soundcloud.</dd>
-</dl>
-</p>
-
-
-
-
-<h2>Time Span</h2>
-<img src="/images/export-dialog-timespan.png" />
-<p>
-This tab allows you to select the range (or ranges) of the timeline to export. By default, "session" is
-enabled - this will export the whole session from the start marker to the end marker.
-</p>
-
-
-<h2>Channels</h2>
-<img src="/images/export-dialog-channels.png" />
-<p>
-Here you can choose which outputs (tracks or busses) should be sent to the exported file.
-</p>
-
-<h2>Stem Export</h2>
-<img src="/images/export-dialog-stem-export.png" />
-<p>
-If you chose 'Stem Export', the 'Channels' tab appears slightly differently:
-in this case each chosen channel (track or bus) is exported to its own file,
-instead of all channels being mixed together into a single file. You can
-choose to export either the region contents or the track output here in this
-case.
-</p>
-
-{% children %}
-
-
diff --git a/_manual/21_exporting/02_edit-export-format-profile.html b/_manual/21_exporting/02_edit-export-format-profile.html
deleted file mode 100644 (file)
index 2b75d78..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
----
-layout: default
-title: Export Format Profiles
----
-
-<h2>Export Format Profiles</h2>
-
-<p>
-An Export Format Profile specifies the file format in which Ardour will export
-audio files, and also other audio file export options.
-</p>
-
-<p>
-Export Format Profiles are edited via the 'Edit Export Format Profile' dialog.
-</p>
-
-<img src="/images/edit-export-format-profile.png" />
-<p>
-<h3>Normalize</h3>
-<p>
-If enabled, peak levels of exported files will be normalized to the level chosen here.
-</p>
-
-<h3>Trim/Add silence at start/end</h3>
-<p>
-
-</p>
-
-<h3>Compatibility/Quality/File format/Sample rate</h3>
-<h4>Compatibility</h4>
-<p>
-Selecting an item in the 'Compatibility' column will display options in the
-other columns that are incompatible with that item in red.
-</p>
-
-<h4>Quality</h4>
-<p>
-The appropriate item in the 'Quality' column will be highlighted when you
-choose a file format. Clicking on items in the 'Quality' column currently
-doesn't seem to do anything useful.
-</p>
-
-<h4>File format</h4>
-<p>
-This column contains a list of Ardour's supported export file types. Click on
-the format you want to use.
-</p>
-
-<h4>Sample rate</h4>
-<p>
-You can explicitly choose the sample rate of your exported files here, or
-choose 'Session rate' to export in the current session's sample rate, without
-sample rate conversion.
-</p>
-
-<h4>Sample rate conversion quality</h4>
-<p>
-If your chosen sample rate does not match the current session's sample rate,
-choose the sample rate conversion quality here. Better quality options are
-slower.
-</p>
-
-<h3>Options</h3>
-<p>
-Options relevant to the chosen file format will appear here.
-Categories of audio file format are:
-<ul>
-<li>Linear encoding</li>
-<li>Broadcast Wave</li>
-<li>Ogg Vorbis</li>
-<li>FLAC</li>
-</ul>
-
-<p>
-Available options include a selection of the following:</p>
-
-<h4>Sample Format</h4>
-<p>
-Choose the bit depth of exported files.
-</p>
-
-<h4>Dithering</h4>
-<p>
-If the exported files bit depth is less than Ardour's native bit depth,
-choose the dithering algorithm to use.
-</p>
-
-<h4>Create CUE file/Create TOC file</h4>
-<p>
-As well as exporting an audio file, create a file (in CUE or TOC format
-respectively) containg CD track information, as defined in the
-<a href="/ardours-interface/editor-lists/ranges-and-marks-list/">Ranges &amp; Marks List</a>.
-
-
-<h4>Tag with session's metadata</h4>
-<p>
-If the exported file format supports metadata, use data entered in the
-<a href="/working-with-sessions/metadata/">Session Metadata</a>
-window to tag the exported files.
-</p>
-
-
-<h3>Label</h3>
-<p>
-The 'Label' field lets you choose the name which will be shown for this format
-in the drop-down list of export formats in the 'File Formats' tab of the
-<a href="/exporting/export-dialog/">Export dialog</a>.
-
-<h3>Command to run post-export</h3>
-<p>
-If this is not blank, it is considered as a command to be run after the export
-of each file. Either the command must exist in $PATH, or you can specify an
-absolute path to an executable file here.
-</p>
-
-<p>
-Certain sequences are allowed here to stand for the exported file name and the
-like. Currently these are:
-<dl>
-<dt><code>%f</code></dt>
-<dd>Full path &amp; filename of the exported audio file</dd>
-<dt><code>%d</code></dt>
-<dd>Directory containing the exported audio file (including trailing directory separator)</dd>
-<dt><code>%b</code></dt>
-<dd>Basename of the exported audio file (without extension)</dd>
-<dt><code>%s</code></dt>
-<dd>Path to the current session file</dd>
-<dt><code>%n</code></dt>
-<dd>Name of the current session file</dd>
-<dt><code>%%</code></dt>
-<dd>A literal percent sign</dd>
-</dl>
-<p>
-Any part of the command-line enclosed in double-quotes (") will be used as-is.
-
-{% children %}
diff --git a/_manual/22_synchronization.html b/_manual/22_synchronization.html
deleted file mode 100644 (file)
index 752f2b8..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
----
-layout: default
-title: Synchronization
----                        
-
-<p>Ardour can be synchronized with a variety of external devices and other software.</p>
-
-{% children %}
diff --git a/_manual/22_synchronization/01_on-clock-and-time.html b/_manual/22_synchronization/01_on-clock-and-time.html
deleted file mode 100644 (file)
index 6c86377..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: default
-title: On Clock and Time
----
-
-<p>
-  <dfn>Synchronization</dfn> in multimedia involves two concepts which are 
-  often confused: <dfn>clock</dfn> (or speed) and <dfn>time</dfn> (location 
-  in time).
-</p>
-
-<p>
-  A <dfn>clock</dfn> determines the speet at which one or more systems 
-  operate. In the audio world this is generally referred to as 
-  <a href="https://en.wikipedia.org/wiki/Word_clock" title="https://en.wikipedia.org/wiki/Word_clock">Word Clock</a>.
-  It does not carry any absolute reference to a point in time: A clock is 
-  used to keep a system's sample rate regular and accurate.
-  Word clock is usually at the frequency of the sample rate &mdash; 
-  at 48&nbsp;kHz, its period is about 20&nbsp;μs. Word Clock is the most 
-  common sample rate based clock but other clocks do exist such as Black and 
-  Burst, Tri-Level and DARS. Sample rates can be derived from these clocks as well.
-</p>
-
-<p>
-  Time or <dfn>timecode</dfn> specifies an absolute  position on a timeline, 
-  such as <code>01:02:03:04</code> (expressed as Hours:Mins:Secs:Frames). It is 
-  actual <em>data</em> and not a clock <em>signal</em> per se.
-  The granularity of timecode is <dfn>Video Frames</dfn> and is an order of 
-  magnitude lower than, say, Word Clock which is counted in 
-  <dfn>samples</dfn>. A typical frame rate is 25&nbsp;<abbr title="frames
-  per second">fps</abbr> with a period of
-  40&nbsp;ms.
-  In the case of 48&nbsp;kHz and 25&nbsp;fps, there are 1920 audio samples 
-  per video frame.
-</p>
-
-<p>
-  The concepts of clock and timecode are reflected in JACK and Ardour:
-</p>
-
-<p>
-  JACK provides clock synchronization and is not concerned with time code 
-  (this is not entirely true, more on jack-transport later).
-  On the software side, jackd provides sample-accurate synchronization 
-  between all JACK applications.
-  On the hardware side, JACK uses the clock of the audio-interface. 
-  Synchronization of multiple interfaces requires hardware support to sync 
-  the clocks.
-  If two interfaces run at different clocks the only way to align the 
-  signals is via re-sampling (SRC - Sample Rate Conversion), which is
-  expensive in terms of CPU usage and may decreases fidelity if done
-  incorrectly.
-</p>
-
-<p>
-  Timecode is used to align systems already synchronized by a clock to 
-  a common point in time, this is application specific and various 
-  standards and methods exist to do this.
-</p>
-
-<p class="note">
-  To make things confusing, there are possibilities to synchronize clocks 
-  using timecode. e.g. using mechanism called <dfn>jam-sync</dfn> and a 
-  <dfn>phase-locked loop</dfn>.
-</p>
-
-<p>
-  An interesting point to note is that LTC (Linear Time Code) is a 
-  Manchester encoded, frequency modulated signal that carries both 
-  clock and time. It is possible to extract absolute position data 
-  and speed from it.
-</p>
-
diff --git a/_manual/22_synchronization/02_latency-and-latency-compensation.html b/_manual/22_synchronization/02_latency-and-latency-compensation.html
deleted file mode 100644 (file)
index 28494a6..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
----
-layout: default
-title: Latency and Latency-Compensation
-menu_title: Latency
----
-
-<p>
-  <a
-  href="http://en.wikipedia.org/wiki/Latency_%28audio%29"><dfn>Latency</dfn></a> 
-  is a system's reaction time to a given stimulus. There are many factors that 
-  contribute to the total latency of a system. In order to achieve exact time 
-  synchronization all sources of latency need to be taken into account and 
-  compensated for.
-</p>
-
-<h2>Sources of Latency</h2>
-
-<h3>Sound propagation through the air</h3>
-<p>
-  Since sound is a mechanical perturbation in a fluid, it travels at 
-  comparatively slow <a href="http://en.wikipedia.org/wiki/Speed_of_sound">speed</a> 
-  of about 340 m/s. As a consequence, your acoustic guitar or piano has a 
-  latency of about 1&ndash;2 ms, due to the propagation time of the sound 
-  between your instrument and your ear. 
-</p>
-<h3>Digital-to-Analog and Analog-to-Digital conversion</h3>
-<p>
-  Electric signals travel quite fast (on the order of the speed of light), 
-  so their propagation time is negligible in this context. But the conversions 
-  between the analog and digital domain take a comparatively long time to perform, 
-  so their contribution to the total latency may be considerable on
-  otherwise very low-latency systems. Conversion delay is usually below 1&nbsp;ms.
-</p>
-<h3>Digital Signal Processing</h3>
-<p>
-  Digital processors tend to process audio in chunks, and the size of that chunk 
-  depends on the needs of the algorithm and performance/cost considerations. 
-  This is usually the main cause of latency when you use a computer and one you 
-  can try to predict and optimize.
-</p>
-<h3>Computer I/O Architecture</h3>
-<p>
-  A computer is a general purpose processor, not a digital audio processor. 
-  This means our audio data has to jump a lot of fences in its path from the 
-  outside to the CPU and back, contending in the process with some other parts 
-  of the system vying for the same resources (CPU time, bus bandwidth, etc.) 
-</p>
-
-<h2>The Latency chain</h2>
-
-<img src="/diagrams/latency-chain.png"  title="Latency chain" alt="Latency chain" />
-<p>
-  <em>Figure: Latency chain.</em> 
-  The numbers are an example for a typical PC. With professional gear and an 
-  optimized system the total roundtrip latency is usually lower. The important 
-  point is that latency is always additive and a sum of many independent factors.
-</p>
-
-<p>
-  Processing latency is usually divided into <dfn>capture latency</dfn> (the time 
-  it takes for the digitized audio to be available for digital processing, usually 
-  one audio period), and <dfn>playback latency</dfn> (the time it takes for
-  In practice, the combination of both matters. It is called <dfn>roundtrip 
-  latency</dfn>: the time necessary for a certain audio event to be captured, 
-  processed and played back.
-</p>
-<p class="note">
-  It is important to note that processing latency in a jackd is a matter of
-  choice. It can be lowered within the limits imposed by the hardware (audio 
-  device, CPU and bus speed) and audio driver. Lower latencies increase the 
-  load on the system because it needs to process the audio in smaller chunks 
-  which arrive much more frequently. The lower the latency, the more likely 
-  the system will fail to meet its processing deadline and the dreaded
-  <dfn>xrun</dfn> (short for buffer over- or under-run) will make its 
-  appearance more often, leaving its merry trail of clicks, pops and crackles.
-</p>
-
-<p>
-  The digital I/O latency is usually negligible for integrated or 
-  <abbr title="Periphal Component Interface">PCI</abbr> audio devices, but 
-  for USB or FireWire interfaces the bus clocking and buffering can add some 
-  milliseconds.
-</p>
-
-
-<h2>Low Latency usecases</h2>
-<p>
-  Low latency is <strong>not</strong> always a feature you want to have. It 
-  comes with a couple of drawbacks: the most prominent is increased power 
-  consumption because the CPU needs to process many small chunks of audio data,
-  it is constantly active and can not enter power-saving mode (think fan-noise). 
-  Since each application that is part of the signal chain must run in every 
-  audio cycle, low-latency systems will undergo<dfn>context switches</dfn> 
-  between applications more often, which incur a significant overhead.  
-  This results in a much higher system load and an increased chance of xruns. 
-</p>
-<p>
-  For a few applications, low latency is critical:
-</p>
-<h3>Playing virtual instruments</h3>
-<p>
-  A large delay between the pressing of the keys and the sound the instrument 
-  produces will throw-off the timing of most instrumentalists (save church 
-  organists, whom we believe to be awesome latency-compensation organic systems.)
-</p>
-<h3>Software audio monitoring</h3>
-<p>
-  If a singer is hearing her own voice through two different paths, her head 
-  bones and headphones, even small latencies can be very disturbing and
-  manifest as a tinny, irritating sound.
-</p>
-<h3>Live effects</h3>
-<p>
-  Low latency is important when using the computer as an effect rack for
-  inline effects such as compression or EQ. For reverbs, slightly higher
-  latency might be tolerable, if the direct sound is not routed through the
-  computer. 
-</p>
-<h3>Live mixing</h3> 
-<p>
-  Some sound engineers use a computer for mixing live performances. 
-  Basically that is a combination of the above: monitoring on stage, 
-  effects processing and EQ. 
-</p>
-<p>
-  In many other cases, such as playback, recording, overdubbing, mixing, 
-  mastering, etc. latency is not important, since it can easily be 
-  compensated for.<br />
-  To explain that statement: During mixing or mastering you don&#039;t care 
-  if it takes 10ms or 100ms between the instant you press the play button
-  and sound coming from the speaker. The same is true when recording with a count in.
-</p>
-
-<h2>Latency compensation</h2>
-<p>
-  During tracking it is important that the sound that is currently being 
-  played back is internally aligned with the sound that is being recorded.
-</p>
-<p>
-  This is where latency-compensation comes into play. There are two ways to 
-  compensate for latency in a DAW, <dfn>read-ahead</dfn> and
-  <dfn>write-behind</dfn>. The DAW starts playing a bit early (relative to 
-  the playhead), so that when the sound arrives at the speakers a short time 
-  later, it is exactly aligned with the material that is being recorded.
-  Since we know that play-back has latency, the incoming audio can be delayed 
-  by the same amount to line things up again.
-</p>
-<p>
-  As you may see, the second approach is prone to various implementation 
-  issues regarding timecode and transport synchronization. Ardour uses read-ahead 
-  to compensate for latency. The time displayed in the Ardour clock corresponds 
-  to the audio-signal that you hear on the speakers (and is not where Ardour 
-  reads files from disk).
-</p>
-<p>
-  As a side note, this is also one of the reasons why many projects start at 
-  timecode <samp>01:00:00:00</samp>. When compensating for output latency the 
-  DAW will need to read data from before the start of the session, so that the 
-  audio arrives in time at the output when the timecode hits <samp>01:00:00:00</samp>. 
-  Ardour3 does handle the case of <samp>00:00:00:00</samp> properly but not all 
-  systems/software/hardware that you may inter-operate with may behave the same.
-</p>
-
-<h2>Latency Compensation And Clock Sync</h2>
-
-<p>
-  To achieve sample accurate timecode synchronization, the latency introduced 
-  by the audio setup needs to be known and compensated for.
-</p>
-<p>
-  In order to compensate for latency, JACK or JACK applications need to know 
-  exactly how long a certain signal needs to be read-ahead or delayed:
-</p>
-<img src="/diagrams/jack-latency-excerpt.png"  title="Jack Latency Compensation" alt="Jack Latency Compensation" />
-<p>
-  <em>Figure: Jack Latency Compensation.</em>  
-</p>
-<p>
-  In the figure above, clients A and B need to be able to answer the following 
-  two questions:
-</p>
-<ul>
-  <li>
-    How long has it been since the data read from port Ai or Bi arrived at the
-    edge of the JACK graph (capture)?
-  </li>
-  <li>
-    How long will it be until the data writen to port Ao or Bo arrives at the
-    edge of the JACK graph (playback)?
-  </li>
-</ul>
-
-<p>
-  JACK features an <abbr title="Application Programming Interface">API</abbr> 
-  that allows applications to determine the answers to above questions. 
-  However JACK can not know about the additional latency that is introduced 
-  by the computer architecture, operating system and soundcard. These values 
-  can be specified by the JACK command line parameters <kbd class="input">-I</kbd> 
-  and <kbd class="input">-O</kbd> and vary from system 
-  to system but are constant on each. On a general purpose computer system 
-  the only way to accurately learn about the total (additional) latency is to 
-  measure it.
-</p>
-
-
-<h2>Calibrating JACK Latency</h2>
-<p>
-  Linux DSP guru Fons Adriaensen wrote a tool called <dfn>jack_delay</dfn> 
-  to accurately measure the roundtrip latency of a closed loop audio chain, 
-  with sub-sample accuracy. JACK itself includes a variant of this tool 
-  called <dfn>jack_iodelay</dfn>.
-</p>
-<p>
-  Jack_iodelay allows you to measure the total latency of the system, 
-  subtracts the known latency of JACK itself and suggests values for 
-  jackd's audio-backend parameters.
-</p>
-<p>
-  jack_[io]delay works by emitting some rather annoying tones, capturing 
-  them again after a round trip through the whole chain, and measuring the 
-  difference in phase so it can estimate with great accuracy the time taken. 
-</p>
-<p>
-  You can close the loop in a number of ways:
-</p>
-<ul>
-  <li>
-    Putting a speaker close to a microphone. This is rarely done, as air 
-    propagation latency is well known so there is no need to measure it.
-  </li>
-  <li>
-    Connecting the output of your audio interface to its input using a 
-    patch cable. This can be an analog or a digital loop, depending on 
-    the nature of the input/output you use. A digital loop will not factor 
-    in the <abbr title="Analog to Digital, Digital to Analog">AD/DA</abbr> 
-    converter latency.
-  </li>
-</ul>
-<p>
-  Once you have closed the loop you have to:
-</p>
-<ol>
-  <li>Launch jackd with the configuration you want to test.</li>
-  <li>Launch <kbd class="input">jack_delay</kbd> on the commandline.</li>
-  <li>Make the appropriate connections between your jack ports so the loop is closed.</li>
-  <li>Adjust the playback and capture levels in your mixer.</li>
-</ol>
-
diff --git a/_manual/22_synchronization/03_timecode-generators-and-slaves.html b/_manual/22_synchronization/03_timecode-generators-and-slaves.html
deleted file mode 100644 (file)
index 75cb4dd..0000000
+++ /dev/null
@@ -1,293 +0,0 @@
----
-layout: default
-title: Timecode Generators and Slaves
----
-
-
-<p>
-  Ardour supports three common timecode formats:
-  <abbr title="Linear/Longitudinal Time Code"><dfn>LTC</dfn></abbr>,
-  <abbr title="MIDI Time Code"><dfn>MTC</dfn></abbr>, and
-  <dfn>MIDI Clock</dfn>, as well as 
-  <dfn>JACK-transport</dfn>, a JACK-specific timecode implementation.
-</p>
-<p>
-  Ardour can generate timecode and thus act as timecode <dfn>master</dfn>, 
-  providing timecode information to other applications. Ardour can also be 
-  <dfn>slaved</dfn> to some external source in which case the playhead 
-  follows the incoming timecode.<br />
-  Combining the timecode slave and generator modes, Ardour can also 
-  <dfn>translate</dfn> timecode. e.g create LTC timecode from incoming MTC.
-</p>
-
-
-<h2>Ardour Timecode Configuration</h2>
-
-<p>
-  Each Ardour session has a specific timecode frames-per-second setting which 
-  is configured in <kbd class="menu">session &gt; properties &gt;
-  timecode</kbd>. The selected timecode affects the timecoderuler in the main 
-  window as well as the clock itself.
-</p>
-
-<p>
-  Note that some timecode formats do not support all of Ardour's available 
-  fps settings. MTC is limited to 24, 25, 29.97 and 30 fps.
-</p>
-
-<p>
-  The video pull-up modes change the effective samplerate of Ardour to allow
-  for changing a film soundtrack from one frame rate to another. The concept is 
-  beyond the scope of this manual, but Wikipedia's entry on 
-  <a href="http://en.wikipedia.org/wiki/Telecine">Telecine</a> 
-  may get you started.
-</p>
-
-<h2>Ardour Timecode Generator Configuration</h2>
-
-<p>
-  This is pretty straightforward: simply turn it on. The MTC and MIDI-Clock 
-  generator do not have any options. The LTC generator has a configurable
-  output level. JACK-transport cannot be <em>generated</em>. Jack itself is 
-  always synced to its own cycle and cannot do varispeed &mdash; it will
-  always be synced to a hardware clock or another JACK master.
-</p>
-
-<p>
-  The relevant settings for timecode generator can be found in 
-  <kbd class="menu">Edit &gt; Preferences &gt; MIDI Preferences</kbd> (for MTC,
-  MC) and
-  <kbd class="menu">Edit &gt; Preferences &gt; Transport Preferences</kbd>
-  (for LTC).
-</p>
-
-<p>
-  The timecode is sent to jack-ports <code>ardour:MTC out</code>, 
-  <code>ardour:MIDI clock out</code> and <code>ardour:LTC-out</code>. Multiple 
-  generators can be active simultaneously.
-</p>
-
-<p class="note">
-  Note that, as of Jan 2014, only the LTC generator supports latency 
-  compensation. This is due to the fact the Ardour MIDI ports are not 
-  yet latency compensated.
-</p>
-
-<p>
-  In <kbd class="menu">Session &gt; Properties</kbd>, it is possible to 
-  define an offset between Ardour's internal time and the timecode sent. 
-  Currently only the LTC generator honors this offset.
-</p>
-
-<p>
-  Both LTC and MTC are limited to 30&nbsp;fps. Using frame rates larger 
-  than that will disable the generator. In both cases also only 24, 25, 
-  29.97df (drop-frame) and 30&nbsp;fps are well defined by specifications (such as 
-  SMPTE-12M, EU and the MIDI standard).
-</p>
-
-<h3>MTC Generator</h3>
-<p>
-  The <dfn>MTC generator</dfn> has no options. Ardour sends full MTC 
-  frames whenever the transport is relocated or changes state (start/stop). 
-  MTC <dfn>quarter frames</dfn> are sent when the transport is rolling and 
-  the transport speed is within 93% and 107%.
-</p>
-
-<h3>LTC Generator</h3>
-<p>
-  The level of the <dfn>LTC generator</dfn> output signal can be configured 
-  in in the <kbd class="menu">Preferences &gt; Transport</kbd> dialog. By 
-  default it is set to -18&nbsp;dBFS, which corresponds to 0dBu in an EBU 
-  calibrated system.
-</p>
-<p>
-  The LTC generator has an additional option to keep sending timecode even 
-  when the transport is stopped. This mode is intended to drive analog tape 
-  machines which unspool the tape if no LTC timecode is received.
-</p>
-<p>
-  LTC is send regardless of Ardour's transport speed. It is accurately 
-  generated even for very slow speeds (&lt;5%) and only limited by the 
-  soundcard's sampling-rate and filter (see 
-  <a
-  href="http://en.wikipedia.org/wiki/Gibbs_phenomenon#Signal_processing_explanation">Gibbs phenomenon</a>) 
-  for high speeds.
-</p>
-
-
-<h2>Ardour Slave Configuration</h2>
-<p> 
-  The timecode source can be switched with the button just right of 
-  Ardour's main clock. By default it is set to <kbd
-  class="menu">Internal</kbd> in which case Ardour will ignore any external 
-  timecode. The button allows to toggle between Internal and the configured 
-  timecode source which is chosen in <kbd class="menu">Edit &gt; Preferences 
-  &gt; Transport</kbd>.
-</p>
-<p>
-  When Ardour is <dfn>chasing</dfn> (synchronizing to) an external timecode 
-  source, the following cases need to be distinguished:
-</p>
-<ol>
-  <li>the timecode source shares the clock</li>
-  <li>the timecode source is independent (no wordclock sync)</li>
-</ol>
-<p>and</p>
-<ol>
-  <li>the timecode source uses the same FPS setting as Ardour</li>
-  <li>the timecode source runs at different frames-per-second</li>
-</ol>
-<p>
-  In both cases the first option is preferred: clock sync + same FPS setting.
-</p>
-
-<h3>Frames-per-second</h3>
-<p>
-  If the frames-per-second do not match, Ardour can either re-calculate 
-  and map the frames, or the configured FPS (<kbd class="menu">Session &gt;
-  Properties</kbd>) can be changed automatically while the slave is active. 
-  The behavior is configured with the checkbox <kbd class="option">Edit 
-  &gt; Preferences &gt; Transport &gt; Match session video frame rate to 
-  external timecode</kbd>.
-</p>
-<p>
-  When enabled, the session video frame rate will be changed to match that 
-  of the selected external timecode source. When disabled, the session video 
-  frame rate will not be changed to match that of the selected external 
-  timecode source. Instead the frame rate indication in the main clock will 
-  flash red, and Ardour will convert between the external timecode standard 
-  and the session standard.
-</p>
-<p class="warning">
-  29.97 drop-frame timecode is another corner case. While the SMPTE 12M-1999 
-  specifies 29.97df as 30000/1001 frames per second, not all hardware devices 
-  follow that standard. The checkbox 
-  <kbd class="option">Lock to 29.9700 fps instead of 30000/1001</kbd> allows 
-  to use a compatibility mode for those devices.<br />
-  When enabled, the external timecode source is assumed to use 29.970000 fps 
-  instead of 30000/1001. SMPTE 12M-1999 specifies 29.97df as 30000/1001. The 
-  <abbr title="specification">spec</abbr> further mentions that drop-frame 
-  timecode has an accumulated error of -86&nbsp;ms over a 24-hour period. 
-  Drop-frame timecode would compensate exactly for a NTSC color frame rate 
-  of 30 * 0.9990 (ie 29.970000). That is <em>not</em> the actual rate. However, 
-  some vendors use that rate &mdash;  despite it being against the specs
-  &mdash;  because the variant of using exactly 29.97 fps yields zero timecode 
-  drift.
-</p>
-
-<h3>Clock Sync Lock</h3>
-<p>
-  As described in the 
-  <a href="http://manual.ardour.org/synchronization/on-clock-and-time/">On Clock and Time</a>
-  chapter, timecode and clock are independent. If the external timecode 
-  source is not in sample-sync with the audio hardware (and JACK), Ardour 
-  needs to run at varispeed to adjust for the discrepancy.
-</p>
-<p>
-  The checkbox <kbd class="option">External timecode is sync locked</kbd> 
-  allows to select the behavior according to your setup. When enabled, it 
-  indicates that the selected external timecode source shares sync (Black 
-  &amp; Burst, Wordclock, etc) with the audio interface.
-</p>
-<p>
-  In other words: if enabled, Ardour will only perform initial 
-  synchronization and keep playing at speed 1.0 instead of vari-speed 
-  adjusting to compensate for drift.
-</p>
-<p class="note">
-  Note that vari-speed is unavailable when recording in Ardour, and all 
-  tracking happens at speed 1.0. So if you want to record in sync with 
-  external timecode it must be sample-locked or it will drift over time.
-</p>
-
-<h3>MIDI Clock</h3>
-<p>
-  <dfn>MIDI Clock</dfn> is not a timecode format but tempo-based time. The 
-  absolute reference point is expressed as beats-per-minute and Bar, Beat 
-  and Tick. There is no concept of sample-locking for MIDI clock signals. 
-  Ardour will vari-speed if necessary to chase the incoming signal.
-</p>
-<p>
-  Note that the MIDI Clock source must be connected to the 
-  <code>ardour:MIDI clock in</code> port.
-</p>
-
-<h3>LTC - Linear Timecode</h3>
-<p>
-  The <dfn>LTC</dfn> slave decodes an incoming LTC signal on a JACK audio 
-  port. It will auto-detect the frame rate and start locking to the signal
-   once two consecutive LTC frames have been received.
-</p>
-<p>
-  The incoming timecode signal needs to arrive at the 
-  <code>ardour:LTC-in</code> port. Port-connections are restored for each 
-  session and the preference dialog offers an option to select it for all 
-  sessions.
-</p>
-<p>
-  Ardour's transport is aligned to LTC-frame start/end positions according 
-  to the SMPTE 12M-1999 specification, which means that the first bit of an 
-  LTC-Frame is aligned to different Lines of a Video-Frame, depending on the 
-  TV standard used. Only for Film (24fps) does the LTC-Frame directly match 
-  the video Frame boundaries.
-</p>
-
-<img src="/diagrams/ltc-transport-alignment.png"  title="LTC frame alignment" alt="LTC frame alignment"/>
-<p><em>Figure: LTC frame alignment for the 525/60 TV standard</em></p>
-
-<p>
-  Ardour supports vari-speed and backwards playback but will only follow 
-  speed changes if the <kbd class="optoff">sync locked</kbd> option is 
-  disabled.
-</p>
-<p>
-  While Ardour is chasing LTC, the main transport clock will display the 
-  received Timecode as well as the delta between the incoming signal and 
-  Ardour's transport position.
-</p>
-<p>
-  A global offset between incoming timecode and Ardour's transport can be 
-  configured in <kbd class="menu">Session &gt; Properties</kbd>.
-</p>
-<p>
-  The user-bits in the received LTC frame are ignored.
-</p>
-
-<h3>MTC - MIDI Timecode</h3>
-<p>
-  Ardour's MTC slave parses <dfn>full timecode messages</dfn> as well as 
-  MTC <dfn>quarter-frame messages</dfn> arriving on the 
-  <code>ardour:MTC in</code> port. The transport will only start rolling 
-  once a complete sequence of 8 quarter frames has been received.
-</p>
-<p>
-  Ardour supports vari-speed and backwards playback but will only follow 
-  MTC speed changes if the <kbd class="optoff">sync locked</kbd> option 
-  is disabled.
-</p>
-<p>
-  When Ardour is chasing MTC, the main transport clock will display the 
-  received Timecode as well as the delta between the incoming signal and 
-  Ardour's transport position.
-</p>
-
-<h3>JACK Transport</h3>
-<p>
-  When slaved to jack, Ardour's transport will be identical to 
-  JACK-transport. As opposed to other slaves, Ardour can be used to control 
-  the JACK transport states (stopped/rolling). No port connections need to 
-  be made for jack-transport to work.
-</p>
-<p>
-  JACK-transport does not support vari-speed, nor offsets. Ardour does not 
-  chase the timecode but is always in perfect sample-sync with it.
-</p>
-<p>
-  JACK-transport also includes temp-based-time information in Bar:Beats:Ticks 
-  and beats-per-minute. However, only one JACK application can provide this 
-  information at a given time. The checkbox 
-  <kbd class="option">Session &gt; Properties &gt; JACK Time Master</kbd>
-  configures Ardour to act as translator from timecode to BBT information.
-</p>
-
diff --git a/_manual/22_synchronization/04_overview-of-timecode-related-settings.html b/_manual/22_synchronization/04_overview-of-timecode-related-settings.html
deleted file mode 100644 (file)
index 03c6945..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
----
-layout: default
-title: Overview of all Timecode related settings
-menu_title: Overview of Timecode settings
----
-
-<p>
-  Timecode settings are accessed from the menu in three places:
-</p>
-
-<ul>
-  <li><kbd class="menu">Session &gt; Properties &gt; Timecode</kbd></li>
-  <li><kbd class="menu">Edit &gt; Preferences &gt; Transport</kbd></li>
-  <li><kbd class="menu">Edit &gt; Preferences &gt; MIDI</kbd></li>
-</ul>
-
-<h2>Timecode Settings</h2>
-<dl>
-  <dt><kbd class="menu">Timecode frames-per-second</kbd></dt>
-  <dd>
-    Configure timecode frames-per-second (23.976, 24, 24.975, 25, 29.97, 
-    29.97 drop, 30, 30 drop, 59.94, 60). Note that all fractional 
-    framerates are actually fps*(1000.0/1001.0).
-  </dd>
-  <dt><kbd class="menu">Pull up/down</kbd></dt>
-  <dd>
-    Video pull-up modes change the effective samplerate of Ardour to 
-    allow for changing a film soundtrack from one frame rate to another. 
-    See <a href="http://en.wikipedia.org/wiki/Telecine">Telecine</a>
-  </dd>
-  <dt><kbd class="menu">Slave Timecode offset</kbd></dt>
-  <dd>
-    The specified offset is added to the received timecode (MTC or
-    LTC).
-  </dd>
-  <dt><kbd class="menu">Timecode Generator offset</kbd></dt>
-  <dd>
-    Specify an offset which is added to the generated timecode (so far only LTC).
-  </dd>
-  <dt><kbd class="option">JACK Time Master</kbd></dt>
-  <dd>
-    Provide Bar|Beat|Tick and other information to JACK.
-  </dd>
-</dl>
-<p>These settings are session specific.</p>
-
-
-<h2>Transport Preferences</h2>
-<dl>
-  <dt><kbd class="menu">External timecode source</kbd></dt>
-  <dd>
-    Select timecode source: JACK, LTC, MTC, MIDI Clock
-  </dd>
-  <dt><kbd class="option">Match session video frame rate to external timecode</kbd></dt>
-  <dd>
-    This option controls the value of the video frame rate <em>while 
-    chasing</em> an external timecode source. When enabled, the 
-    session video frame rate will be changed to match that of the selected 
-    external timecode source. When disabled, the session video frame rate 
-    will not be changed to match that of the selected external timecode 
-    source. Instead the frame rate indication in the main clock will flash 
-    red and Ardour will convert between the external timecode standard and 
-    the session standard.
-  </dd>
-  <dt><kbd class="option">External timecode is sync locked</kbd></dt>
-  <dd>
-    Indicates that the selected external timecode source shares sync (Black 
-    &amp; Burst, Wordclock, etc) with the audio interface.
-  </dd>
-  <dt><kbd class="option">Lock to 29.9700 fps instead of 30000/1001</kbd></dt>
-  <dd>
-    The external timecode source is assumed to use 29.97 fps instead of 
-    30000/1001. SMPTE 12M-1999 specifies 29.97df as 30000/1001. The spec 
-    further mentions that drop-frame timecode has an accumulated error of -86ms 
-    over a 24-hour period. Drop-frame timecode would compensate exactly for a 
-    NTSC color frame rate of 30 * 0.9990 (ie 29.970000). That is not the actual 
-    rate. However, some vendors use that rate &mdash; despite it being against 
-    the specs &mdash; because the variant of using exactly 29.97 fps has zero 
-    timecode drift.
-  </dd>
-  <dt><kbd class="menu">LTC incoming port</kbd></dt>
-  <dd>
-    Offers a session agnostic way to retain the LTC port connection.
-  </dd>
-  <dt><kbd class="option">Enable LTC generator</kbd></dt>
-  <dd>Does just what it says.</dd>
-  <dt><kbd class="option">Send LTC while stopped</kbd></dt>
-  <dd>
-    Enable to continue to send LTC information even when the transport 
-    (playhead) is not moving. This mode is intended to drive analog tape 
-    machines which unspool the tape if no LTC timecode is received.
-  </dd>
-  <dt><kbd class="menu">LTC generator level</kbd></dt>
-  <dd>
-    Specify the Peak Volume of the generated LTC signal in dbFS. A good value 
-    is 0&nbsp;dBu (which is -18&nbsp;dbFS in an EBU calibrated system).
-  </dd>
-</dl>
-<p>These settings are common to all sessions.</p>
-
-
-<h2>MIDI Preferences</h2>
-<dl>
-  <dt><kbd class="option">Send MIDI Timecode</kbd></dt><dd>Enable MTC generator</dd>
-  <dt><kbd class="option">Send MIDI Clock</kbd></dt><dd>Enable MIDI Clock generator</dd>
-</dl>
-<p>These settings are also common to all sessions.</p>
-
diff --git a/_manual/23_default-keyboard-bindings.html b/_manual/23_default-keyboard-bindings.html
deleted file mode 100644 (file)
index 83e7ad6..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: default
-title: Default Keyboard Bindings
-menu-title: Key Bindings
----
-
-<p>
-  Almost every available function in Ardour can be bound to a keyboard
-  shortcut (and those few that cannot will usually respond to an <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/"><abbr
-  title="Open Sound Control">OSC</abbr> command</a>). Ardour comes with a
-  rich set of default <dfn>key bindings</dfn> for the most commonly used
-  functions.
-</p>
-
-<p>These bindings strive to be <dfn>mnemonic</dfn>, that is, easy and intuitive
-  to remember, and follow widely accepted conventions. As a general rule,
-  the first letter of an operation will be used for as a shortcut, if
-  available. This does not necessarily lead to the best ergonomics for
-  rapid editing &mdash; there are alternative binding sets for that &mdash;
-  but it does make it simpler for newcomers to remember some of the most
-  useful ones, for example<br />
-  <kbd>S</kbd> for <kbd class="menu">Region &gt; Edit &gt; Split"</kbd>
-  or<br />
-   <kbd>P</kbd> for <kbd class="menu">Transport &gt; Playhead &gt; Playhead to Mouse</kbd>.
-</p>
-
-<p>
-  Existing key bindings in menus are listed on the right side of the
-  menu items. To create a custom key binding for a menu item quickly, navigate to
-  the relevant (sub-) menu, hover over the item with the mouse and press
-  the desired combination of modifiers and key.
-</p>
-
-<p class="warning">
-  Ardour will silently re-assign the binding if you use a key
-  combination that is already in use, possibly removing a standard
-  keyboard shortcut without warning you. That might lead to confusion
-  when you ask other users for help, and they explain something in terms
-  of a standard key binding, which will then have a completely
-  different effect on your system.
-</p>
-
-<p>
-  Almost every key binding in Ardour can be looked for and/or changed in
-  <kbd class="menu">Window &gt; Key Bindings</kbd>.
-</p>
-
-<p>
-  The conventions for using modifier keys (<kbd class="mod1">&nbsp;</kbd>, <kbd
-  class="mod2">&nbsp;</kbd>, <kbd class="mod3">&nbsp;</kbd> etc.) differ among platforms, so we
-  provide different default bindings for each.
-</p>
-
-
-{% children %}
diff --git a/_manual/23_default-keyboard-bindings/01_mnemonic-bindings-for-linux.html b/_manual/23_default-keyboard-bindings/01_mnemonic-bindings-for-linux.html
deleted file mode 100644 (file)
index 6893e68..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
----
-layout: default
-title: Mnemonic Bindings for Linux
-menu-title: Linux
----                        
-
-<p>
-  A printable cheat-sheet with the mnemonic bindings for <dfn>Linux</dfn>
-  is available for download in
-  <a href="/files/a3_mnemonic_cheatsheet.pdf">US Letter</a> and
-  <a href="/files/a3_mnemonic_cheatsheet-a4.pdf">A4</a> paper format.
-</p>
-<p>
-  This set of bindings assumes an en_US keyboard. However, most if not all
-  bindings will also work on other keyboards when you use the
-  <kbd>AltGr</kbd> to compose those glyphs that are not directly accessible.
-</p>
-
-<h2>Transport &amp; Recording Control</h2>
-<dl class="bindings">
-<dt>destroy last recording</dt>
-<dd><kbd class="mod1">Del</kbd></dd>
-<dt>engage record</dt>
-<dd><kbd class="mod3">r</kbd></dd>
-<dt>fast forward</dt>
-<dd><kbd class="mod3">&rarr;</kbd></dd>
-<dt>loop play (the loop range)</dt>
-<dd><kbd class="">l</kbd></dd>
-<dt>rewind</dt>
-<dd><kbd class="mod3">&larr;</kbd></dd>
-<dt>set playhead position</dt>
-<dd><kbd class="">p</kbd></dd>
-<dt>start recording</dt>
-<dd><kbd class="mod3">Space</kbd></dd>
-<dt>stop (keep loop/range play)</dt>
-<dd><kbd class="mod12">Space</kbd></dd>
-<dt>stop and destroy</dt>
-<dd><kbd class="mod1">Space</kbd></dd>
-<dt>toggle auto play</dt>
-<dd><kbd class="">5</kbd></dd>
-<dt>toggle auto return</dt>
-<dd><kbd class="">6</kbd></dd>
-<dt>toggle click (metronome)</dt>
-<dd><kbd class="">7</kbd></dd>
-<dt>toggle playhead follows edits</dt>
-<dd><kbd class="mod3">F</kbd></dd>
-<dt>toggle playhead tracking</dt>
-<dd><kbd class="mod1">F</kbd></dd>
-<dt>toggle roll</dt>
-<dd><kbd class="">Space</kbd></dd>
-<dt>toggle selected track rec-enable </dt>
-<dd><kbd class="mod3">b</kbd></dd>
-<dt>toggle selected track solo status</dt>
-<dd><kbd class="mod2">s</kbd></dd>
-<dt>transition to reverse</dt>
-<dd><kbd class="mod3">&darr;</kbd></dd>
-<dt>transition to roll</dt>
-<dd><kbd class="mod3">&uarr;</kbd></dd>
-</dl>
-
-<h2>Session &amp; File Handling</h2>
-<dl class="bindings">
-<dt>add track(s) or bus(ses)</dt>
-<dd><kbd class="mod13">n</kbd></dd>
-<dt>export session</dt>
-<dd><kbd class="mod4">e</kbd></dd>
-<dt>import audio files</dt>
-<dd><kbd class="mod1">i</kbd></dd>
-<dt>open a new session</dt>
-<dd><kbd class="mod1">n</kbd></dd>
-<dt>open a recent session</dt>
-<dd><kbd class="mod13">o</kbd></dd>
-<dt>open an existing session</dt>
-<dd><kbd class="mod1">o</kbd></dd>
-<dt>quit</dt>
-<dd><kbd class="mod1">q</kbd></dd>
-<dt>save session</dt>
-<dd><kbd class="mod1">s</kbd></dd>
-<dt>snapshot session</dt>
-<dd><kbd class="mod13">s</kbd></dd>
-<dt>toggle selected track MIDI input</dt>
-<dd><kbd class="mod2">i</kbd></dd>
-</dl>
-
-<h2>Changing What's Visible</h2>
-<dl class="bindings">
-<dt>fit tracks vertically</dt>
-<dd><kbd class="">f</kbd></dd>
-<dt>move selected tracks down</dt>
-<dd><kbd class="mod1">&darr;</kbd></dd>
-<dt>move selected tracks up</dt>
-<dd><kbd class="mod1">&uarr;</kbd></dd>
-<dt>scroll down (page)</dt>
-<dd><kbd class="">PgDn</kbd></dd>
-<dt>scroll down (step)</dt>
-<dd><kbd class="">&darr;</kbd></dd>
-<dt>scroll up (page)</dt>
-<dd><kbd class="">PgUp</kbd></dd>
-<dt>scroll up (step)</dt>
-<dd><kbd class="">&uarr;</kbd></dd>
-<dt>toggle editor window mixer</dt>
-<dd><kbd class="mod3">e</kbd></dd>
-<dt>visual undo</dt>
-<dd><kbd class="mod3">z</kbd></dd>
-<dt>zoom height to selected region(s)</dt>
-<dd><kbd class="mod12">z</kbd></dd>
-<dt>zoom height and time to selected region</dt>
-<dd><kbd class="mod2">z</kbd></dd>
-<dt>zoom in</dt>
-<dd><kbd class="">=</kbd></dd>
-<dt>zoom out</dt>
-<dd><kbd class="">-</kbd></dd>
-</dl>
-
-<h2>Window Visibility</h2>
-<dl class="bindings">
-<dt>toggle locations dialog</dt>
-<dd><kbd class="mod2">l</kbd>(ell)</dd>
-<dt>focus on main clock</dt>
-<dd><kbd class="kp">&divide;</kbd></dd>
-<dt>maximise editor space</dt>
-<dd><kbd class="mod12">f</kbd></dd>
-<dt>switch between editor &amp; mixer window</dt>
-<dd><kbd class="mod2">m</kbd></dd>
-<dt>show rhythm ferret window </dt>
-<dd><kbd class="mod2">f</kbd></dd>
-<dt>toggle big clock</dt>
-<dd><kbd class="mod2">b</kbd></dd>
-<dt>toggle color manager</dt>
-<dd><kbd class="mod2">c</kbd></dd>
-<dt>toggle editor window</dt>
-<dd><kbd class="mod2">e</kbd></dd>
-<dt>toggle global audio patchbay</dt>
-<dd><kbd class="mod2">p</kbd></dd>
-<dt>toggle global midi patchbay</dt>
-<dd><kbd class="mod23">p</kbd></dd>
-<dt>toggle key bindings editor</dt>
-<dd><kbd class="mod2">k</kbd></dd>
-<dt>toggle preferences dialog</dt>
-<dd><kbd class="mod2">o</kbd></dd>
-<dt>toggle preferences dialog</dt>
-<dd><kbd class="mod13">p</kbd></dd>
-</dl>
-
-<h2>Editing with Edit Point</h2>
-<p>
-  Most edit functions operate on a single <dfn>Edit Point</dfn> (EP). The edit 
-  point can be any of: playhead (default), the mouse or an active marker. 
-  The choice of edit point (by default) also sets the <dfn>Zoom Focus</dfn>.
-</p>
-
-<dl class="bindings">
-<dt>EP to next region sync</dt>
-<dd><kbd class="">;</kbd></dd>
-<dt>EP to prev region sync</dt>
-<dd><kbd class="">'</kbd></dd>
-<dt>cycle to next grid snap mode</dt>
-<dd><kbd class="">2</kbd></dd>
-<dt>cycle to next zoom focus</dt>
-<dd><kbd class="">1</kbd></dd>
-<dt>insert from region list</dt>
-<dd><kbd class="">i</kbd></dd>
-<dt>insert time</dt>
-<dd><kbd class="mod1">t</kbd></dd>
-<dt>move EP to playhead</dt>
-<dd><kbd class="mod2">&crarr;</kbd></dd>
-<dt>next EP w/marker</dt>
-<dd><kbd class="mod1">`</kbd></dd>
-<dt>next EP w/o marker</dt>
-<dd><kbd class="">`</kbd></dd>
-<dt>trim back</dt>
-<dd><kbd class="">k</kbd></dd>
-<dt>trim front</dt>
-<dd><kbd class="">j</kbd></dd>
-<dt>trim region end to edit point</dt>
-<dd><kbd class="mod3">}</kbd></dd>
-<dt>trim region start to edit point</dt>
-<dd><kbd class="mod3">{</kbd></dd>
-<dt>trim region to end of prev region</dt>
-<dd><kbd class="mod1">j</kbd></dd>
-<dt>trim region to start of next region</dt>
-<dd><kbd class="mod1">k</kbd></dd>
-<dt>use previous grid unit</dt>
-<dd><kbd class="">3</kbd></dd>
-<dt>use next grid unit</dt>
-<dd><kbd class="">4</kbd></dd>
-<dt>use previous grid unit</dt>
-<dd><kbd class="mod1">3</kbd></dd>
-<dt>use next musical grid unit</dt>
-<dd><kbd class="mod1">4</kbd></dd>
-</dl>
-
-<h2>Aligning with the Edit Point</h2>
-<p>
-  <dfn>Align operations</dfn> move regions so that their start/end/sync 
-  point is at the edit point. <dfn>Relative</dfn> operations just align the first 
-  region and moves other selected regions to maintain relative positioning.
-</p>
-
-<dl class="bindings">
-<dt>align end(s)</dt>
-<dd><kbd class="mod2">a</kbd></dd>
-<dt>align start(s)</dt>
-<dd><kbd class="mod14">a</kbd></dd>
-<dt>align start(s) relative</dt>
-<dd><kbd class="mod4">a</kbd></dd>
-<dt>align sync points</dt>
-<dd><kbd class="mod3">a</kbd></dd>
-<dt>align sync points (relative)</dt>
-<dd><kbd class="">a</kbd></dd>
-<dt>range end to next prev edge</dt>
-<dd><kbd class="mod1">&gt;</kbd></dd>
-<dt>range end to next region edge</dt>
-<dd><kbd class="">&gt;</kbd></dd>
-<dt>range start to next region edge</dt>
-<dd><kbd class="mod1">&lt;</kbd></dd>
-<dt>range start to prev region edge</dt>
-<dd><kbd class="">&lt;</kbd></dd>
-</dl>
-
-<h2>Edit Point Playback</h2>
-<dl class="bindings">
-<dt>play edit range</dt>
-<dd><kbd class="mod2">Space</kbd></dd>
-<dt>play from EP &amp; return</dt>
-<dd><kbd class="mod4">Space</kbd></dd>
-<dt>play selected region(s)</dt>
-<dd><kbd class="">h</kbd></dd>
-</dl>
-<h2>Region Operations</h2>
-<dl class="bindings">
-<dt>duplicate region (multi)</dt>
-<dd><kbd class="mod3">d</kbd></dd>
-<dt>duplicate region (once)</dt>
-<dd><kbd class="mod2">d</kbd></dd>
-<dt>export selected region(s)</dt>
-<dd><kbd class="mod14">e</kbd></dd>
-<dt>increase region gain</dt>
-<dd><kbd class="">^</kbd></dd>
-<dt>move to original position</dt>
-<dd><kbd class="mod2">o</kbd></dd>
-<dt>mute/unmute</dt>
-<dd><kbd class="mod1">m</kbd></dd>
-<dt>normalize</dt>
-<dd><kbd class="">n</kbd></dd>
-<dt>nudge backward</dt>
-<dd><kbd class="kp">&ndash;</kbd></dd>
-<dt>nudge forward</dt>
-<dd><kbd class="kp">+</kbd></dd>
-<dt>quantize MIDI notes </dt>
-<dd><kbd class="">q</kbd></dd>
-<dt>reduce region gain</dt>
-<dd><kbd class="">&amp;</kbd></dd>
-<dt>reverse</dt>
-<dd><kbd class="mod2">r</kbd></dd>
-<dt>set fade in length</dt>
-<dd><kbd class="">/</kbd></dd>
-<dt>set fade out length</dt>
-<dd><kbd class="">\</kbd></dd>
-<dt>set region sync point</dt>
-<dd><kbd class="">v</kbd></dd>
-<dt>split</dt>
-<dd><kbd class="">s</kbd></dd>
-<dt>toggle fade in active</dt>
-<dd><kbd class="mod1">/</kbd></dd>
-<dt>toggle fade out active</dt>
-<dd><kbd class="mod1">\</kbd></dd>
-<dt>transpose</dt>
-<dd><kbd class="mod2">t</kbd></dd>
-</dl>
-
-<h2>Generic Editing</h2>
-<dl class="bindings">
-<dt>copy</dt>
-<dd><kbd class="mod1">c</kbd></dd>
-<dt>cut</dt>
-<dd><kbd class="mod1">x</kbd></dd>
-<dt>delete</dt>
-<dd><kbd class="">Del</kbd></dd>
-<dt>paste</dt>
-<dd><kbd class="mod1">v</kbd></dd>
-<dt>redo</dt>
-<dd><kbd class="mod1">r</kbd></dd>
-<dt>undo</dt>
-<dd><kbd class="mod1">z</kbd></dd>
-</dl>
-
-<h2>Selecting</h2>
-<p class="note">
-  There are  a few functions that refer to an <dfn>Edit Range</dfn>. The 
-  current edit range is defined using combinations of the possible edit 
-  points: <dfn>playhead</dfn>, <dfn>active marker</dfn>, or <dfn>mouse</dfn>.
-</p>
-
-<dl class="bindings">
-<dt>all after playhead</dt>
-<dd><kbd class="mod13">p</kbd></dd>
-<dt>all before playhead</dt>
-<dd><kbd class="mod1">p</kbd></dd>
-<dt>all enclosed by edit range</dt>
-<dd><kbd class="mod1">u</kbd></dd>
-<dt>all present in edit range</dt>
-<dd><kbd class="">u</kbd></dd>
-<dt>convert edit range to range</dt>
-<dd><kbd class="">F6</kbd></dd>
-<dt>invert selection</dt>
-<dd><kbd class="mod3">i</kbd></dd>
-<dt>select all after EP</dt>
-<dd><kbd class="mod13">e</kbd></dd>
-<dt>select all before EP</dt>
-<dd><kbd class="mod1">e</kbd></dd>
-<dt>select all in loop range</dt>
-<dd><kbd class="mod1">l</kbd></dd>
-<dt>select all in punch range</dt>
-<dd><kbd class="mod1">d</kbd></dd>
-<dt>select everything</dt>
-<dd><kbd class="mod1">a</kbd></dd>
-<dt>select next track/bus</dt>
-<dd><kbd class="mod2">&darr;</kbd></dd>
-<dt>select previous track/bus</dt>
-<dd><kbd class="mod2">&uarr;</kbd></dd>
-</dl>
-
-<h2>Defining Loop, Punch Range and Tempo Changes</h2>
-<dl class="bindings">
-<dt>set loop range from edit range</dt>
-<dd><kbd class="">]</kbd></dd>
-<dt>set loop range from region(s)</dt>
-<dd><kbd class="mod2">]</kbd></dd>
-<dt>set punch range from edit range</dt>
-<dd><kbd class="">[</kbd></dd>
-<dt>set punch range from region(s)</dt>
-<dd><kbd class="mod2">[</kbd></dd>
-<dt>set tempo (1 bar) from edit range</dt>
-<dd><kbd class="">0</kbd></dd>
-<dt>set tempo (1 bar) from region(s)</dt>
-<dd><kbd class="">9</kbd></dd>
-</dl>
-
diff --git a/_manual/23_default-keyboard-bindings/02_mnemonic-bindings-for-os-x.html b/_manual/23_default-keyboard-bindings/02_mnemonic-bindings-for-os-x.html
deleted file mode 100644 (file)
index 2996930..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
----
-layout: default
-title: Mnemonic Bindings for OS X
----                        
-  
-<p>
-  A <a href="/files/a3_mnemonic_cheat_sheet_osx.pdf">printable cheat sheet</a> 
-  for these bindings is available for download.
-</p>
-
-<h2>Transport &amp; Recording Control</h2>
-<dl class="bindings">
-<dt>destroy last recording</dt>
-<dd><kbd class="mod1">Del</kbd></dd>
-<dt>engage record</dt>
-<dd><kbd class="mod3">r</kbd></dd>
-<dt>fast forward</dt>
-<dd><kbd class="mod3">→</kbd></dd>
-<dt>loop play (the loop range)</dt>
-<dd><kbd class="">l</kbd></dd>
-<dt>rewind</dt>
-<dd><kbd class="mod3">&larr;</kbd></dd>
-<dt>set playhead position</dt>
-<dd><kbd class="">p</kbd></dd>
-<dt>start recording</dt>
-<dd><kbd class="mod3">space</kbd></dd>
-<dt>stop (keep loop/range play)</dt>
-<dd><kbd class="mod12">space</kbd></dd>
-<dt>stop and destroy</dt>
-<dd><kbd class="mod1">space</kbd></dd>
-<dt>toggle auto play</dt>
-<dd><kbd class="">5</kbd></dd>
-<dt>toggle auto return</dt>
-<dd><kbd class="">6</kbd></dd>
-<dt>toggle click (metronome)</dt>
-<dd><kbd class="">7</kbd></dd>
-<dt>toggle playhead follows edits</dt>
-<dd><kbd class="mod3">f</kbd></dd>
-<dt>toggle playhead tracking</dt>
-<dd><kbd class="mod1">f</kbd></dd>
-<dt>toggle roll</dt>
-<dd><kbd class="">space</kbd></dd>
-<dt>toggle track rec-enable </dt>
-<dd><kbd class="mod3">b</kbd></dd>
-<dt>toggle track solo status</dt>
-<dd><kbd class="mod2">s</kbd></dd>
-<dt>transition to reverse</dt>
-<dd><kbd class="mod3">&darr;</kbd></dd>
-<dt>transition to roll</dt>
-<dd><kbd class="mod3">&uarr;</kbd></dd>
-</dl>
-<h2>Session &amp; File Handling</h2>
-<dl class="bindings">
-<dt>add track(s) or bus(ses)</dt>
-<dd><kbd class="mod13">n</kbd></dd>
-<dt>export session</dt>
-<dd><kbd class="mod1">e</kbd></dd>
-<dt>import audio files</dt>
-<dd><kbd class="mod1">i</kbd></dd>
-<dt>open a new session</dt>
-<dd><kbd class="mod1">n</kbd></dd>
-<dt>open a recent session</dt>
-<dd><kbd class="mod13">o</kbd></dd>
-<dt>open an existing session</dt>
-<dd><kbd class="mod1">o</kbd></dd>
-<dt>quit</dt>
-<dd><kbd class="mod1">q</kbd></dd>
-<dt>save session</dt>
-<dd><kbd class="mod1">s</kbd></dd>
-<dt>snapshot session</dt>
-<dd><kbd class="mod13">s</kbd></dd>
-<dt>toggle sel. track MIDI input</dt>
-<dd><kbd class="mod2">i</kbd></dd>
-</dl>
-<h2>Changing What's Visible</h2>
-<dl class="bindings">
-<dt>fit tracks vertically</dt>
-<dd><kbd class="">f</kbd></dd>
-<dt>move selected tracks down</dt>
-<dd><kbd class="mod1">&darr;</kbd></dd>
-<dt>move selected tracks up</dt>
-<dd><kbd class="mod1">&uarr;</kbd></dd>
-<dt>scroll down (page)</dt>
-<dd><kbd class="">PgDn</kbd></dd>
-<dt>scroll down (step)</dt>
-<dd><kbd class="">&darr;</kbd></dd>
-<dt>scroll up (page)</dt>
-<dd><kbd class="">PageUp</kbd></dd>
-<dt>scroll up (step)</dt>
-<dd><kbd class="">&uarr;</kbd></dd>
-<dt>toggle editor window mixer</dt>
-<dd><kbd class="mod3">e</kbd></dd>
-<dt>toggle last 2 zoom states</dt>
-<dd><kbd class="mod3">z</kbd></dd>
-<dt>zoom height to selected region(s)</dt>
-<dd><kbd class="mod1">Control+z</kbd></dd>
-<dt>zoom height and time to selected region</dt>
-<dd><kbd class="mod2">z</kbd></dd>
-<dt>zoom in</dt>
-<dd><kbd class="">=</kbd></dd>
-<dt>zoom out</dt>
-<dd><kbd class="">-</kbd></dd>
-</dl>
-<h2>Window Visibility</h2>
-<dl class="bindings">
-<dt>toggle locations dialog</dt>
-<dd><kbd class="mod2">l</kbd></dd>
-<dt>focus on main clock</dt>
-<dd><kbd class="kp">&divide;</kbd></dd>
-<dt>maximise editor space</dt>
-<dd><kbd class="mod12">f</kbd></dd>
-<dt>rotate editor &amp; mixer window</dt>
-<dd><kbd class="mod2">m</kbd></dd>
-<dt>show rhythm ferret window </dt>
-<dd><kbd class="mod2">f</kbd></dd>
-<dt>toggle big clock</dt>
-<dd><kbd class="mod2">b</kbd></dd>
-<dt>toggle color manager</dt>
-<dd><kbd class="mod2">c</kbd></dd>
-<dt>toggle editor window</dt>
-<dd><kbd class="mod2">e</kbd></dd>
-<dt>toggle global audio patchbay</dt>
-<dd><kbd class="mod2">p</kbd></dd>
-<dt>toggle global midi patchbay</dt>
-<dd><kbd class="mod23">p</kbd></dd>
-<dt>toggle key bindings editor</dt>
-<dd><kbd class="mod2">k</kbd></dd>
-<dt>toggle preferences dialog</dt>
-<dd><kbd class="mod2">o</kbd></dd>
-<dt>toggle preferences dialog</dt>
-<dd><kbd class="mod13">p</kbd></dd>
-</dl>
-
-<h2>Editing with Edit Point</h2>
-<p>
-  Most edit functions operate on a single <dfn>Edit Point</dfn> (EP). The
-  edit 
-  point can be any of: playhead (default), the mouse or an active marker. 
-  The choice of edit point (by default) also sets the <dfn>Zoom Focus</dfn>.
-</p>
-
-<dl class="bindings">
-<dt>EP to next region sync</dt>
-<dd><kbd class="">;</kbd></dd>
-<dt>EP to prev region sync</dt>
-<dd><kbd class="">'</kbd></dd>
-<dt>cycle to next grid snap mode</dt>
-<dd><kbd class="">2</kbd></dd>
-<dt>cycle to next zoom focus</dt>
-<dd><kbd class="">1</kbd></dd>
-<dt>insert from region list</dt>
-<dd><kbd class="">i</kbd></dd>
-<dt>insert time</dt>
-<dd><kbd class="mod1">t</kbd></dd>
-<dt>move EP to playhead</dt>
-<dd><kbd class="mod2">Return</kbd></dd>
-<dt>next EP w/marker</dt>
-<dd><kbd class="mod1">^</kbd></dd>
-<dt>next EP w/o marker</dt>
-<dd><kbd class="">`</kbd></dd>
-<dt>trim back</dt>
-<dd><kbd class="">k</kbd></dd>
-<dt>trim front</dt>
-<dd><kbd class="">j</kbd></dd>
-<dt>trim region end to edit point</dt>
-<dd><kbd class="mod3">}</kbd></dd>
-<dt>trim region start to edit point</dt>
-<dd><kbd class="mod3">{</kbd></dd>
-<dt>trim region to end of prev region</dt>
-<dd><kbd class="mod1">j</kbd></dd>
-<dt>trim region to start of next region</dt>
-<dd><kbd class="mod1">k</kbd></dd>
-<dt>use previous grid unit</dt>
-<dd><kbd class="">3</kbd></dd>
-<dt>use next grid unit</dt>
-<dd><kbd class="">4</kbd></dd>
-<dt>use previous grid unit</dt>
-<dd><kbd class="mod1">3</kbd></dd>
-<dt>use next musical grid unit</dt>
-<dd><kbd class="mod1">4</kbd></dd>
-</dl>
-
-<h2>Aligning with the Edit Point</h2>
-<p>
-  <dfn>Align operations</dfn> move regions so that their start/end/sync 
-  point is at the edit point. <dfn>Relative</dfn> operations just align
-  the first region and moves other selected regions to maintain relative 
-  positioning.
-</p>
-
-<dl class="bindings">
-<dt>align end(s)</dt>
-<dd><kbd class="mod2">a</kbd></dd>
-<dt>align start(s)</dt>
-<dd></dd>
-<dt>align start(s) relative</dt>
-<dd><kbd class=""></kbd></dd>
-<dt>align sync points</dt>
-<dd><kbd class="mod3">a</kbd></dd>
-<dt>align sync points (relative)</dt>
-<dd><kbd class="">a</kbd></dd>
-<dt>range end to next prev edge</dt>
-<dd><kbd class="mod1">&gt;</kbd></dd>
-<dt>range end to next region edge</dt>
-<dd><kbd class="">&gt;</kbd></dd>
-<dt>range start to next region edge</dt>
-<dd><kbd class="mod1">&lt;</kbd></dd>
-<dt>range start to prev region edge</dt>
-<dd><kbd class="">&lt;</kbd></dd>
-</dl>
-
-<h2>Edit Point Playback</h2>
-
-<dl class="bindings">
-<dt>play edit range</dt>
-<dd><kbd class="mod2">Space</kbd></dd>
-<dt>play from EP &amp; return</dt>
-<dd><kbd class="mod1">Space</kbd></dd>
-<dt>play selected region(s)</dt>
-<dd><kbd class="">h</kbd></dd>
-</dl>
-<h2>Region Operations</h2>
-<dl class="bindings">
-<dt>duplicate region (multi)</dt>
-<dd><kbd class="mod3">d</kbd></dd>
-<dt>duplicate region (once)</dt>
-<dd><kbd class="mod2">d</kbd></dd>
-<dt>export selected region(s)</dt>
-<dd></dd>
-<dt>increase region gain</dt>
-<dd><kbd class="">^</kbd></dd>
-<dt>move to original position</dt>
-<dd><kbd class="mod2">o</kbd></dd>
-<dt>mute/unmute</dt>
-<dd><kbd class="mod1">m</kbd></dd>
-<dt>normalize</dt>
-<dd><kbd class="">n</kbd></dd>
-<dt>nudge backward</dt>
-<dd><kbd class="kp">&ndash;</kbd></dd>
-<dt>nudge forward</dt>
-<dd><kbd class="kp">+</kbd></dd>
-<dt>quantize MIDI notes </dt>
-<dd><kbd class="">q</kbd></dd>
-<dt>reduce region gain</dt>
-<dd><kbd class="">&amp;</kbd></dd>
-<dt>reverse</dt>
-<dd><kbd class="mod2">r</kbd></dd>
-<dt>set fade in length</dt>
-<dd><kbd class="">/</kbd></dd>
-<dt>set fade out length</dt>
-<dd><kbd class="">\</kbd></dd>
-<dt>set region sync point</dt>
-<dd><kbd class="">v</kbd></dd>
-<dt>split</dt>
-<dd><kbd class="">s</kbd></dd>
-<dt>toggle fade in active</dt>
-<dd><kbd class="mod1">/</kbd></dd>
-<dt>toggle fade out active</dt>
-<dd><kbd class="mod1">\</kbd></dd>
-<dt>transpose</dt>
-<dd><kbd class="mod2">t</kbd></dd>
-</dl>
-
-<h2>Generic Editing</h2>
-
-<dl class="bindings">
-<dt>copy</dt>
-<dd><kbd class="mod1">c</kbd></dd>
-<dt>cut</dt>
-<dd><kbd class="mod1">x</kbd></dd>
-<dt>delete</dt>
-<dd><kbd class="">Del</kbd></dd>
-<dt>paste</dt>
-<dd><kbd class="mod1">v</kbd></dd>
-<dt>redo</dt>
-<dd><kbd class="mod1">r</kbd></dd>
-<dt>undo</dt>
-<dd><kbd class="mod1">z</kbd></dd>
-</dl>
-
-<h2>Selecting</h2>
-<p class="note">
-  There are  a few functions that refer to an <dfn>Edit Range</dfn>. The 
-  current edit range is defined using combinations of the possible edit 
-  points: <dfn>playhead</dfn>, <dfn>active marker</dfn>, or<dfn>mouse</dfn>.
-</p>
-
-<dl class="bindings">
-<dt>all after playhead</dt>
-<dd><kbd class="mod13">p</kbd></dd>
-<dt>all before playhead</dt>
-<dd><kbd class="mod1">p</kbd></dd>
-<dt>all enclosed by edit range</dt>
-<dd><kbd class="mod1">u</kbd></dd>
-<dt>all present in edit range</dt>
-<dd><kbd class="">u</kbd></dd>
-<dt>convert edit range to range</dt>
-<dd><kbd class="">F6</kbd></dd>
-<dt>invert selection</dt>
-<dd><kbd class="mod3">i</kbd></dd>
-<dt>select all after EP</dt>
-<dd><kbd class="mod1">Shift+e</kbd></dd>
-<dt>select all before EP</dt>
-<dd><kbd class="mod1">e</kbd></dd>
-<dt>select all in loop range</dt>
-<dd><kbd class="mod1">l</kbd></dd>
-<dt>select all in punch range</dt>
-<dd><kbd class="mod1">d</kbd></dd>
-<dt>select everything</dt>
-<dd><kbd class="mod1">a</kbd></dd>
-<dt>select next track/bus</dt>
-<dd><kbd class="mod2">↓</kbd></dd>
-<dt>select previous track/bus</dt>
-<dd><kbd class="mod2">↑</kbd></dd>
-</dl>
-<h2>Defining Loop, Punch Range and Tempo Changes</h2>
-<dl class="bindings">
-<dt>set loop range from edit range</dt>
-<dd><kbd class="">]</kbd></dd>
-<dt>set loop range from region(s)</dt>
-<dd><kbd class="mod2">]</kbd></dd>
-<dt>set punch range from edit range</dt>
-<dd><kbd class="">[</kbd></dd>
-<dt>set punch range from region(s)</dt>
-<dd><kbd class="mod2">[</kbd></dd>
-<dt>set tempo (1 bar) from edit range</dt>
-<dd><kbd class="">0</kbd></dd>
-<dt>set tempo (1 bar) from region(s)</dt>
-<dd><kbd class="">9</kbd></dd>
-</dl>
-
-
diff --git a/_manual/24_preferences-and-session-properties.html b/_manual/24_preferences-and-session-properties.html
deleted file mode 100644 (file)
index 4362c57..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: default
-title: Preferences and Session Properties
----                        
-
-<p>
-  Ardour splits its configuration options into two categories:
-</p>
-<ul>
-  <li>
-    Global <dfn>preferences</dfn> control general workflow and system 
-    configuration, and should apply to all sessions. They are located in
-    <kbd class="menu">Edit &gt; Preferences</kbd> and stored in 
-    Ardour's <dfn>user configuration file</dfn> in your home directory. 
-  </li>
-  <li><dfn>Session properties</dfn> control aspects of the workflow or
-    configuration that pertain to the current session only. You can find them
-    in <kbd class="menu">Session &gt; Properties</kbd>, and they will be stored
-    in the session file.
-  </li>
-</ul>
-
-{% children %}
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog.html
deleted file mode 100644 (file)
index 60dc4ee..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
-title: Global Preferences Dialog
-menu_title: Global Preferences
----                        
-
-<p>
-  These preferences apply to all Ardour sessions.
-</p>
-
-<img src="/images/a4_preferences_misc.png" alt="ardour preferences
-dialog"/>
-  
-{% children %}
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/01_misc.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/01_misc.html
deleted file mode 100644 (file)
index 2a2ee31..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
----
-layout: default
-title: Misc Tab
-menu_title: Misc Tab
----
-
-<p>
-  This tab contains settings that do not belong on the other tabs.
-</p>
-
-<img src="/images/a4_preferences_misc.png" alt="preferences
-misc tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>DSP CPU Utilization</strong> sets how many cpu processors can be
-      used to do signal processing. It can be set to use one up to all
-      processors.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <dfn>Undo</dfn>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Limit undo history</strong> sets how many commands can be
-         undone using <kbd class="mod1">Z</kbd> or
-         <kbd class="menu">Edit &gt; Undo</kbd>.
-       </p>
-      </li>
-
-      <li>
-       <p>
-         <strong>Save undo history</strong> sets how many commands are saved so
-         they are available to be undone after reopening the session.
-       </p>
-      </li>
-
-      <li>
-       <p>
-         <strong>Verify removal of last capture</strong> when enabled prompts to
-         verify removal the last recording capture when
-         <kbd class="menu">Edit &gt; Remove Last Capture</kbd> is executed.
-       </p>
-      </li>
-
-      <li>
-       <p>
-         <strong>Make periodic backups of the session file</strong> will create
-         a backup session file after changes to the timeline. The backup file is
-         the session name followed by <em>.ardour.bak</em>. The backup can be
-         used to recover from crashes when the session had not been explicitly
-         saved.
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-      <dfn>Session Management</dfn>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Always copy imported files</strong> selects, and then disables
-         changes to, the <em>Copy&nbsp;files to&nbsp;session</em> option in the
-         <a href="/adding-pre-existing-material/import-dialog/">
-           Add Existing Media</a> dialog.
-       </p>
-      </li>
-
-      <li>
-       <p>
-         <strong>Default folder for new sessions:</strong> defalts the folder
-         where Ardour will create new session folders. This is used in the
-         <em>Session&nbsp;Setup</em> dialog displayed by
-         <kbd class="menu">Session &gt; New</kbd>.
-       </p>
-      </li>
-
-      <li>
-       <p>
-         <strong>Maximum number of recent sessions:</strong> determines how many
-         of the last opened sessions shows in the
-         <em>Recent&nbsp;Sessions</em> dialog displayed by
-         <kbd class="menu">Session &gt; Recent</kbd>.
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-      <dfn>Click</dfn>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Click audio file:</strong> sets a user defined sound to be
-         played when Ardour's metronome is enabled in the
-         <a href="/ardours-interface/the-transport-bar/">
-           Transport Bar</a>
-       </p>
-      </li>
-      <li>
-       <p>
-          <strong>Click emphasis audio file:</strong> sets an optional different
-         metronome sound to be played on the downbeat.
-       </p>
-      </li>
-      <li>
-       <p>
-          <strong>Click gain level:</strong> allows the metronome's click sounds
-         to be boosted or attenuated.
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-      <dfn>Automation</dfn>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Thinning factor</strong> ranges from 0 to 1000 with larger
-         values sending fewer automation changes. Thinning is like lossy
-         audio compression, removing data that is less likely to be noticed,
-         although the more you remove the more likely the loss will be noticed.
-         The advantage to thinning is reduced CPU usage.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Automation sampling interval</strong> ranges from 1 to
-         1000&nbsp;ms. Determines how frequently the automation input is
-         sampled. The shorter the interval the higher the accuracy but also
-         the higher the CPU requirements.
-       </p>
-      </li>
-    </ul>
-
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/02_transport.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/02_transport.html
deleted file mode 100644 (file)
index 04279b3..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
----
-layout: default
-title: Transport Tab
-menu_title: Transport Tab
----
-
-<p>
-  This tab contains settings that relate to the behavior of the
-  <a href="/ardours-interface/the-transport-bar/">Transport Bar</a>
-  and <a href="/synchronization/">Synchronization</a>.
-</p>
-
-<img src="/images/a4_preferences_transport.png" alt="preferences
-transport tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>Keep record-enable engaged on stop</strong> leaves the global
-      record-enable engaged after transport is stopped.  Does not affect track
-      level record-enable which is never changed on stop.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Play loop is a transport mode</strong> changes the behavior of the
-      loop button, turning it into a toggle. When enabled, the loop button does
-      not start playback but forces playback to always play the loop.  Looping
-      stays engaged when the transport is stopped. Playback continues where the
-      transport stopped and continues to loop.
-    </p>
-    <p>
-      When disabled, the loop button starts playing the loop but stop then
-      cancels loop playback.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Stop recording when an xrun occurs</strong> will stop the transport
-      when an xrun occurs during recording, ensuring no audible glitches are
-      recorded.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Create markers where xruns occur</strong> will create a new
-      <a href="/working-with-markers/">marker</a> when an xrun occurs during
-      recording at the location of the xrun. This marks where possible xruns
-      might produce audible glitches when stopping on xruns is disabled.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Stop at the end of the session</strong> causes the transport to
-      stop during playback when it reaches the end marker. Behavior during
-      recording is not changed.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Do seamless looping</strong> removes any clicks that might
-      otherwise be audible when the transport moves from the end of the loop
-      range back to the beginning.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Disable per-track record disarm while rolling</strong>, when
-      enabled, will not allow the any track's record-enable to be disarmed
-      during record, preventing accidentally stopping the recording of a take.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>12dB gain reduction during fast-forward and fast-rewind</strong>
-      when enabled will reduce the unpleasant increase in perceived volume
-      that occurs when fast-forwarding or rewinding through some kinds of audio.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Sync/Slave</strong>
-      <ul>
-       <li>
-         <p>
-           <strong>External timecode source</strong> determines which external
-           source to use when Ardour is using an external
-           <a href="/synchronization/">synchronization</a> source.  Depending
-           on the timecode source chosen, additional preference options are
-           available.
-         </p>
-       </li>
-       <li>
-         <p>
-           <strong>Match session video frame rate to external timecode</strong>
-           controls the value of the video frame rate <em>while chasing</em>
-           an external timecode source.
-         </p>
-         <p>
-           When enabled, the session video frame rate will be changed to match
-           that of the selected external timecode source.
-         </p>
-         <p>
-           When disabled, the session video frame rate will not be changed to
-           match that of the selected external timecode source. Instead, the
-           frame rate indication in the main clock will flash red and Ardour
-           will convert between the external timecode standard and the session
-           standard.
-         </p>
-       </li>
-       <li>
-         <p>
-           <strong>Sync-lock timecode to clock</strong> can disable drift
-           compensation.
-         </p>
-         <p>
-           When enabled, Ardour will never varispeed when slaved to external
-           timecode. Sync Lock indicates that the selected external timecode
-           source shares clock-sync (Black &amp; Burst, Wordclock, etc) with
-           the audio interface. This options disables drift compensation.
-           The transport speed is fixed at 1.0. Vari-speed LTC will be ignored
-           and cause drift.
-         </p>
-         <p>
-           When disabled, Ardour will compensate for potential drift regardless
-           if the timecode sources shares clock sync.
-         </p>
-       </li>
-       <li>
-         <p>
-           <strong>Lock to 29.9700 fps instead of 30000/1001</strong>, when
-           enabled, will force Ardour to assume the external timecode source
-           uses 29.97 fps instead of 30000/1001.
-           SMPTE 12M-1999 specifies 29.97&nbsp;df as 30000/1001. The spec
-           further mentions that drop-frame timecode has an accumulated error
-           of -86&nbsp;ms over a 24&nbsp;hour period. Drop-frame timecode would
-           compensate exactly for an NTSC color frame rate of 30 * 0.9990 (i.e.
-           29.970000). That is not the actual rate. However, some vendors use
-           that rate - despite it being against the specs - because the
-           variant of using exactly 29.97&nbsp;fps has zero timecode drift.
-         </p>
-      </ul>
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>LTC Reader</strong> specifies which incoming port will provide
-      the LTC signal.
-    </p>
-  </li>
-  <li>
-    <strong>LTC Generator</strong>
-    <ul>
-      <li>
-       <p>
-         <strong>Enable LTC generator</strong>, when enabled Ardour will
-         output an LTC timecode signal on it's <em>LTC-out</em> port.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Send LTC while stopped</strong>, when enabled Ardour will
-         continue to send LTC information even while the transport (playhed) is
-         not moving.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>LTC generator level:</strong> specifies the peak volume of
-         the generated LTC signal in dbFS. A good value is 0dBu^=-18dbFS in an
-         EBU calibrated system.
-       </p>
-      </li>
-    </ul>
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/03_editor.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/03_editor.html
deleted file mode 100644 (file)
index 106b16e..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
----
-layout: default
-title: Editor Tab
-menu_title: Editor Tab
----
-
-<p>
-  This tab contains settings that affect behavior in the <dfn>Editor</dfn>
-  window when <a href="/editing-and-arranging/">Editing and Arranging</a>.
-</p>
-
-<img src="/images/a4_preferences_editor.png" alt="preferences
-editor tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>Allow dragging of the playhead</strong>, when enabled, allows
-      dragging the playhead with the mouse in the <strong>Editor</strong> window.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Move relevant automation when audio regions are moved</strong>,
-      when enabled, causes automation data to stay with a region when the
-      region is moved inside the playlist. When disabled, the automation is
-      not affected by movement of regions.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Show meters on tracks in the editor</strong>, when enabled, shows
-      a small meter in the <strong>Editor</strong> window with each track. The
-      meter is shown in the left side area along with the track name and buttons.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Display master-meter in the toolbar</strong> when enabled displays
-      a small copy of the master bus meter in the toolbar.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Default fade shape:</strong> sets which
-      <a href="/editing-and-arranging/create-region-fades-and-crossfades/">
-       fade shape</a> is the default.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Regions in active edit groups are edited together:</strong> sets
-      the criteria to see if editing actions apply to tracks grouped together
-      in an active group.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Make rubberband selection rectangle snap to the grid</strong> when
-      enabled uses the grid when
-      <a href="/editing-and-arranging/select-regions/">selecting regions</a>
-      with a rubberband rectangle.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Show waveforms in regions</strong> when enabled shows a visual
-      representation of the region's audio waveform. Changes to this setting
-      take affect after restarting Ardour.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Show gain envelopes in audio regions:</strong> sets the criteria
-      for displaying the gain envelope in audio regions.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Waveform scale:</strong> when waveforms are shown in audio region
-      they can be displayed using a <em>linear</em> or a <em>logarithmic</em>
-      scale.
-      See <a href="/working-with-tracks/controlling-track-appearance/waveform-display/">
-       Waveform disply</a>.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Waveform shape:</strong> when waveforms are shown in audio region
-      they can be displayed using a <em>traditional</em> or a <em>rectified</em>
-      shape.
-      See <a href="/working-with-tracks/controlling-track-appearance/waveform-display/">
-       Waveform disply</a>.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Waveform Clip Level (dBFS):</strong> sets the level at which the
-      waveform shown in an audio region will be drawn in red to indicate
-      clipping. Setting lower than 0.0&nbsp;dBFS can be useful if any tool in
-      the audio chain has problems near 0.0&nbsp;dBFS.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Show waveform for audio while it is being recorded</strong> when
-      enabled, will draw the audio waveform in regions being recorded.  When
-      disabled only a region block will be drawn while recording reducing CPU
-      requirements.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Show zoom toolbar</strong> when enabled shows a toolbar for
-      zoom functions.  When disabled the zoom commands are still available
-      with keyboard short-cuts and the View menu. Changes to this setting
-      take affect after restarting Ardour.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Update editor window during drags of the summary</strong> when
-      enabled the contents of the editor window will redraw the tracks area
-      as the selection rectangle in the summary area is moved or resized. The
-      summary area is at the bottom of the editor and shows an overview of all
-      regions on the timelime.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Name new markers</strong> when enabled, popup a dialog when a new
-      <a href="/working-with-markers/">marker</a> is created. This allows
-      markers to be named as they are created.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Auto-scroll editor window when dragging near its edges</strong>
-      when enabled will scroll the editor window automatically when dragging a
-      region. This can make it easier to see where to position the region.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>After splitting selected regions, select</strong> determines which,
-      if any, regions are selected after a split operation. The options are no
-      regions, the regions created by the split, and if more than one region
-      was selected to start with, the existing selection and the new regions.
-      Changes to this setting take affect after restarting Ardour.
-    </p>
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/04_audio.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/04_audio.html
deleted file mode 100644 (file)
index cdba84b..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
----
-layout: default
-title: Audio Tab
-menu_title: Audio Tab
----
-
-<p>
-  This tab contains settings for handling audio.
-</p>
-
-<img src="/images/a4_preferences_audio.png" alt="preferences
-audio tab"/>
-
-<ul>
-
-  <li>
-    <p>
-      <strong>Buffering</strong> settings determine how many seconds of audio
-      off of disk will be buffered in memory. Longer settings reduce the risk
-      of buffer under-runs but consume more memory. The default value is
-      5.0&nbsp;seconds.
-    </p>
-
-    <ul>
-      <li>
-       <p>
-         <strong>Playback</strong> sets how many seconds of audio Ardour will
-         buffer during playback.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Recording</strong> sets how many seconds of audio Ardour will
-         buffer during recording.
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-      <strong>Monitoring</strong>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Record monitoring handled by:</strong> determines whether
-         Ardour provides monitoring of incoming audio or whether
-         monitoring is provided by hardware.  See
-         <a href="/recording/monitoring/">Monitoring</a> for more information.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Tape machine mode</strong> when enabled defaults new audio
-         tracks to tape machine mode. See
-         <a href="/working-with-tracks/track-types/">Track Types</a>
-         for more information.
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-    <strong>Conection of tracks and busses</strong>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Auto-connect master/monitor busses</strong>
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Connect track inputs:</strong>
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Connect track and bus outputs:</strong>
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-    <strong>Denormals</strong> are a specific type of very small numbers that
-    can cause issues with CPU consumption when using some plugins in some
-    circumstances.
-    </p>
-    <p>
-      Ardour provides two methods of handling the issue. Try different
-      combinations of these settings to to find the setting that minimizes CPU
-      consumption.
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Use DC bias to protect against denormals</strong> adds a small
-         constant value to numbers to move the numbers away from zero.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Processor handling</strong>, if the computer's hardware
-         supports it, offers two methods that can be used individually or
-         combined. Flush to zero and denormals are zero.
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-    <strong>Plugins</strong>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Silence plugins when the transport is stopped</strong>
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Make new plugins active</strong> when enabled, will activate
-         a plugin when it is added to a track or bus
-         <a href="/working-with-plugins/processor-box/">Processor Box</a>.
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-    <strong>Regions</strong>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Enable automatic analysis of audio</strong>
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Replicate missing region channels</strong>
-       </p>
-      </li>
-    </ul>
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/05_solomute.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/05_solomute.html
deleted file mode 100644 (file)
index 9d1dd05..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
----
-layout: default
-title: Solo/Mute Tab
-menu_title: Solo/Mute Tab
----
-
-<p>
-  This tab contains settings that affect the use of
-  <a href="/mixing/muting-and-soloing/">solo, muting</a>, and
-  <a href="/mixing/panning/">panning</a>.
-</p>
-
-<img src="/images/a4_preferences_solomute.png" alt="preferences
-solo/mute tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>Solo</strong>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Solo-in-place mute cut</strong> sets the attenuation of the
-         the other tracks when another track is soloed in place. This setting
-         is also available from the <strong>Mixer</strong> monitor section.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Solo controls are Listen controls</strong> when enabled the
-         soloed track is soloed only on the monitor bus, the master fader mix
-         is not affected by the solo. This option can also be set by enabling
-         pre-fader listen or after-fader listen in the <strong>Mixer</strong>
-         monitor section.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Listen Position:</strong> determines what is listened to when
-         the solo controls are used as listen controls. The options are
-         after-fader or pre-fader.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>PFL signals come from:</strong> determines whether the
-         pre-fader listen position is before or after the pre-fader processors.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>AFL signals come from:</strong> determines whether the
-         after-fader listen position is before or after the after-fader
-         processors.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Exclusive solo</strong> when enabled will only solo that last
-         track selected for solo. Previously soloed tracks will be un-soloed.
-         This setting is also available from the <strong>Mixer</strong> monitor
-         section.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Show solo muting</strong> when enabled outlines the mute
-         button on tracks and busses when another track is soloed.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Soloing overrides muting</strong> when enabled allows a track
-         to be heard when it is soloed while muted. This setting is also
-         available from the <strong>Mixer</strong> monitor section.
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-      <strong>Default track/bus muting options</strong> sets the muting options
-      for a newly created tracks or bus. The mute options for an existing track
-      or bus are changed by the right-click context menu on a mute button.
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Mute affects pre-fader sends</strong> when enabled pre-fader
-         sends will be muted by default.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Mute affects post-fader sends</strong> when enabled post-fader
-         sends will be muted by default.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Mute affects control outputs</strong> when enabled control
-         outputs are muted by default.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Mute affects main outputs</strong> when enabled main outputs
-         are muted by default.
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-      <strong>Send Routing</strong> affects
-      <a href="/signal-routing/aux-sends/">aux and external sends</a>.
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Link panners of Aux and External Sends with main panner by
-           default</strong> When enabled, sends follow the channel panner.
-       </p>
-       <p>
-         When disabled, sends can panned independently of the channel panner
-         and fader. Double clicking the send in the processor box toggles
-         the main panner and fader between the aux send and the channel.
-       </p>
-      </li>
-    </ul>
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/06_midi.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/06_midi.html
deleted file mode 100644 (file)
index c6f56f3..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
----
-layout: default
-title: MIDI Tab
-menu_title: MIDI Tab
----
-
-<p>
-  This tab contains settings related to the use of MIDI inside Ardour.
-</p>
-
-<img src="/images/a4_preferences_midi.png" alt="preferences
-MIDI tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>MIDI read-ahead time</strong>
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Send MIDI Clock</strong> when enabled Ardour will generate MIDI
-      clock on the <code>ardour:MIDI clock out</code> JACK port.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Send MIDI Time Code</strong> when enabled Ardour will generate MIDI
-      time code on the <code>ardour:MTC out</code> JACK port.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Percentage either side of normal transport speed to transmit MTC:</strong> MIDI time code generation will be disabled when the transport speed is
-      greater than normal sped plus this percentage or less than normal minus
-      this percentage.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Obey MIDI Machine Control commands</strong> when enabled Ardour
-      will respond to MIDI Machine Control commands received on the
-      <code>ardour:MMC in</code> JACK port.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Send MIDI Machine Control commands</strong> when enabled Ardour
-      will send MIDI Machine Control commands on the <code>ardour:MMC out</code>
-      JACK port.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Send MIDI control feedback</strong>
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Inbound MMC device ID:</strong> is the only device ID Ardour will
-      respond to when an MMC command is received on the
-      <code>ardour:MMC in</code> JACK port.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Outbound MMC device ID:</strong> is the MIDI device ID Ardour will
-      use when it sends MMC commands.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Initial program change:</strong> Ardour will send a MIDI program
-      change message on the <code>ardour:MMC out</code> JACK port when a session
-      is loaded and whenever this field is changed. A value of -1 is for don't
-      send any program change message.
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Display first MIDI bank/program as 0</strong>
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Never display periodic MIDI messages</strong>
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Sound MIDI notes as they are selected</strong>
-    </p>
-  </li>
-
-  <li>
-    <p>
-      <strong>Midi Audition Synth</strong>
-    </p>
-  </li>
-
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/07_interaction.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/07_interaction.html
deleted file mode 100644 (file)
index d8e6dfb..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
----
-layout: default
-title: User Interaction Tab
-menu_title: User Interaction Tab
----
-
-<p>
-  This tab contains settings that affect the user's interaction with
-  <a href="/ardours-interface/">Ardours interface</a>.
-</p>
-
-<img src="/images/a4_preferences_interaction.png" alt="preferences
-user interaction tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>Use translations</strong>
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Keyboard</strong>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Edit using:</strong> Use this keyboard and mouse combination
-         to edit a region's name, and for audio, the region gain.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Delete using:</strong>
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Insert note using</strong> Using this mouse and keyboard
-         combination allows MIDI note drawing while the <strong>Editor</strong>
-         is in edit mode.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Ignore snap using:</strong> This mouse and keyboard combination
-         temporarily changes the
-         <a href="/ardours-interface/the-grid-controls/">snap mode</a> to
-         <strong>No Grid</strong>.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Keyboard layout:</strong>
-       </p>
-      </li>
-    </ul>
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/08_control_surfaces.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/08_control_surfaces.html
deleted file mode 100644 (file)
index 8b4a4c8..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
----
-layout: default
-title: Control Surfaces Tab
-menu_title: Control Surfaces Tab
----
-
-<p>
-  This tab contains settings for control surfaces. Also see
-  <a href="/using-control-surfaces/">Using Control Surfaces</a>.
-</p>
-
-<img src="/images/a4_preferences_control_surfaces.png" alt="preferences
-control surfaces tab"/>
-
-<p>
-  Enable a <dfn>Control Surface Protocol</dfn> and double-click on it to edit
-  protocol specific  settings. Enable feedback to allow Ardour to send position
-  information back to a control surface.
-</p>
-
-<p>
-  <strong>Control surface remote ID:</strong> can follow the order of the mixer
-  or be user assigned.
-</p>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/09_video.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/09_video.html
deleted file mode 100644 (file)
index 74248b4..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
----
-layout: default
-title: Video Tab
-menu_title: Video Tab
----
-
-<p>
-  This tab contains settings related to handling of Video.
-</p>
-
-<img src="/images/a4_preferences_video.png" alt="preferences
-video tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>Advanced Setup (remote video server)</strong>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Video Server URL:</strong>
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Video Folder:</strong>
-       </p>
-      </li>
-    </ul>
-  </li>
-  <li>
-    <p>
-      <strong>Show Video Export Info before export</strong>
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Show Video Server Startup Dialog</strong>
-    </p>
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/10_plugins.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/10_plugins.html
deleted file mode 100644 (file)
index 59e9997..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
----
-layout: default
-title: Plugins Tab
-menu_title: Plugins Tab
----
-
-<p>
-  This tab contains settings that control the discovery and availability of
-  plugins.
-</p>
-
-<img src="/images/a4_preferences_plugins.png" alt="preferences
-plugins tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>General</strong>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Scan for Plugins</strong> will initiate an immediate scan of
-         the system for available plugins.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Always Display Plugin Scan Progress</strong> When enabled a
-         popup window showing plugin scan progress is displayed for indexing
-         (cache load) and discovery (detect new plugins).
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Scan Time Out</strong> Specify the default timeout for plugin
-         instantiation in 1/10 seconds. Plugins that require more time to load
-         will be blacklisted. A value of 0 disables the timeout.
-       </p>
-      </li>
-    </ul>
-  </li>
-
-  <li>
-    <p>
-      <strong>VST</strong>
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Clear VST Cache</strong> Remove all VST plugins from the list
-         of plugins available to be inserted into the processor box.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Clear VST Blacklist</strong> Make blacklisted VST plugins
-         available to be added to the processor box.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Scan for [new] VST Plugins on Application Start</strong> When
-         enabled new VST plugins are searched, tested and added to the cache
-         index on application start. When disabled new plugins will only be
-         available after triggering a 'Scan' manually.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Linux VST Path:</strong> Launch a dialog to manage the
-         directories that will be searched for Linux VST plugins.
-       </p>
-      </li>
-    </ul>
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/11_gui.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/11_gui.html
deleted file mode 100644 (file)
index 80ca623..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
----
-layout: default
-title: GUI Tab
-menu_title: GUI Tab
----
-
-<p>
-  This tab contains settings that affect
-  <a href="/ardours-interface/">Ardour's Interface</a>.
-</p>
-
-<img src="/images/a4_preferences_gui.png" alt="preferences
-gui tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>Graphically indicate mouse pointer hovering</strong>
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Use name highlight bars in region display</strong> When enabled the
-      region name is displayed, in the editor,  in it's own bar at the bottom of
-      the region. When disabled, the region name is display at the top of the
-      region, possibly over audio waveforms or MIDI notes.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Font scaling</strong> allows the display size of some text in the
-      user interface to be scaled up or down. May require a restart to take
-      affect.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Update transport clock display at FPS</strong> when enabled the transport clock
-      will update at the synchronization framerate instead of the default 100&nbsp;ms rate.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Lock timeout</strong> Lock GUI after this many idle seconds (zero to never
-      lock). GUI may also be locked with <kbd class="menu">Session &gt; Lock</kbd>. When
-      locked a dialog will display a &quot;Click to unlock&quot; button.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Mixer Strip</strong> Enable (checked) or disable (unchecked) display of
-      controls in the mixer strip. Controls whose display can be toggled are
-      <strong>Input</strong>, <strong>Phase&nbsp;Invert</strong>,
-      <strong>Record&nbsp;&amp;&nbsp;Monitor</strong>, <strong>Solo&nbsp;Iso/Lock</strong>,
-      <strong>Output</strong>, and <strong>Comments</strong>.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Use narrow strips in the mixer by default</strong> When enabled, new mixer
-      strips are created in narrow format. When disabled, they are created in wide format.
-      Existing mixer strips width can be toggled with the width control at the top left of
-      the mixer stip.
-    </p>
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/12_metering.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/12_metering.html
deleted file mode 100644 (file)
index 1d903fd..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: default
-title: Metering Tab
-menu_title: Metering Tab
----
-
-<p>
-  This tab contains settings that affect <a href="/meters/">
-    Metering</a> in Ardour.
-</p>
-
-<img src="/images/a4_preferences_metering.png" alt="preferences
-metering tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>Peak hold time:</strong> Some meter types that have a peak
-      indicator that has a user controlled hold time. The options are off, short,
-      medium, or long.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>DPM fall-off:</strong>
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Meter line-up level; 0&nbsp;dBu:</strong>
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>IEC1/DIN Meter line-up level; 0&nbsp;dBu:</strong>
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>VU Meter standard:</strong>
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Peak threshold[dBFS]:</strong>
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>LED meter style</strong>
-    </p>
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/01_preferences-dialog/13_theme.html b/_manual/24_preferences-and-session-properties/01_preferences-dialog/13_theme.html
deleted file mode 100644 (file)
index b854a34..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
----
-layout: default
-title: Theme Tab
-menu_title: Theme Tab
----
-
-<p>
-  This tab contains settings that change the visual appearence of Ardour.
-</p>
-
-<img src="/images/a4_preferences_theme.png" alt="preferences
-theme tab"/>
-
-<ul>
-  <li>
-    <p>
-      <strong>Restore Defaults</strong> When clicked will change all settings
-      on the Theme tab back to Ardour's default values.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>All floating windows are dialogs</strong> When enabled Ardour will
-      use type &quot;Dialog&quot; for all floating windows instead of using type
-      &quot;Utility&quot; for some of them. This may help usability with some
-      window managers. This setting requires a restart of Ardour to take effect.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Transient windows follow front window</strong> When enabled
-      transient windows will follow the front window when toggling between the
-      editor and mixer. This setting requires a restart of Ardour to take effect.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Draw &quot;flat&quot; buttons</strong> When enabled button controls
-      in the user interface will be drawn with a flat look. When disabled button
-      controls will have a slight 3D appearence.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Blink Rec-Arm buttons</strong> When enabled the record-armed
-      buttons on tracks will blink when they are armed but not currently
-      recording. When disabled the record-armed buttons on tracks will be
-      outlined in red instead of blinking.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Color regions using their track's color</strong> When enabled
-      the background color of regions in the editor will be displayed using the
-      the color assigned to the track. When disabled the default region
-      background color will be used.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Show waveform clipping</strong> When enalbled the waveform
-      displayed will show peaks marked in red if they exceed the clip level. The
-      Waveform Clip Level is set with a slider on the Preferences
-      <a href="/preferences-and-session-properties/preferences-dialog/editor/">
-       Editor tab</a>
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Icon Set</strong> Changes the mouse cursor icons used to indicate
-      different tool modes in the editor. An example would be the icons used to
-      indicate whether the cursor will select a region or change the length of a
-      region.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Waveforms color gradient depth</strong> Determines how much
-      gradient effect is applied to audio waveforms displayed in the editor.
-      Values range from 0.00, no graident effect, to 0.95, maximum effect.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Timeline item gradient depth</strong> Determines how much
-      gradient effect is applied to the backgrounds of regions displayed in the
-      editor. Values range from 0.00, no graident effect, to 0.95, maximum
-      effect.
-    </p>
-  </li>
-  <li>
-    <p>
-      <strong>Colors</strong> The color of an item in the user interface is
-      determined by which named color is assigned to it, the color displayed for
-      each named color in the palette, and in some cases, the transparency of
-      stacked items.
-    </p>
-    <ul>
-      <li>
-       <p>
-         <strong>Items</strong> Each display item has a named color assigned to
-         it from the palette. Example color names are
-         &quot;meter&nbsp;color9&quot; and &quot;color&nbsp;4&quot;.
-       </p>
-       <p>
-         Click on an item's color example to change the named color choice.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Palette</strong> Hover over a color to display it's name. Click
-         on a color to open a color chooser dialog.
-       </p>
-      </li>
-      <li>
-       <p>
-         <strong>Transparency</strong> Some items have a transparency value.
-         Transparency can be changed from opaque to totally transparent.
-       </p>
-      </li>
-    </ul>
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/02_session-properties-dialog.html b/_manual/24_preferences-and-session-properties/02_session-properties-dialog.html
deleted file mode 100644 (file)
index 0c9ee26..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
----
-layout: default
-title: Session Properties Dialog
-menu_title: Session Properties
----                        
-
-<img src="/images/a4_session_properties_timecode.png" alt="session properties dialog"/>
-
-<p>
-  This dialog allows you to change settings for the current session. These settings
-  are initially set from the template used to create the session. To open the dialog
-  use <kbd class="menu">Session &gt; Properties</kbd>
-</p>
-
-{% children %}
-
-
-
-  
diff --git a/_manual/24_preferences-and-session-properties/02_session-properties-dialog/01_timecode.html b/_manual/24_preferences-and-session-properties/02_session-properties-dialog/01_timecode.html
deleted file mode 100644 (file)
index f5b369a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: default
-title: Timecode Tab
-menu_title: Timecode Tab
----                        
-
-<img src="/images/a4_session_properties_timecode.png" alt="session properties timecode tab"/>
-
-<p>
-  This tab is used to change how Ardour interprets and manipulates timecode.
-</p>
-
-<ul>
-  <li>
-    Timecode Settings lets you set the number of frames per second 
-    and pull up/down to match the timecode used other synchronized systems. 
-  </li>
-  <li>
-    External Timecode Offsets allows Ardour to a fixed offset from other
-    synchronized systems. <dfn>Slave Timecode offset</dfn> adds the 
-    specified offset to the recieved timecode (MTC or LTC). 
-    <dfn>Timecode Generator offset</dfn> adds the specified offset to
-    the timecode generated by Ardour (so far only LTC).
-  </li>
-  <li>
-    Jack Transport / Time Settings determines whether Ardour controls
-    Bar|Beat|Tick and other information for Jack.
-  </li>
-
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/02_session-properties-dialog/02_sync.html b/_manual/24_preferences-and-session-properties/02_session-properties-dialog/02_sync.html
deleted file mode 100644 (file)
index d79932e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: default
-title: Sync Tab
-menu_title: Sync Tab
----                        
-
-<img src="/images/a4_session_properties_sync.png" alt="session properties sync tab"/>
-
-<p>
-  This tab is used to modify the timecode settings when working with video to 
-  use the imported video's timecode settings instead of the session defaults.
-</p>
diff --git a/_manual/24_preferences-and-session-properties/02_session-properties-dialog/03_fades.html b/_manual/24_preferences-and-session-properties/02_session-properties-dialog/03_fades.html
deleted file mode 100644 (file)
index e07a211..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: default
-title: Fades Tab
-menu_title: Fades Tab
----                        
-
-<img src="/images/a4_session_properties_fades.png" alt="session properties fades tab"/>
-
-<p>
-  Change how Ardour works with region crossfades.
-</p>
-
-<ul>
-  <li>
-    <dfn>Destructive crossfade length</dfn> is used when an operation on a 
-    region is destructive, such as when recording in a track is in tape mode.
-  </li>
-  <li>
-    When <dfn>Region fades</dfn> <strong>active</strong> is checked, the 
-    region fades set up in the mixer are used during playback.  When unchecked, 
-    the fades are ignored.
-  </li>
-  <li>
-    When <strong>Region fades visible</strong> is checked the region fades are visible
-    in the the <strong>Editor</strong>.
-  </li>
-
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/02_session-properties-dialog/04_media.html b/_manual/24_preferences-and-session-properties/02_session-properties-dialog/04_media.html
deleted file mode 100644 (file)
index ab8092d..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: default
-title: Media Tab
-menu_title: Media Tab
----                        
-
-<img src="/images/a4_session_properties_media.png" alt="session properties media tab"/>
-
-<p>
-  Change how sound is stored on disk. These options do not change how sound is handled
-  internally.
-</p>
-
-<ul>
-  <li>
-    <dfn>Sample format</dfn> defaults to 32-bit floating point, the same as 
-    the internal representation. 24 and 16-bit integer representation are 
-    also available.
-  </li>
-  <li>
-    <strong>File type</strong> options are WAVE,  WAVE-64, and CAF.
-  </li>
-</ul>
diff --git a/_manual/24_preferences-and-session-properties/02_session-properties-dialog/05_locations.html b/_manual/24_preferences-and-session-properties/02_session-properties-dialog/05_locations.html
deleted file mode 100644 (file)
index e752b52..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: default
-title: Locations Tab
-menu_title: Locations Tab
----                        
-
-<img src="/images/a4_session_properties_locations.png" alt="session properties locations tab"/>
-
-<p>
-  These options add file locations that will be searched to find the audio and 
-  midi files used by the session. This is useful when the files have been 
-  imported into the session but not copied into the session.
-</p>
-
-<p>
-  To add a location, navigate to the directory where the files are stored.  
-  Drill down into the directory and then click open.  The directory will
-  show up in the dialog.  The remove button next to the added directory can be used
-  to remove it from the search path.
-</p>
-
diff --git a/_manual/24_preferences-and-session-properties/02_session-properties-dialog/06_filenames.html b/_manual/24_preferences-and-session-properties/02_session-properties-dialog/06_filenames.html
deleted file mode 100644 (file)
index 2454c87..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: default
-title: Filenames Tab
-menu_title: Filenames Tab
----                        
-
-<img src="/images/a4_session_properties_filenames.png" alt="session properties filenames tab"/>
-
-<p>
-  This tab is used to change how Ardour names recorded regions. 
-  If <dfn>Prefix track number</dfn> is selected a unique number will appear on each track 
-  in the <dfn>Editor</dfn> window and will prefix the region name. If the track number 
-  is 2 and the region would have been Gtr-1.1 with track number prefix turned on the region 
-  will be named 2_Gtr-1.1 instead.  See XX for base of the region name.
-</p>
-
-<p>
-  If <dfn>Prefix take name</dfn> is selected and the <dfn>Take name</dfn> has Take1 the region
-  will have the name Take1_Gtr-1.1 instead.  If both boxes are checked the name will be
-  Take1_2_Gtr-1.1 instead.      
-</p>
-
-<p>
-  When <dfn>Prefix take name</dfn> is enabled, the first time a track is recorded it will
-  have the specified take name.  When recording is stopped, any trailing number on the 
-  end of the take name will incremented by 1. If the track name specified doen't have
-  a number on the end, the number 1 will be suffixed.
-</p>
diff --git a/_manual/24_preferences-and-session-properties/02_session-properties-dialog/07_monitoring.html b/_manual/24_preferences-and-session-properties/02_session-properties-dialog/07_monitoring.html
deleted file mode 100644 (file)
index d4f3094..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: default
-title: Monitoring Tab
-menu_title: Monitoring Tab
----                        
-
-<p>
-  Provides options affecting monitoring.
-</p>
-
-<img src="/images/a4_session_properties_monitoring.png" alt="session properties monitoring tab"/>
-
-<p>
-  The <strong>Track Input Monitoring automatically follows transport state</strong>
-  affects how input monitoring is handling. See 
-  <a href="/recording/monitoring/monitor-setup-in-ardour/">Monitor Setup in Ardour</a>.
-</p>
-
-<img class="left" src="/images/a4_monitoring_section.png" alt="monitoring section"/>
-
-<p>
-  The 'Use monitor section' displays an extra section in the <strong>Mixer</strong> 
-  window that is modelled on the similiarly named section on large analog consoles.
-</p>
-
diff --git a/_manual/24_preferences-and-session-properties/02_session-properties-dialog/08_meterbridge.html b/_manual/24_preferences-and-session-properties/02_session-properties-dialog/08_meterbridge.html
deleted file mode 100644 (file)
index 3490a9b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
----
-layout: default
-title: Meterbridge Tab
-menu_title: Meterbridge Tab
----                        
-
-<p>
-  The meters from audio tracks always display in the <dfn>Meterbridge</dfn>.
-  This tab changes what additional controls are also displayed. 
-</p>
-
-<img src="/images/a4_session_properties_meterbridge.png" alt="session properties meterbridge tab"/>
-
-<ul>
-  <li>
-    <dfn>Route Display</dfn> has options for showing midi tracks, busses, and the master bus.
-  </li>
-  <li>
-    <dfn>Button Area</dfn> has options for adding record enable, mute, solo, and input monitor buttons.
-  </li>
-  <li>
-    <dfn>Name Labels</dfn> adds the track name and, if numbers are enabled on the filenames tab, the number.
-  </li>
-</ul>
-
-<img src="/images/a4_meterbridge_full.png" alt="image of meterbidge with all options on"/>
diff --git a/_manual/24_preferences-and-session-properties/02_session-properties-dialog/09_misc.html b/_manual/24_preferences-and-session-properties/02_session-properties-dialog/09_misc.html
deleted file mode 100644 (file)
index 6aed271..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
----
-layout: default
-title: Misc Tab
-menu_title: Misc Tab
----                        
-
-<p>
-  This tab has several things that don't fit on the other tabs.
-</p>
-
-<img src="/images/a4_session_properties_misc.png" alt="session properties misc tab"/>
-
-<ul>
-  <li>
-    <dfn>MIDI Options</dfn>
-    <ul>   
-      <li>
-       If <dfn>MIDI region copies are independent</dfn> is selected, when a 
-       MIDI region is copied or duplicated, the new region is not linked to 
-       the region it was copied from.  If it is not selected, the copied regions 
-       are linked and any editing of one of the linked regions changes all 
-       of the linked regions. 
-      </li>
-      <li>
-       The <dfn>Editor</dfn> can be configured to handle overlapping MIDI notes 
-       several ways.
-       <ul>
-         <li>never allow them</li>
-         <li>don't do anything in particular</li>
-         <li>replace any overlapped existing notes</li>
-         <li>shorten the overlapped existing note</li>
-         <li>shorten the overlapped new note</li>
-         <li>replace both overlapping notes with a single note</li>
-       </ul>
-      </li>
-    </ul>
-  </li>
-  <li>
-    <dfn>Glue to bars and beats</dfn>
-    <ul>
-      <li>New markers can be glued to bars and beats</li>
-      <li>New regions can be glued to bars and beats</li>
-    </ul>
-  </li>
-  <li>
-    Settings from the session properties dialogs can be saved to the 
-    default session template.
-  </li>
-</ul>
-
diff --git a/_manual/25_using-control-surfaces.html b/_manual/25_using-control-surfaces.html
deleted file mode 100644 (file)
index 962ba7b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: default
-title: Using Control Surfaces
----                        
-
-
-  
-  
-  
-
-
-
-{% children %}
diff --git a/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc.html b/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc.html
deleted file mode 100644 (file)
index 230b56e..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: default
-title: Controlling Ardour with OSC
----
-
-<p>
-  <abbr title="Open Sound Control"><dfn>OSC</dfn></abbr> lets synthesizers
-  and other devices communicate with Ardour. OSC devices can send commands
-  relating to playback (such as play or stop), performance (such as volume,
-  play, stop, and almost any other function (such as Edit, or Undo).
-</p>
-
-{% children %}
diff --git a/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/01_osc-control.html b/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/01_osc-control.html
deleted file mode 100644 (file)
index 3fc9c97..0000000
+++ /dev/null
@@ -1,514 +0,0 @@
----
-layout: default
-title: OSC&#58; Controlling Ardour with OSC
----
-
-<p>
-  <abbr title="Open Sound Control"><dfn>OSC</dfn></abbr> lets synthesizers
-  and other devices communicate with Ardour. OSC devices can send commands
-  relating to playback (such as play or stop), performance (such as volume,
-  play, stop, and almost any other function (such as Edit, or Undo).
-</p>
-
-<p class="note">
-  <em>Note:</em> OSC control has changed dramatically since Ardour 4.7.
-  The Path structure has been completely redone, Banking has been introduced,
-  The controller is now able to tell Ardour what kind of feedback it can
-  work with (including bank size) and two new math styles have been added
-  to gain controls. If you are using an Ardour version of 4.7 or less,
-  please read <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/osc-control-in-ardour-4.7-and-prior/">
-  Osc control in ardour 4.7 and prior.</a>
-</p>
-
-<p>
-  Ardour is probably one of the most OSC-controllable audio applications
-  around, but as with all OSC-controllable apps, you can't do much without
-  knowing what <dfn>messages</dfn> can be sent. This document describes the
-  various categories of messages that Ardour understands. It is subject to
-  change, particularly the "Actions" part below, since this relates to the
-  GTK GUI for Ardour rather than the backend.
-</p>
-
-<h2>Connecting to Ardour via OSC</h2>
-<p>
-  OSC support is not enabled by default, but can be turned on via
-  <kbd class="menu">Edit &gt; Preferences &gt; Control Surfaces</kbd>.
-  Once enabled, Ardour will listen on port <code>3819</code> by default.
-  This port number can be changed by editing <code>$ARDOUR_CONFIG</code>
-  and adding this line within the <code>&lt;Config&gt;</code> section:
-</p>
-<kbd class="input">&lt;Option name="osc-port" value="<em>Your choice
-here</em>"/&gt;</kbd>
-
-<p>
-  Ardour sends any feedback to the port and address that sent any
-  feedback request. The port does not have to match Ardour's port. In
-  fact it is better not to. This means that Ardour can deal with more
-  than one controller at a time. The two controllers can bank
-  independently and even use different math for faders. This could be
-  used to allow talent to adjust their own monitor mix using a tablet
-  or phone that can run an OSC controller. For a full explanation of
-  how Ardour's feedback works please read <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/feedback-in-osc/">
-  OSC feedback In Ardour.</a>
-</p>
-
-<h2>Control Surface Set Up</h2>
-
-<p>
-  Control surface set up allows the controller to tell Ardour about it's
-  capabilities. The surface can tell Ardour how many control strips it
-  has for banking, if it is capable of setting it's faders or buttons
-  to values set by Ardour's GUI or automation, What kind of math the
-  faders use and more.
-</p>
-<p>
-  Any time the <em>/set_surface</em> command is sent, the current bank
-  is recalculated and if feedback is turned on, the values of each
-  strip's controls are sent (or refreshed) as well. This will also
-  refresh the Master feedback setup.
-</p>
-<p class="note">
-  Surface Port Setting is available in the OSC GUI.
-</p>
-<p>
-  As of Ardour 5.1, There is now a GUI setup in response to those using
-  tablets with applications such as touchOSC or AndrOSC who need to be
-  able to set a port for Ardour to send to. It can also change the
-  default setting for set_surface. For more information about Ardour's
-  OSC configuration GUI please read <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/osc-setup-dialog/">
-  Ardour's Setup Dialog.</a>
-</p>
-<p>If /set_surface is not sent, the default values are used:
-  <ul>
-         <li><em>Bank Size</em>: 0 - No banking (or infinite bank size).</li>
-         <li><em>Strip Types</em>: All strip types except hidden and special.</li>
-         <li><em>Feedback</em>: 0 - All off.</li>
-         <li><em>Fader Mode</em>: 0 - gain in dB (not relevant with feedback off)</li>
-  </ul>
-</p>
-<p>
-  These values give the same behaviour as prior versions of Ardour. (or the closest possible)
-</p>
-<dl class="bindings">
-  <dt><kbd class="osc">/set_surface <em>bank_size</em> <em>strip_types</em>
-  <em>feedback</em> <em>fadermode</em></kbd></dt>
-  <dd>
-         See below for an explanation of each parameter.
-  </dd>
-</dl>
-<h3>bank_size</h3>
-<p>
-  Bank Size is the number of channel strips the controller supports
-  without banking. Setting this to 0 turns banking off by setting the
-  bank size to infinite.
-</p>
-<p class="note">
-       Bank size can also be set with <em>/set_surface/bank_size size.</em>
-</p>
-<h3>strip_types</h3>
-<p>
-  strip_types is an integer made up of bits. The easy way to
-  deal with this is to think of strip_types items being worth a number and
-  then adding all those numbers together for a value to send.
-  Strip Types will determine what kind of strips will be included in
-  bank. This would include: Audio, MIDI, buses, VCAs, Master, Monitor
-  and hidden or selected strips.
-</p>
-<p>
-  Aside from setting the track types for the main mix assignments, using
-  /set_surface/strip_types with more than one surface button will allow
-  switching between modes for example: inputs only, buses only,
-  selected only, hidden only, by having the buttons send values of: 3,
-  12, 256, 512. A full mix button might have a value 31.
-</p>
-<p>
-  While Master and Monitor are listed as possibilities, most surfaces
-  will not use them. Using /master and /monitor makes more sense.
-  However, in the case where there are no master or monitor fader strips
-  on the surface, it may be necessary to include them in the banked
-  strips.
-</p>
-<p>Please see: <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
-  Calculating Feedback and Strip-types Values.</a>
-</p>
-<p class="note">
-       Strip types can also be set with <em>/set_surface/strip_types types.</em>
-</p>
-<h3>feedback</h3>
-<p>Feedback is an integer made up of bits. The easy way to
-  deal with this is to think of feedback items being worth a number and
-  then adding all those numbers together for a value to send.
-</p>
-<p>Please see: <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
-  Calculating Feedback and Strip-types Values.</a></p>
-<p class="note">
-       Feedback can also be set with <em>/set_surface/feedback feedback.</em>
-</p>
-
-<h3>gainmode</h3>
-<p>
-  Gainmode is a an int that acts as a bool:
-  <ul>
-         <li><em>0 (or false)</em> dB value as a float from -193 to +6. Sent as
-         /strip/gain SSID value. (-193 or below are the same as -inf)</li>
-         <li><em>1 (or true)</em> A positional fader based on the same math
-         as Ardour's GUI.  An Float from 0 to 1. Sent as
-         /strip/fader SSID value</li>
-  </ul>
-</p>
-<p>
-  Gainmode applies only to feedback values. The controller can choose
-  which gain math to use by choosing to use the /*/gain or /*/fader path
-  to send to Ardour. This makes sure a controller that doesn't set up
-  Ardour's OSC can still use either math. The gainmode for feedback also
-  determines the path Ardour uses for feedback so that the feedback
-  messages match the control messages.
-</p>
-<p class="note">
-       Gain mode can also be set with <em>/set_surface/gainmode gainmode.</em>
-</p>
-
-<h2>Querying Ardour for information</h2>
-<p>
-  The control Surface may wish to control the type a frequency of
-  updates it receives. It can do this with querying commands. See: <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/querying-ardour-with-osc/">
-  Querying Ardour with OSC.</a>
-</p>
-
-<h2>List of OSC messages</h2>
-<p class="note">
-       Parameter types show how the value will be used. However, they may
-       be sent as a different type if needed, see: <a
-       href="/using-control-surfaces/controlling-ardour-with-osc/parameter-types-in-osc/">
-       Parameter Types in OSC.</a>
-</p>
-<h3>Master or Global messages</h3>
-
-<h4>Transport Control</h4>
-<dl class="bindings">
-  <dt><kbd class="osc">/transport_stop</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/transport_play</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/toggle_roll</kbd></dt>
-  <dd>Toggles between play and stop</dd>
-  <dt><kbd class="osc">/set_transport_speed <em>s</em></kbd></dt>
-  <dd>where <em>s</em> is a float ranging from -8.0f to 8.0f</dd>
-  <dt><kbd class="osc">/ffwd</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/rewind</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/goto_start</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/goto_end</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/jump_bars <em>bars</em></kbd></dt>
-  <dd>Where <em>bars</em> is a float (+/-) of the number of bars to jump</dd>
-  <dt><kbd class="osc">/jump_seconds <em>seconds</em></kbd></dt>
-  <dd>Where <em>seconds</em> is a float (+/-) of the number of seconds to jump</dd>
-  <dt><kbd class="osc">/add_marker</kbd></dt>
-  <dd>(adds marker to the current transport position)</dd>
-  <dt><kbd class="osc">/remove_marker</kbd></dt>
-  <dd>Removes marker at the current transport position (if there is one)</dd>
-  <dt><kbd class="osc">/mark_in</kbd></dt>
-  <dd>Marks the begining of a range at the current transport position</dd>
-  <dt><kbd class="osc">/mark_out</kbd></dt>
-  <dd>Marks the end of a range at the current transport position</dd>
-  <dt><kbd class="osc">/next_marker</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/prev_marker</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/locate <em>spos</em> <em>roll</em></kbd></dt>
-  <dd>where <em>spos</em> is the target position in samples and
-  <em>roll</em> is a bool/integer defining whether you want transport
-  to be kept rolling or not</dd>
-  <dt><kbd class="osc">/loop_toggle</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/loop_location <em>start</em> <em>end</em></kbd></dt>
-  <dd><em>start</em> is the beginning of a loop and <em>end</em> is the
-  end of a loop both are integer frame positions.</dd>
-  <dt><kbd class="osc">/set_loop_range</kbd></dt>
-  <dd>Uses edit range as loop range</dd>
-  <dt><kbd class="osc">/set_session_range</kbd></dt>
-  <dd>Uses edit range as session range</dd>
-  <dt><kbd class="osc">/toggle_click</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/midi_panic</kbd></dt>
-  <dd>Ardour will send an all notes off to all midi tracks</dd>
-  <dt><kbd class="osc">/cancel_all_solos</kbd></dt>
-  <dd>Cancel All Solos/PFLs/AFLs</dd>
-</dl>
-
-<h4>Transport Information</h4>
-<dl>
-  <dt><kbd class="osc">/transport_frame</kbd></dt>
-  <dd>Ardour sends /transport_frame <em>current_frame</em></dd>
-  <dt><kbd class="osc">/transport_speed</kbd></dt>
-  <dd>Ardour sends /transport_speed <em>speed</em></dd>
-  <dt><kbd class="osc">/record_enabled</kbd></dt>
-  <dd>Ardour sends /record_enabled <em>recordenable_status</em></dd>
-</dl>
-
-<h4>Editing-related</h4>
-<dl class="bindings">
-  <dt><kbd class="osc">/undo</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/redo</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/save_state</kbd></dt>
-  <dd>(this is the regular <kbd class="menu">Session &gt; Save</kbd>
-  operation)</dd>
-  <dt><kbd class="osc">/quick_snapshot_switch</kbd></dt>
-  <dd>Take a snapshot and switch to new version</dd>
-  <dt><kbd class="osc">/quick_snapshot_stay</kbd></dt>
-  <dd>Take a snapshot and keep working on this version</dd>
-  <dt><kbd class="osc">/fit_*_track(s)</kbd></dt>
-  <dd>Were <em>*</em> is one of 1, 2, 4, 8, 16, 32 or all. Fits this
-  many tracks in editor window. (add s for more than 1)</dd>
-  <dt><kbd class="osc">/zoom_*</kbd></dt>
-  <dd>Zoom editor to include <em>*</em> where <em>*</em> is 100_ms, 1_sec,
-  10_sec, 1_min, 5_min, 10_min or to_session</dd>
-  <dt><kbd class="osc">/temporal_zoom_in</kbd></dt>
-  <dd>Zoom editor in to show less time</dd>
-  <dt><kbd class="osc">/temporal_zoom_out</kbd></dt>
-  <dd>Zoom editor out to show more time</dd>
-  <dt><kbd class="osc">/scroll_up_1_track</kbd></dt>
-  <dd>Scroll the editor pane up 1 track</dd>
-  <dt><kbd class="osc">/scroll_up_1_page</kbd></dt>
-  <dd>Scroll the editor pane up 1 page</dd>
-  <dt><kbd class="osc">/scroll_dn_1_track</kbd></dt>
-  <dd>Scroll the editor pane down 1 track</dd>
-  <dt><kbd class="osc">/scroll_dn_1_page</kbd></dt>
-  <dd>Scroll the editor pane down 1 page</dd>
-</dl>
-
-<h4>Recording control</h4>
-<dl class="bindings">
-  <dt><kbd class="osc">/toggle_punch_in</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/toggle_punch_out</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/set_punch_range</kbd></dt>
-  <dd>Uses edit range as punch range</dd>
-  <dt><kbd class="osc">/rec_enable_toggle</kbd></dt>
-  <dd></dd>
-  <!--dt><kbd class="osc">/toggle_all_rec_enables</kbd></dt>
-  <dd>(toggles all tracks' recording state)</dd-->
-  <dt><kbd class="osc">/stop_forget</kbd></dt>
-  <dd>Stop transport and delete/forget last take</dd>
-</dl>
-
-<h4>Master and Monitor strip control</h4>
-<dl class="bindings">
-  <dt><kbd class="osc">/master/gain <em>dB</em></kbd></dt>
-  <dd>See gain in strips</dd>
-  <dt><kbd class="osc">/master/fader  <em>position</em></kbd></dt>
-  <dd>See fader in strips</dd>
-  <dt><kbd class="osc">/master/trimdB <em>dB</em></kbd></dt>
-  <dd>see trimdb in strips</dd>
-  <dt><kbd class="osc">/master/pan_stereo_position <em>position</em></kbd></dt>
-  <dd>See pan_stereo_position in strips</dd>
-  <dt><kbd class="osc">/master/mute  <em>yn</em></kbd></dt>
-  <dd>See mute in strips</dd>
-  <dt><kbd class="osc">/monitor/gain <em>dB</em></kbd></dt>
-  <dd>See gain in strips</dd>
-  <dt><kbd class="osc">/monitor/fader  <em>position</em></kbd></dt>
-  <dd>See fader in strips</dd>
-</dl>
-
-<h3>Track specific operations</h3>
-<p>
-  For each of the following, <em>ssid</em> is the Surface Strip ID for the track
-</p>
-<p class="note">
-  SSID has a different meaning than RID in Ardour version 4.7 and before.
-  Effectively, banking is always being used and the SSID is generated on
-  the fly. The SSID is the position of the strip within bank as an int
-  1 to bank size. There are no gaps as there have been in the past.
-  Depending on the value of strip_types sent to Ardour, Master and
-  Monitor, may be included in the list of SSIDs or not as set in
-  <em>/set_surface</em>.
-</p>
-<p class="note">
-  Some Surfaces (many Android applets) are not able to deal with more
-  than one parameter in a command. However, the two parameter commands
-  below can also be sent as /strip/command/ssid param. In this case the
-  param should be a float even if an int is required below.
-</p>
-<dl class="bindings">
-  <dt><kbd class="osc">/bank_up </kbd></dt>
-  <dd>Change bank to the next higher bank.</dd>
-  <dt><kbd class="osc">/bank_down </kbd></dt>
-  <dd>Change bank to the next lower bank.</dd>
-  <dt><kbd class="osc">/strip/mute <em>ssid</em> <em>mute_st</em></kbd></dt>
-  <dd>where <em>mute_st</em> is a bool/int representing the desired mute state of the track</dd>
-  <dt><kbd class="osc">/strip/solo <em>ssid</em> <em>solo_st</em></kbd></dt>
-  <dd>where <em>solo_st</em> is a bool/int representing the desired solo state of the track</dd>
-  <dt><kbd class="osc">/strip/solo_iso <em>ssid</em> <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is a bool/int representing the desired solo isolate state of the track</dd>
-  <dt><kbd class="osc">/strip/solo_safe <em>ssid</em> <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is a bool/int representing the desired solo safe/lock state of the track</dd>
-  <dt><kbd class="osc">/strip/monitor_input <em>ssid</em> <em>monitor_st</em></kbd></dt>
-  <dd>where <em>monitor_st</em> is a bool/int where 1 is forced input monitoring.</dd>
-  <dt><kbd class="osc">/strip/monitor_disk <em>ssid</em> <em>monitor_st</em></kbd></dt>
-  <dd>where <em>monitor_st</em> is a bool/int where 1 is forced disk monitoring. When input and disk are both off,
-  Auto monitoring is enabled.</dd>
-  <dt><kbd class="osc">/strip/recenable <em>ssid</em> <em>rec_st</em></kbd></dt>
-  <dd>where <em>rec_st</em> is a bool/int representing the desired rec state of the track</dd>
-  <dt><kbd class="osc">/strip/record_safe <em>ssid</em> <em>rec_st</em></kbd></dt>
-  <dd>where <em>rec_st</em> is a bool/int representing the desired record safe state of the track</dd>
-  <dt><kbd class="osc">/strip/polarity <em>ssid</em> <em>invert</em></kbd></dt>
-  <dd>where <em>invert</em> is a bool/int representing the desired polarity of the track</dd>
-  <dt><kbd class="osc">/strip/gain <em>ssid</em>  <em>gain</em></kbd></dt>
-  <dd>where <em>gain</em> is a float ranging from -193 to 6 representing the desired gain of the track in dB.</dd>
-  <dt><kbd class="osc">/strip/fader <em>ssid</em>  <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float ranging from 0 to 1 representing the fader control position.</dd>
-  <dt><kbd class="osc">/strip/trimdB <em>ssid</em>  <em>trim_db</em></kbd></dt>
-  <dd>where <em>trim_db</em> is a float ranging from -20 to 20 representing the desired trim of the track in dB.</dd>
-  <dt><kbd class="osc">/strip/pan_stereo_position <em>ssid</em> <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float ranging from 0 to 1 representing the desired pan position of the track</dd>
-  <dt><kbd class="osc">/strip/pan_stereo_width <em>ssid</em> <em>width</em></kbd></dt>
-  <dd>where <em>width</em> is a float ranging from 0 to 1 representing the desired pan width of the track</dd>
-  <dt><kbd class="osc">/strip/send/gain <em>ssid</em> <em>sendid</em> <em>send_gain</em></kbd></dt>
-  <dd>where <em>sendid</em> = nth_send, <em>send_gain</em> is a float
-  ranging from -193 to +6 representing the desired gain in dB for the send</dd>
-  <dt><kbd class="osc">/strip/send/fader <em>ssid</em> <em>sendid</em> <em>send_gain</em></kbd></dt>
-  <dd>where <em>sendid</em> = nth_send, <em>send_gain</em> is a float
-  ranging from 0 to 1 representing the desired position for the send as a fader</dd>
-  <dt><kbd class="osc">/strip/send/enable <em>ssid</em> <em>sendid</em> <em>state</em></kbd></dt>
-  <dd>where <em>sendid</em> = nth_send, <em>state</em> is 1 for enabled and 0 for disabled</dd>
-  <dt><kbd class="osc">/strip/list </kbd></dt>
-  <dd>see: <a href="/using-control-surfaces/controlling-ardour-with-osc/querying-ardour-with-osc/">
-  Querying Ardour with OSC.</a></dd>
-  <dt><kbd class="osc">/strip/sends <em>ssid</em></kbd></dt>
-  <dd>see: <a href="/using-control-surfaces/controlling-ardour-with-osc/querying-ardour-with-osc/">
-  Querying Ardour with OSC.</a></dd>
-  <dt><kbd class="osc">/strip/receives <em>ssid</em></kbd></dt>
-  <dd>see: <a href="/using-control-surfaces/controlling-ardour-with-osc/querying-ardour-with-osc/">
-  Querying Ardour with OSC.</a></dd>
-  <dt><kbd class="osc">/strip/plugin/list <em>ssid</em></kbd></dt>
-  <dd>see: <a href="/using-control-surfaces/controlling-ardour-with-osc/querying-ardour-with-osc/">
-  Querying Ardour with OSC.</a></dd>
-  <dt><kbd class="osc">/strip/plugin/descriptor <em>ssid</em></kbd></dt>
-  <dd>see: <a href="/using-control-surfaces/controlling-ardour-with-osc/querying-ardour-with-osc/">
-  Querying Ardour with OSC.</a></dd>
-  <dt><kbd class="osc">/strip/plugin/reset <em>ssid</em> <em>piid</em> </kbd></dt>
-  <dd>where <em>piid</em> = nth Plugin, will reset all values to the plugin's original values</dd>
-  <dt><kbd class="osc">/strip/plugin/activate <em>ssid</em> <em>piid</em> </kbd></dt>
-  <dd>where <em>piid</em> = nth Plugin, will set the plugin's state to active</dd>
-  <dt><kbd class="osc">/strip/plugin/deactivate <em>ssid</em> <em>piid</em> </kbd></dt>
-  <dd>where <em>piid</em> = nth Plugin, will set the plugin's state to inactive</dd>
-  <dt><kbd class="osc">/strip/plugin/parameter <em>ssid</em> <em>piid</em> <em>param</em> <em>value</em></kbd></dt>
-  <dd>where <em>piid</em> = nth Plugin, <em>param</em> = nth param, <em>value</em>
-  is a float ranging from 0 to 1 representing the desired parameter value</dd>
-  <dt><kbd class="osc">/strip/name <em>ssid</em> <em>name</em></kbd></dt>
-  <dd>where <em>name</em> is a string for the desired name of the track</dd>
-</dl>
-<h3>Selected Strip Operations</h3>
-<p>
-  New for Ardour 5, A whole set of operations that work on the selected
-  or expanded strip.
-</p>
-<p class="note">
-  Selected strip operations are complex enough for their own page.
-  Please read: <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/selection-considerations-in-osc/">
-  Selection Considerations in OSC.</a> This is most important if more
-  than one OSC surface is being used with Ardour.
-</p>
-<p>
-  There are two kinds of selection in OSC. GUI selection and local
-  expansion. By default expansion follows selection.
-  <ul>
-       <li>
-               GUI selection: Use <em>/strip/select</em> to set.  Selecting
-               a strip in the GUI will set OSC surface select and the surface
-               will set GUI selection as well.
-       </li>
-       <li>
-               Local expansion: Use <em>/strip/expand</em> to expand a strip
-               without changing overall selection. When /strip/expand is set
-               to 0 or false, the select channel will go back to using the
-               strip selected by the GUI. While expand is turned on,
-               selecting a strip on the GUI does not
-               select the OSC strip. Sending a /strip/select message will
-               override the expand as if it had been set to false.
-               Good for more than one OSC controller at a time.
-       </li>
-  </ul>
-</p>
-
-<dl class="bindings">
-  <dt><kbd class="osc">/strip/select <em>ssid</em> <em>y/n</em></kbd></dt>
-  <dd>Where <em>y/n</em> = 1 for select. Sets both GUI select and strip
-  to expanded mode. (0 is ignored)</dd>
-  <dt><kbd class="osc">/strip/expand <em>ssid</em> <em>y/n</em></kbd></dt>
-  <dd>Where <em>y/n</em> = 1 for expanded mode. Sets only local strip to
-  Expanded. Setting to 0 resets the expansion to follow selection.</dd>
-  <dt><kbd class="osc">/select/expand <em>y/n</em></kbd></dt>
-  <dd>Where <em>y/n</em> = 1 for expanded mode, 0 for Select mode.</dd>
-  <dt><kbd class="osc">/select/recenable <em>y/n</em></kbd></dt>
-  <dd>Where <em>y/n</em> is 1 for enabled and 0 for disabled</dd>
-  <dt><kbd class="osc">/select/record_safe <em>y/n</em></kbd></dt>
-  <dd>Where <em>y/n</em> is 1 for safe and 0 for unlocked</dd>
-  <dt><kbd class="osc">/select/mute <em>y/n</em></kbd></dt>
-  <dd>Where <em>y/n</em> is 1 for enabled and 0 for disabled</dd>
-  <dt><kbd class="osc">/select/solo <em>y/n</em></kbd></dt>
-  <dd>Where <em>y/n</em> is 1 for enabled and 0 for disabled</dd>
-  <dt><kbd class="osc">/select/solo_iso <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is a bool/int representing the desired solo isolate state of the track</dd>
-  <dt><kbd class="osc">/select/solo_safe <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is a bool/int representing the desired solo safe/lock state of the track</dd>
-  <dt><kbd class="osc">/select/monitor_input <em>y/n</em></kbd></dt>
-  <dd>Where <em>y/n</em> is 1 for monitor from input and 0 for auto</dd>
-  <dt><kbd class="osc">/select/monitor_disk <em>y/n</em></kbd></dt>
-  <dd>Where <em>y/n</em> is 1 for monitor from disk and 0 for auto</dd>
-  <dt><kbd class="osc">/select/polarity <em>invert</em></kbd></dt>
-  <dd>where <em>invert</em> is a bool/int representing the desired polarity of the track</dd>
-  <dt><kbd class="osc">/select/gain <em>gain</em></kbd></dt>
-  <dd>Where <em>gain</em> is a float ranging from -193 to 6 representing the desired gain of the track in dB.</dd>
-  <dt><kbd class="osc">/select/fader <em>position</em></kbd></dt>
-  <dd>Where <em>position</em> is an float ranging from 0 to 1 representing the fader control position.</dd>
-  <dt><kbd class="osc">/select/trimdB <em>trim_db</em></kbd></dt>
-  <dd>where <em>trim_db</em> is a float ranging from -20 to 20 representing the desired trim of the track in dB.</dd>
-  <dt><kbd class="osc">/select/pan_stereo_position <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float ranging from 0 to 1 representing the desired pan position of the track</dd>
-  <dt><kbd class="osc">/select/pan_stereo_width <em>width</em></kbd></dt>
-  <dd>where <em>width</em> is a float ranging from 0 to 1 representing the desired pan width of the track</dd>
-  <dt><kbd class="osc">/select/pan_elevation_position <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float ranging from 0 to 1 representing the desired pan elevation of the track</dd>
-  <dt><kbd class="osc">/select/pan_frontback_position <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float ranging from 0 to 1 representing the desired front to back position of the track</dd>
-  <dt><kbd class="osc">/select/pan_lfe_control <em>value</em></kbd></dt>
-  <dd>where <em>value</em> is a float ranging from 0 to 1 representing the desired LFE control value for the track</dd>
-  <dt><kbd class="osc">/select/send_gain", <em>sendid</em> <em>send_gain</em></kbd></dt>
-  <dd>where <em>sendid</em> = nth_send, <em>send_gain</em> is a float
-  ranging from -193 to +6 representing the desired gain in dB for the send</dd>
-  <dt><kbd class="osc">/select/send_fader", <em>sendid</em> <em>send_gain</em></kbd></dt>
-  <dd>where <em>sendid</em> = nth_send, <em>send_gain</em> is a float
-  ranging from 0 to 1 representing the desired position for the send as a fader</dd>
-  <dt><kbd class="osc">/select/send_enable", <em>sendid</em> <em>state</em></kbd></dt>
-  <dd>where <em>sendid</em> = nth_send, <em>state</em> is 1 for enabled and 0 for disabled</dd>
-</dl>
-
-<h3>Menu actions</h3>
-<p>
-  Every single menu item in Ardour's GUI is accessible via OSC. There is
-  a single common syntax to trigger the action as if it was selected
-  with the mouse (or keyboard):</p>
-<kbd class="osc">/access_action <em>action_name</em></kbd>
-<p>
-  The <a
-  href="/appendix/menu-actions-list/">
-  list of actions</a> shows all available values of <em>action-name</em> as of
-  June 2016 for Ardour 5.0.pre0.1. You can get the current list at any
-  time by running Ardour with the -b flag.
-  </p>
-
-{% children %}
diff --git a/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/02_osc-setup-dialog.html b/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/02_osc-setup-dialog.html
deleted file mode 100644 (file)
index d21edf8..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
----
-layout: default
-title: OSC&#58; Using the Setup Dialog
----
-
-<p>
-  Starting with Ardour 5.1 OSC has a graphic setup dialog. This dialog
-  can be accessed from Preferences->Control Surfaces. Select OSC and
-  click on the Show Protocol Settings.
-</p>
-<p>
-  The Ardour OSC dialog has three tabs. The main tab, the Strip Types
-  tab and the Feedback tab.
-</p>
-<p>
-  Many OSC devices get their IP from a DHCP making it difficult to set
-  an IP in Ardour's OSC settings. Therefore, most of the settings are
-  <em>default</em> settings. Values are set and the next OSC surface to
-  send a /set_surface* message to Ardour will use those settings. An OSC
-  surface that has previously sent a message to Ardour will retain the
-  settings it already had. The <em>Clear OSC Devices</em> will reset all
-  device settings. A <em>/refresh</em> message will both reset the
-  device settings as well as set that device to any new settings. The
-  Use of <em>/set_surface</em> will override all settings except
-  <em>Port Mode</em>.
-</p>
-<h2>Dialog settings</h2>
-<h3>OSC setup tab</h3>
-<p>
-<img alt="the OSC configuration dialog"
-     src="/images/osc-dialog.png">
-</p>
-<h4>Connection:</h4>
-<p>
-  This field is informational only. It shows where Ardour will receive
-  OSC messages. The system Name and the Port are the most important parts.
-</p>
-<h4>Port Mode:</h4>
-<p>
-  This drop down allows the choice of Auto or Manual outbound port
-  setting. The default Auto port mode, will send OSC messages back to
-  the port messages from that surface are received from. This setting
-  allows two surfaces on the same IP to operate independently. However,
-  there are a number of OSC control surfaces that do not monitor the
-  same port they send from and in fact may change ports they send from
-  as well. Manual allows the outgoing port (the port the surface will
-  receive on, to be manually set. In Manual port mode only one control
-  surface per IP can work. Most phone or tablet OSC controllers like
-  touchOSC or Control need Manual port mode. More than one controller
-  can be used so long as each has it's own IP.
-</p>
-<h4>Manual Port:</h4>
-<p>
-  This is an Entry box for setting the outgoing port when in
-  Manual port mode.
-</p>
-<h4>Bank Size:</h4>
-<p>
-  This sets the default bank size for the next surface to send a
-  <em>/set_surface/*</em> OSC message. Bank size 0 (the default) sets
-  no banking and allows controlling all strips included in strip_types
-  at once.
-</p>
-<h4>Gain Mode:</h4>
-<p>
-  Sets the faders (and sends faders) feedback math to position where a
-  value between 0 and 1 represents the fader position of the same fader
-  in the mixer GUI or dB where the feedback from fader movement will be
-  returned as a dB value. When the Gain Mode is set to position, the
-  /*/name feedback for the channel will show dB values in text while the
-  fader is being adjusted and then return the the name text.
-</p>
-<h4>Debug:</h4>
-<p>
-  For debugging purposes this allows logging either good OSC messages
-  Ardour receives or invalid messages received or none.
-</p>
-<h4>Preset:</h4>
-<p>
-  Ardour now allows the use of preset settings. The default settings
-  used are the settings from the last session or the factory defaults
-  the first time OSC is enabled. As soon as any of these settings are
-  changed, the Preset will change to "User" and the new settings will be
-  save to the osc directory Ardour configuration directory as
-  <em>user.preset</em>. This preset file can be renamed for future use.
-  It is suggested to also change the name value inside to avoid confusion
-  in the preset listing. Ardour will ship with some of it's own presets
-  that go with some popular OSC control and map combinations.
-</p>
-<h4>Clear OSC Devices</h4>
-<p>
-  This button clears operating device profiles so that Ardour will reset
-  all devices settings to use the new defaults from changed settings. a
-  device may still override these new settings with the /set_surface set
-  of commands. The reason for setting defaults settings is that some OSC
-  controllers are not able to send more than one parameter at a time and
-  so having correct defaults allows one "Connect" button rather than 4.
-</p>
-<h3>Default Strip Types tab</h3>
-<p>
-<img alt="the Default Strip Types tab"
-     src="/images/osc-strip-types.png">
-</p>
-<p>
-  This allows selecting which of Ardour's mixer strips will be available
-  for control. The Factory default is all strips except master, monitor
-  and hidden strips. If it is desired to only see input tracks the
-  others can be deselected. It is also possible to change these settings
-  from the control surface. A set of buttons could select showing only
-  inputs or only buses. If a group is selected in the GUI then showing
-  only selected strips will show only that group. Showing hidden tracks
-  is handy for cases where a groups of tracks that grouped to a bus or
-  controlled by a VCA are hidden, but one of those tracks needs a tweak.
-</p>
-<h3>Default Feedback tab</h3>
-<p>
-<img alt="the Default Feedback tab"
-     src="/images/osc-feedbackdefault.png">
-</p>
-<p>
-  This allows setting up which controls provide feedback. The Factory
-  default is none. If the controller is unable to receive feedback, this
-  should be left blank. In the case of metering, Metering as a LED strip
-  only works if Metering as a Float is disabled.
-</p>
diff --git a/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/03_querying-ardour-with-osc.html b/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/03_querying-ardour-with-osc.html
deleted file mode 100644 (file)
index 13e7322..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
----
-layout: default
-title: OSC&#58; Querying Ardour
----
-
-<p>
-  In order to make a custom controller that knows what strips Ardour
-  has, the controller needs to be able to query Ardour for that
-  information. These set of commands are for smarter control surfaces
-  That have the logic to figure out what to do with the information.
-  These are not of value for mapped controllers like touchOSC and
-  friends. The controller will need to send these queries to ardour
-  as often as it needs this information. It may well make sense to use
-  regular feedback for things that need to be updated often such as
-  position or metering.
-  Here are the commands used to query Ardour:
-</p>
-
-<dl class="bindings">
-  <dt><kbd class="osc">/strip/list</kbd></dt>
-  <dd>Ask for a list of strips</dd>
-  <dt><kbd class="osc">/strip/sends <em>ssid</em></kbd></dt>
-  <dd>Asks for a list of sends on the strip <em>ssid</em></dd>
-  <dt><kbd class="osc">/strip/receives <em>ssid</em></kbd></dt>
-  <dd>Asks for a list of tracks that have sends to the strip <em>ssid</em> points to</dd>
-  <dt><kbd class="osc">/strip/plugin/list <em>ssid</em></kbd></dt>
-  <dd>Asks for a list of plug-ins for strip <em>ssid.</em></dd>
-  <dt><kbd class="osc">/plugin/descriptor <em>ssid</em> <em>piid</em></kbd></dt>
-  <dd>Asks for a list of descriptors for plug-in <em>piid</em> on strip <em>ssid</em></dd>
-</dl>
-
-<h3>A list of strips</h3>
-
-<p>
-  <code>/strip/list</code> asks Ardour for a list of strips that the
-  current session has. Ardour replies with a message for each
-  strip with the following information:
-  <ul>
-    <li>Strip type</li>
-    <li>Strip name</li>
-    <li>Number of inputs</li>
-    <li>Number of outputs</li>
-    <li>Muted (bool)</li>
-    <li>Soloed (bool)</li>
-    <li>Ssid (strip number)</li>
-    <li>Record enabled (bool)</li>
-  </ul>
-  After all the strip messages have been sent, one final message is
-  sent with:
-  <ul>
-    <li>The text <code>end_route_list</code></li>
-    <li>The session frame rate</li>
-    <li>The last frame number of the session</li>
-  </ul>
-</p>
-<p class="note">A bus will not have a record enable and so a bus message
-  will have one less parameter than a track. It is the controllers
-  responsability to deal with this.
-</p>
-
-<h3>A list of sends</h3>
-<p>
-  <code>/strip/sends <em>ssid</em></code> asks Ardour for a list of
-  sends for strip number ssid. The reply is sent back to the
-  controller as one message with the following information:
-  <ul>
-    <li>Ssid that information is for</li>
-    <li>Each send's information:</li>
-    <ul>
-      <li>The send's target bus ssid</li>
-      <li>The send's target bus name</li>
-      <li>The send id for this strip</li>
-      <li>The send gain as a fader possition</li>
-      <li>The Send's enable state</li>
-    </ul>
-  </ul>
-</p>
-<p>
-  The controller can tell how many sends there are from the number of
-  parameters as each send has 5 parameters and there is one extra for
-  ssid.
-</p>
-
-<h3>A list if tracks that send audio to a bus</h3>
-<p>
-  <code>/strip/receives <em>ssid</em></code> will return a list of
-  tracks that have sends to the bus at the ssid. The reply will
-  contain the following information for each track conntected to this
-  bus:
-  <ul>
-    <li>The ssid of the track sending</li>
-    <li>The name of the sending track</li>
-    <li>The id of the send at that track</li>
-    <li>It's gain in fader possition</li>
-    <li>The send's enable state</li>
-  </ul>
-</p>
-
-<h3>A list of plug-ins for strip</h3>
-<p>
-  <code>/strip/plugin/list <em>ssid</em></code> will return a list of
-  plug-ins that strip ssid has. The reply will contain the following
-  information:
-  <ul>
-    <li>Ssid that information is for</li>
-    <li>Each plugin's information:</li>
-    <ul>
-      <li>The plug-in's id</li>
-      <li>The plug-in's name</li>
-    </ul>
-  </ul>
-</p>
-
-<h3>A list of a plug-in's parameters</h3>
-<p>
-  <code>/plugin/descriptor <em>ssid</em> <em>piid</em></code> will
-  return the plug-in parameters for ppid plug-in on the ssid strip. The
-  reply will contain the following information:
-  <ul>
-    <li>Ssid of the strip the plug-in is in</li>
-    <li>The plug-in id for the plug-in</li>
-    <li>The plug-in's name</li>
-    <li>Information about each parameter</li>
-    <ul>
-      <li>The parameter id</li>
-      <li>The parameter's name</li>
-      <li>A bitset of flags (see below)</li>
-      <li>Data type</li>
-      <li>Minimum value</li>
-      <li>Maximum value</li>
-      <li>The number of scale points</li>
-      <li>zero or more scale points of one value and one string each</li>
-      <li>The current parameter value</li>
-    </ul>
-  </ul>
-</p>
-<p>
-  The flag bitset above has been defined as (from lsb):
-  <ul>
-    <li>0 - enumeration</li>
-    <li>1 - integer step</li>
-    <li>2 - logarithmic</li>
-    <li>3 - max unbound</li>
-    <li>4 - min unbound</li>
-    <li>5 - sample rate dependent</li>
-    <li>6 - toggled</li>
-    <li>7 - controllable</li>
-  </ul>
-</p>
-<p>
-       While this seems complex, it is really not that bad. Minimum,
-       maximum and value will in most cases give you all you need.
-</p>
diff --git a/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/04_feedback-in-osc.html b/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/04_feedback-in-osc.html
deleted file mode 100644 (file)
index 1b40557..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
----
-layout: default
-title: OSC&#58; Feedback
----
-
-<p>
-  Feedback from the Ardour to the the control surface is very useful for
-  a number of things. Motor faders need to know where the the track
-  they have been attached to is at before they were assigned otherwise
-  the DAW fader will jump to where the controller fader is. Likewise,
-  the buttons on each strip need to know what their value is so they can
-  light their LED correctly. Transport controls should let you know if
-  they are active too. This is what feedback is all about.
-</p>
-<p>
-  Ardour does feedback by sending the same path back that is used to
-  control the same function. As such any controls that have feedback
-  have a parameter that is the value of the control or it's state
-  (on or off). In the case of OSC paths listed on the main OSC page
-  as having no parameter, if they have feedback, they will also work
-  with a 1 for button press and 0 for button release. This is because
-  many OSC controllers will only use exactly the same path for feedback
-  as for control. For example:
-</p>
-
-<dl class="bindings">
-  <dt><kbd class="osc">/transport_stop</kbd></dt>
-  <dd></dd>
-</dl>
-<p>can be used also in the form:</p>
-
-<dl class="bindings">
-  <dt><kbd class="osc">/transport_stop <em>press</em></kbd></dt>
-  <dd>where <em>press</em> is an int/bool indicating if the button is pressed or not.</dd>
-</dl>
-
-<p>
-  The feedback does not have the same meaning as the control message.
-  Where the button release sent to Ardour will be ignored and has no
-  meaning. Both states have meaning in feedback to the controller.
-  The feedback will be:
-</p>
-
-<dl class="bindings">
-  <dt><kbd class="osc">/transport_stop <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is an int/bool indicating if the transport is stopped or not.</dd>
-</dl>
-<p>
-  With feedback turned on, OSC control commands that try to change a
-  control that does not exist will get feedback that resets that control
-  to off. For example, sending a /strip/recenable to a buss will not work
-  and Ardour will try to turn the controller LED off in that case. Also
-  note that Pan operation may be limited by pan width in some cases.
-  That is with pan width at 100% (or -100%) there is no pan position
-  movement available.
-</p>
-<p>
-  It may come as a surprise, but feedback often generates more network
-  traffic than control itself does. Some things are more obvious like
-  head position or meters. But even a simple button push like transport
-  start sends not only a signal to turn on the play LED, but also one to
-  turn off the stop LED, the Rewind LED, the Fast Forward LED and the
-  Loop LED. That is still minor, think instead of a surface refresh
-  such as happens when the surface is first connected and then most of
-  that happens every time the fader strips are banked. This is why
-  feedback is enabled in sections so that as little feedback as is
-  actually needed is sent. This is also a consideration if the surface
-  is connected via wifi.
-</p>
-<h2>List of OSC feedback messages</h2>
-
-<h3>Feedback only</h3>
-<p>
-  These messages are feedback only. They are sent as status from Ardour
-  and some of them may be enabled separately from other feedback. See:
-  <a href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
-  Calculating Feedback and Strip-types Values.</a>
-</p>
-<p class="note">
-  See strip section below for info about ssid and wrapping it into the
-  path. Also /master and /monitor support what the /strip does.
-</p>
-<p>
-  In the case where Gainmode is set to position, the track name will
-  show the dB value while values are changing.
-</p>
-<dl class="bindings">
-  <dt><kbd class="osc">/strip/name <em>ssid</em> <em>track_name</em></kbd></dt>
-  <dd>where <em>track_name</em> is a string representing the name of the track</dd>
-  <dt><kbd class="osc">/session_name <em>session_name</em></kbd></dt>
-  <dd>where <em>session_name</em> is a string representing the name of the session</dd>
-  <dt><kbd class="osc">/strip/meter <em>ssid</em> <em>meter</em></kbd></dt>
-  <dd>where <em>meter</em> is a value repesenting the current audio level.
-  (the exact math used is determined by the feedback bits set)</dd>
-  <dt><kbd class="osc">/strip/signal <em>ssid</em> <em>signal</em></kbd></dt>
-  <dd>where <em>signal</em> is a float indicating the instantaneous
-  audio level is -40dB or higher.</dd>
-  <dt><kbd class="osc">/position/smpte <em>time</em></kbd></dt>
-  <dd>where <em>time</em> is a string with the current play head time. Seconds as per smpte.</dd>
-  <dt><kbd class="osc">/position/bbt <em>beat</em></kbd></dt>
-  <dd>where <em>beat</em> is a string with the current play head bar/beat.</dd>
-  <dt><kbd class="osc">/position/time <em>time</em></kbd></dt>
-  <dd>where <em>time</em> is a string with the current play head time. Seconds are in milliseconds</dd>
-  <dt><kbd class="osc">/position/samples <em>samples</em></kbd></dt>
-  <dd>where <em>samples</em> is a string with the current play head position in samples.</dd>
-  <dt><kbd class="osc">/heartbeat <em>LED</em></kbd></dt>
-  <dd>where <em>LED</em> is a float that cycles 1/0 at 1 second intervals.</dd>
-  <dt><kbd class="osc">/record_tally <em>state</em></kbd></dt>
-  <dd>Some record enable is true or "ready to record". For a "Recording" sign at studio door.</dd>
-</dl>
-
-<h3>Transport Control</h3>
-<dl class="bindings">
-  <dt><kbd class="osc">/transport_stop <em>state</em></kbd></dt>
-  <dd><em>state</em> is true when transport is stopped</dd>
-  <dt><kbd class="osc">/transport_play <em>state</em></kbd></dt>
-  <dd><em>state</em> is true when transport speed is 1.0</dd>
-  <dt><kbd class="osc">/ffwd <em>state</em></kbd></dt>
-  <dd><em>state</em> is true when transport is moving forward but not at speed 1.0</dd>
-  <dt><kbd class="osc">/rewind <em>state</em></kbd></dt>
-  <dd><em>state</em> is true when transport speed is less than 0.0</dd>
-  <dt><kbd class="osc">/loop_toggle <em>state</em></kbd></dt>
-  <dd><em>state</em> is true when loop mode is true</dd>
-  <dt><kbd class="osc">/cancel_all_solos <em>state</em></kbd></dt>
-  <dd>Where <em>state</em> true indicates there are active solos that can be canceled.</dd>
-</dl>
-
-<h3>Recording control</h3>
-<dl class="bindings">
-  <!--dt><kbd class="osc">/toggle_punch_in</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/toggle_punch_out</kbd></dt>
-  <dd></dd-->
-  <dt><kbd class="osc">/rec_enable_toggle <em>state</em></kbd></dt>
-  <dd>Master record enabled.</dd>
-</dl>
-
-<h3>Master and monitor strips</h3>
-<p>
-  Master and monitor strips are similar to track strips but do not use
-  the SSID. Rather they use their name as part of the path:
-</p>
-<dl class="bindings">
-  <dt><kbd class="osc">/master/gain <em>dB</em></kbd></dt>
-  <dd>where <em>dB</em> is a float ranging from -193 to +6 representing the actual gain of master in dB</dd>
-  <dt><kbd class="osc">/master/fader  <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is an int ranging from 0 to 1023 representing the fader control position</dd>
-  <dt><kbd class="osc">/master/trimdB <em>dB</em></kbd></dt>
-  <dd>where <em>dB</em> is a float ranging from -20 to +20 representing the actual trim for master in dB</dd>
-  <dt><kbd class="osc">/master/pan_stereo_position <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float ranging from 0 to 1 representing the actual pan position for master</dd>
-  <dt><kbd class="osc">/master/mute  <em>yn</em></kbd></dt>
-  <dd>where <em>yn</em> is a bool/int representing the actual mute state of the Master strip</dd>
-  <dt><kbd class="osc">/monitor/gain <em>dB</em></kbd></dt>
-  <dd>where <em>dB</em> is a float ranging from -193 to 6 representing the actual gain of monitor in dB</dd>
-  <dt><kbd class="osc">/monitor/fader  <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is an int ranging from 0 to 1023 representing the fader control position</dd>
-</dl>
-
-<h3>Track specific operations</h3>
-<p>
-  For each of the following, <em>ssid</em> is the surface strip ID for the track
-</p>
-<p class="note">
-  Some Surfaces (many Android applets) are not able to deal with more
-  than one parameter in a command. However, the two parameter commands
-  below can also be sent as /strip/command/ssid param. Feedback can be
-  set to match this with the /set_surface/feedback <em>state</em>
-  command. See <a
-  href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
-  Calculating Feedback and Strip-types Values.</a>
-</p>
-
-<dl class="bindings">
-  <dt><kbd class="osc">/bank_up <em>LED</em></kbd></dt>
-  <dd>where <em>LED</em> is a bool that indicates another bank_up operation is possible.</dd>
-  <dt><kbd class="osc">/bank_down <em>LED</em></kbd></dt>
-  <dd>where <em>LED</em> is a bool that indicates another bank_down operation is possible.</dd>
-  <dt><kbd class="osc">/strip/name <em>ssid</em> <em>track_name</em></kbd></dt>
-  <dd>where <em>track_name</em> is a string representing the name of the track
-  (note there is no coresponding command to set the track name)</dd>
-  <dt><kbd class="osc">/strip/mute <em>ssid</em> <em>mute_st</em></kbd></dt>
-  <dd>where <em>mute_st</em> is a bool/int representing the actual mute state of the track</dd>
-  <dt><kbd class="osc">/strip/solo <em>ssid</em> <em>solo_st</em></kbd></dt>
-  <dd>where <em>solo_st</em> is a bool/int representing the actual solo state of the track</dd>
-  <dt><kbd class="osc">/strip/monitor_input <em>ssid</em> <em>monitor_st</em></kbd></dt>
-  <dd>where <em>monitor_st</em> is a bool/int. True/1 meaning the track is force to monitor input</dd>
-  <dt><kbd class="osc">/strip/monitor_disk <em>ssid</em> <em>monitor_st</em></kbd></dt>
-  <dd>where <em>monitor_st</em> is a bool/int. True/1 meaning the track is force to monitor disk,
-  where both disk and input are false/0, auto monitoring is used.</dd>
-  <dt><kbd class="osc">/strip/recenable <em>ssid</em> <em>rec_st</em></kbd></dt>
-  <dd>where <em>rec_st</em> is a bool/int representing the actual rec state of the track</dd>
-  <dt><kbd class="osc">/strip/record_safe <em>ssid</em> <em>rec_st</em></kbd></dt>
-  <dd>where <em>rec_st</em> is a bool/int representing the actual record safe state of the track</dd>
-  <dt><kbd class="osc">/strip/gain <em>ssid</em> <em>gain</em></kbd></dt>
-  <dd>where <em>gain</em> is a float ranging from -193 to 6 representing the actual gain of the track in dB.</dd>
-  <dt><kbd class="osc">/strip/fader <em>ssid</em>  <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is an float ranging from 0 to 1 representing the actual fader position of the track.</dd>
-  <dt><kbd class="osc">/strip/trimdB <em>ssid</em>  <em>trim_db</em></kbd></dt>
-  <dd>where <em>trim_db</em> is a float ranging from -20 to 20 representing the actual trim of the track in dB.</dd>
-  <dt><kbd class="osc">/strip/pan_stereo_position <em>ssid</em> <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float ranging from 0 to 1 representing the actual pan position of the track</dd>
-</dl>
-<h3>Selection Operations</h3>
-<p>
-  Selection feedback is the same as for strips, only the path changes
-  from <em>/strip</em> to <em>/select</em> and there is no <em>ssid</em>.
-  there are some extra feedback and commands that will be listed here.
-</p>
-<dl class="bindings">
-  <dt><kbd class="osc">/select/n_inputs <em>number</em></kbd></dt>
-  <dd>where <em>number</em> number of inputs for this strip</dd>
-  <dt><kbd class="osc">/select/n_outputs <em>number</em></kbd></dt>
-  <dd>where <em>number</em> number of outputs for this strip</dd>
-  <dt><kbd class="osc">/select/comment <em>text</em></kbd></dt>
-  <dd>where <em>text</em> is the strip comment</dd>
-  <dt><kbd class="osc">/select/solo_iso <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is a bool/int representing the Actual solo isolate state of the track</dd>
-  <dt><kbd class="osc">/select/solo_safe <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is a bool/int representing the actual solo safe/lock state of the track</dd>
-  <dt><kbd class="osc">/select/polarity <em>invert</em></kbd></dt>
-  <dd>where <em>invert</em> is a bool/int representing the actual polarity of the track</dd>
-  <dt><kbd class="osc">/select/pan_stereo_width <em>width</em></kbd></dt>
-  <dd>where <em>width</em> is a float ranging from 0 to 1 representing the actual pan width of the track</dd>
-  <dt><kbd class="osc">/select/send_gain", <em>sendid</em> <em>send_gain</em></kbd></dt>
-  <dd>where <em>sendid</em> = nth_send, <em>send_gain</em>is a float
-  ranging from -193 to +6 representing the actual gain in dB for the send</dd>
-  <dt><kbd class="osc">/select/send_fader", <em>sendid</em> <em>send_gain</em></kbd></dt>
-  <dd>where <em>sendid</em> = nth_send, <em>send_gain</em>is a float
-  ranging from 0 to 1 representing the actual position for the send as a fader</dd>
-  <dt><kbd class="osc">/select/send_name <em>sendid</em> <em>send_name</em></kbd></dt>
-  <dd>where <em>send_name</em> is a string representing the name of the buss
-  this send goes to.</dd>
-</dl>
-<h3>Menu actions</h3>
-<p>
-  Every single menu item in Ardour's GUI is accessible via OSC. However,
-  there is no provision for returning the state of anything set this way.
-  This is not a bad thing as most menu items either do not have an on/off
-  state or that state is quite visible. Binding that affect other parameters
-  that OSC does track will show on those OSC controls. Examples of this
-  might be track record enable for tracks 1 to 32, play or stop.
-</p>
diff --git a/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/05_calculating-feedback-and-strip-types-values.html b/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/05_calculating-feedback-and-strip-types-values.html
deleted file mode 100644 (file)
index 91a9b70..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
----
-layout: default
-title: OSC&#58; Feedback and Strip-types Values
----
-
-<p><em>/set_surface</em> has two values the user needs to calculate before
-  use. In general these will not be calculated at run time, but
-  beforehand. There may be more than one button with different values
-  to turn various kinds of feedback on or off or to determine which
-  kinds of strips are currently viewed/controlled.
-</p>
-<p>Both ,<em>feedback</em> and <em>strip-types</em> use bitsets to keep
-  track what they are doing. Any number in a computer is made out of
-  bits that are on or off, but we represent them as normal base 10
-  numbers. Any one bit turned on will add a unique value to the
-  number as a whole. So for each kind of feedback or strip type
-  to be used, that number should be added to the total.</p>
-<h3>strip_types</h3>
-<p>
-  strip_types is an integer made up of bits. The easy way to
-  deal with this is to think of strip_types items being worth a number and
-  then adding all those numbers together for a value to send.
-  Strip Types will determine What kind of strips will be included in
-  bank. This would include: Audio, MIDI, busses, VCAs, Master, Monitor
-  and hidden or selected strips.
-</p>
-  <ul>
-       <li>
-               1       - AudioTracks.
-       </li>
-       <li>
-               2       - MidiTracks.
-       </li>
-       <li>
-               4       - AudioBuses.
-       </li>
-       <li>
-               8       - MidiBuses.
-       </li>
-       <li>
-               16      - VCAs.
-       </li>
-       <li>
-               32      - Master.
-       </li>
-       <li>
-               64      - Monitor.
-       </li>
-       <li>
-               128     - Audio Aux.
-       </li>
-       <li>
-               256     - Selected.
-       </li>
-       <li>
-               512     - Hidden.
-       </li>
-  </ul>
-<p class="note">
-  Selected and Hidden bits are normally not needed as Ardour defaults to
-  showing Selected strips and not showing Hidden strips. The purpose of
-  these two flags is to allow showing only Selected strips or only
-  Hidden strips. Using Hidden with other flags will allow Hidden strips
-  to show inline with other strips.
-</p>
-<p>
-  Some handy numbers to use might be: 15 (all tracks and buses), 31
-  (add VCAs to that). Master or Monitor strips are generally not useful
-  on a surface that has dedicated controls for these strips as there are
-  /master* and /monitor* commands already. However, on a surface with
-  just a bank of fader strips, adding master or monitor would allow
-  access to them within the banks. Selected would be useful for working
-  on a group or a set of user selected strips. Hidden shows strips the
-  GUI has hidden.
-</p>
-<p class-"note">
-  Audio Aux? say what? I am sure most people will have noticed that they
-  can find no <em>Aux</em> strips in the Ardour mixer. There are none.
-  There are buses that can be used a number of ways. From analog days,
-  in OSC, a bus is something that gets used as a sub mix before ending up
-  going to Master. An auxiliary bus is used like a separate mixer and
-  it's output goes outside the program or computer to be used as:
-  a monitor mix, a back up recording, or what have you. In OSC where
-  controller strips may be limited, it may be useful not to use up a
-  strip for an aux that is not really a part of the mix. It is also
-  useful to get a list of only aux buses if the control surface is a
-  phone used to provide talent monitor mix control on stage. Each
-  performer would be able to mix their own monitor. The user is free
-  to enable both buses and auxes if they would prefer.
-</p>
-
-<h3>feedback</h3>
-<p>Feedback is an integer made up of bits. The easy way to
-  deal with this is to think of feedback items being worth a number and
-  then adding all those numbers together for a value to send.
-</p>
-  <ul>
-       <li>
-               1 - Button status for strips.
-       </li>
-       <li>
-               2 - Variable control values for strips.
-       </li>
-       <li>
-               4 - Send SSID as path extension.
-       </li>
-       <li>
-               8 - heartbeat to surface.
-       </li>
-       <li>
-               16 - Enable master section feedback.
-       </li>
-       <li>
-               32 - Send Bar and Beat.
-       </li>
-       <li>
-               64 - Send timecode.
-       </li>
-       <li>
-               128 - Send meter as dB (-193 to +6) or 0 to 1 depending on gainmode
-       </li>
-       <li>
-               256 - Send meter a 16 bit value where each bit is a level
-               and all bits of lower level are on. For use in a LED strip. This
-               will not work if the above option is turned on.
-       </li>
-       <li>
-               512 - Send signal present, true if level is higher than -40dB
-       </li>
-       <li>
-               1024 - Send position in samples
-       </li>
-       <li>
-               2048 - Send position in time, hours, minutes, seconds and milliseconds
-       </li>
-       <li>
-               8192 - Turn on extra select channel feedback beyond what a /strip supports
-       </li>
-  </ul>
-<p>
-  So using a value of 19 would turn on feedback for strip and master
-  controls, but leave meters, timecode and bar/beat feedback off.
-</p>
diff --git a/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/06_osc-personal-monitoring.html b/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/06_osc-personal-monitoring.html
deleted file mode 100644 (file)
index 9cc24f5..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
----
-layout: default
-title: OSC&#58; Personal Monitoring Control
----
-
-<p>
-       Personal monitoring can allow a performer with a smart phone to set
-       their personal monitor mix for a floor wedge or inear monitoring.
-</p>
-<h3>Setup</h3>
-<p>
-       Some setup needs to be done in the GUI mixer window before this can
-       work.
-</p>
-       <ul>
-               <li>
-                       Create a bus for each performer who will have personal
-                       monitoring. A good practice is to name the bus with the
-                       performers name.
-               </li>
-               <li>
-                       Connect the output of that bus to one of the audio
-                       interface's playback ports that is not otherwise used. OSC
-                       will now include this bus in it's list of aux buses as it
-                       no longer has it's output connected to the Master bus.
-               </li>
-               <li>
-                       Add an aux send to each channel the performer needs to hear
-                       in their personal mix. Many performers only need three or
-                       four sources to be mixed. If the performer needs to hear a
-                       a set of inputs that are combined into a bus, adding the
-                       aux send to that bus may make more sense than adding ten
-                       drum channels for example.
-               </li>
-               <li>
-                       If the performer wishes to hear effects in their monitor,
-                       an extra send from the send bus, placing the performers aux
-                       send after the effect or a plugin can be added in line in
-                       the aux bus itself.
-               </li>
-       </ul>
-<p>
-       This gives stage or studio monitoring for the performer.
-</p>
-
-<h3>The OSC commands and feedback for personal monitoring</h3>
-<p>
-       All of the personal monitoring commands and feedback start with a
-       <em>/cue</em>. It is expected that a surface used as a personal
-       monitor control will use only <em>/cue</em> commands.
-</p>
-<p class="note">
-       The send controls and feedback all have the send id (1 to n) in line
-       as part of the OSC path. So the path for the second send would be
-       <em>/cue/send/fader/2</em> to set the level. It is considered that
-       most surfaces used for this will only be able to handle one parameter.
-</p>
-<h4>Commands</h4>
-<dl class="bindings">
-  <dt><kbd class="osc">/cue/connect</kbd></dt>
-  <dd>Returns a list of aux buses.</dd>
-  <dt><kbd class="osc">/cue/aux <em>aux-number</em></kbd></dt>
-  <dd>where <em>aux-number</em> is an integer which is the aux bus
-  number this surface will use.</dd>
-  <dt><kbd class="osc">/cue/next_aux</kbd></dt>
-  <dd>Sets the the aux bus to one bus higher.</dd>
-  <dt><kbd class="osc">/cue/previous_aux</kbd></dt>
-  <dd>Sets the aux to one bus lower.</dd>
-  <dt><kbd class="osc">/cue/connect</kbd></dt>
-  <dd>Returns a list of aux buses.</dd>
-  <dt><kbd class="osc">/cue/fader <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float for the position of the fader
-  between 0.0 and 1.0.</dd>
-  <dt><kbd class="osc">/cue/mute <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is a float of 0.0 for mute off and 1.0 for mute on.</dd>
-  <dt><kbd class="osc">/cue/send/fader/<em>id</em> <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float for the position of the fader
-  between 0.0 and 1.0.</dd>
-  <dt><kbd class="osc">/cue/send/enable/<em>id</em> <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is a float of 0.0 for disable and 1.0 for enable.</dd>
-</dl>
-<h4>Feedback</h4>
-<dl class="bindings">
-  <dt><kbd class="osc">/cue/name <em>name</em></kbd></dt>
-  <dd>where <em>name</em> is a string that is the name of the currently
-  selected aux bus.</dd>
-  <dt><kbd class="osc">/cue/name/<em>id</em> <em>name</em></kbd></dt>
-  <dd>where <em>name</em> is a string that is the name of the aux bus
-  that <em>id</em> belongs to.</dd>
-  <dt><kbd class="osc">/cue/fader <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float from 0.0 to 1.0 that shows the
-  fader position for the selected aux bus.</dd>
-  <dt><kbd class="osc">/cue/mute <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is a float of 0.0 or 1.0 that shows the state
-  of the mute for the selected aux bus.</dd>
-  <dt><kbd class="osc">/cue/signal <em>activity</em></kbd></dt>
-  <dd>where <em>activity</em> is a float of 0.0 or 1.0 that shows audio
-  activity for the selected aux bus.</dd>
-  <dt><kbd class="osc">/cue/send/name/<em>id</em> <em>name</em></kbd></dt>
-  <dd>where <em>name</em> is a string that is the name of the channel
-  that send <em>id</em> belongs to.</dd>
-  <dt><kbd class="osc">/cue/send/fader/<em>id</em> <em>position</em></kbd></dt>
-  <dd>where <em>position</em> is a float from 0.0 to 1.0 that is the position
-  for the fader for the send that <em>id</em> belongs to.</dd>
-  <dt><kbd class="osc">/cue/send/enable/<em>id</em> <em>state</em></kbd></dt>
-  <dd>where <em>state</em> is a float of 0.0 or 1.0 that is the state
-  of the enable for the send that <em>id</em> belongs to.</dd>
-</dl>
-<p>
-       While a fader is being adjusted, the corresponding <em>/*/name</em>
-       text will give the level in db.
-</p>
diff --git a/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/07_parameter-types-in-osc.html b/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/07_parameter-types-in-osc.html
deleted file mode 100644 (file)
index 7af30f0..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: default
-title: OSC&#58; Parameter Types
----
-
-<p>
-  An OSC message is laid out in this form:
-</p>
-<kbd>
-       /path/of/command type parameter
-</kbd>
-<p>
-       The type is there to indicate what the parameter is. This gives
-       the idea that parameter types are quite strict and if the command
-       requires an Integer <em>"i"</em> then the controller had better send it.
-       However, the checking of the parameter type is left to the receiving
-       software.
-</p>
-<p>
-       What this means in practical terms is that the surface can get away
-       with sending the wrong type of parameter. There are some places
-       where that just doesn't make sense. For example, a parameter that
-       is specified as a Float with a range of 0 to 1, could be sent as
-       an Integer, but would only have full scale and minimum value with
-       nothing in between. This is not much use for a fader, though ok for
-       a button.
-</p>
-<p>
-       There are a number of OSC controllers based on iOS and Android
-       tablets that only send or receive parameters as floats or text.
-       These controllers should have no problem sending bool or int values
-       as floats. Ardour will interpret the values as required.
-</p>
diff --git a/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/08_selection-considerations-in-osc.html b/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/08_selection-considerations-in-osc.html
deleted file mode 100644 (file)
index 3996b49..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
----
-layout: default
-title: OSC&#58; Selection and Expansion Considerations
----
-
-<p>
-  Ardour does not send every possible feedback value for each channel.
-  It does send expanded information on the selected channel. There are
-  also extra commands for the selected strip. All the feedback and
-  select commands have their own path <em>/select</em>.
-  This means that for the selected channel the surface does not have to
-  keep track of the strip ID. The /select strip will follow the
-  "current mixer strip" in the GUI editor window.
-</p>
-<p>
-  There are two major uses for this:
-  <ol>
-       <li>Single strip control surfaces. Using
-         <em>/access_action Editor/select-next-route</em> or
-         <em>/access_action Editor/select-prev-route</em>
-         to step through the mixer strips.</li>
-       <li>Using a "Super strip" section of knobs to control parts
-       of the strip that are changed less often such as polarity, sends or
-       plugin parameters.</li>
-  </ol>
-</p>
-<p>
-  Selection in Ardour's OSC implementation are complicated by the
-  possibility of using more than one OSC controller at the same time.
-  User "A" may select strip 4 and use a selected controller to make
-  changes to that strip. User "B" may subsequently select strip 7 to
-  make changes on. This leaves user "A" making changes to strip 7
-  which they did not choose.
-</p>
-<p>
-  For this reason Ardour offers local expansion aside from the GUI
-  selection. Local expansion only affects the one OSC controller. GUI
-  selection is global and affects all controllers using GUI selection
-  as well as the GUI.
-</p>
-<p class="note">
-       Both select and expansion use the /select set of commands.
-</p>
-<p>
-  In general, in a one user situation where that one user may use either
-  the OSC surface or the GUI, using GUI based selection makes the most
-  sense. This is the default because this is the more common use.
-</p>
-<p>
-  When there is more than one operator, then expansion only is the
-  mode of choice. It may make sense for one of the surfaces to
-  use GUI selection where the operator is also using the GUI for some
-  things. However, the set up should be carefully analyzed for the
-  possibility of selection confusions. Expansion should be
-  considered the <em>safe</em> option.
-</p>
-<p>
-  It is always ok to use expansion on the surface even in a one
-  user scenario. This allows the user to use GUI and surface selection
-  for different uses.
-</p>
-<p>
-  It is also possible to use both if desired. /strip/select will ways
-  set the GUI select, but /strip/expand will set the select feedback
-  and commands locally without changing the GUI select. Another
-  /strip/expand or a /strip/select will override that expand command
-  and releasing the /strip/expand or /select/expand (setting it to 0 or
-  false) will set the /select set of commands and feedback back to
-  whichever strip the GUI has selected at that time. This could be used
-  to switch between the GUI select and the local expand to compare two
-  strips settings.
-</p>
diff --git a/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/09_osc-control-in-ardour-4.7-and-prior.html b/_manual/25_using-control-surfaces/01_controlling-ardour-with-osc/09_osc-control-in-ardour-4.7-and-prior.html
deleted file mode 100644 (file)
index d5221ae..0000000
+++ /dev/null
@@ -1,695 +0,0 @@
----
-layout: default
-title: OSC control for Ardour 4.7 and Prior
----
-
-<p class="note">
-       This page is what was available before version 5.* was added. It has
-       not been updated to make sure all 4.7 functionality is acurately
-       represented. This page will vanish soon.
-</p>
-
-<p>
-  <abbr title="Open Sound Control"><dfn>OSC</dfn></abbr> lets synthesizers
-  and other devices communicate with Ardour. OSC devices can send commands
-  relating to playback (such as play or stop), performance (such as volume,
-  play, stop, and almost any other function (such as Edit, or Undo).
-</p>
-<p>
-  Ardour is probably one of the most OSC-controllable audio applications
-  around, but as with all OSC-controllable apps, you can't do much without
-  knowing what <dfn>messages</dfn> can be sent. This document describes the
-  various categories of messages that Ardour understands. It is subject to
-  change, particularly the "Actions" part below, since this relates to the
-  GTK GUI for Ardour rather than the backend.
-</p>
-
-<h2>Connecting to Ardour via OSC</h2>
-<p>
-  OSC support is not enabled by default, but can be turned on via
-  <kbd class="menu">Edit &gt; Preferences &gt; Control Surfaces</kbd>.
-  Once enabled, Ardour will listen on port <code>3819</code> by default.
-  This port number can be changed by editing <code>$ARDOUR_CONFIG</code>
-  and adding this line within the <code>&lt;Config&gt;</code> section:
-</p>
-<kbd class="input">&lt;Option name="osc-port" value="<em>Your choice
-here</em>"/&gt;</kbd>
-
-<h2>List of OSC messages</h2>
-
-<h3>Transport Control</h3>
-<dl class="bindings">
-  <dt><kbd class="osc">/ardour/transport_stop</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/transport_play</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/set_transport_speed <em>s</em></kbd></dt>
-  <dd>where <em>s</em> is a float ranging from -8.0f to 8.0f</dd>
-  <dt><kbd class="osc">/ardour/ffwd</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/rewind</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/goto_start</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/goto_end</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/add_marker</kbd></dt>
-  <dd>(adds marker to the current transport position)</dd>
-  <dt><kbd class="osc">/ardour/next_marker</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/prev_marker</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/locate <em>spos</em> <em>roll</em></kbd></dt>
-  <dd>where <em>spos</em> is the target position in samples and
-  <em>roll</em> is a bool/integer defining whether you want transport
-  to be kept rolling or not</dd>
-  <dt><kbd class="osc">/ardour/loop_toggle</kbd></dt>
-  <dd></dd>
-</dl>
-
-<h3>Editing-related</h3>
-<dl class="bindings">
-  <dt><kbd class="osc">/ardour/undo</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/redo</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/save_state</kbd></dt>
-  <dd>(this is the regular <kbd class="menu">Session &gt; Save</kbd>
-  operation)</dd>
-</dl>
-
-<h3>Recording control</h3>
-<dl class="bindings">
-  <dt><kbd class="osc">/ardour/toggle_punch_in</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/toggle_punch_out</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/rec_enable_toggle</kbd></dt>
-  <dd></dd>
-  <dt><kbd class="osc">/ardour/toggle_all_rec_enables</kbd></dt>
-  <dd>(toggles all tracks' recording state)</dd>
-</dl>
-
-<h3>Track specific operations</h3>
-<p>
-  For each of the following, <em>rid</em> is the remote ID or the track
-</p>
-<dl class="bindings">
-  <dt><kbd class="osc">/ardour/routes/mute <em>rid</em> <em>mute_st</em></kbd></dt>
-  <dd>where <em>mute_st</em> is a bool/int representing the desired mute state of the track</dd>
-  <dt><kbd class="osc">/ardour/routes/solo <em>rid</em> <em>solo_st</em></kbd></dt>
-  <dd>where <em>solo_st</em> is a bool/int representing the desired solo state of the track</dd>
-  <dt><kbd class="osc">/ardour/routes/recenable <em>rid</em> <em>rec_st</em></kbd></dt>
-  <dd>where <em>rec_st</em> is a bool/int representing the desired rec state of the track</dd>
-  <dt><kbd class="osc">/ardour/routes/gainabs <em>rid</em> <em>gain_abs</em></kbd></dt>
-  <dd>where <em>gain_abs</em> is a float ranging from 0 to 2 (0 being -infinite, 1 being 0dB and 2 being +6dB).</dd>
-  <dt><kbd class="osc">/ardour/routes/gaindB <em>rid</em>  <em>gain_db</em></kbd></dt>
-  <dd>where <em>gain_db</em> is a float ranging from -400 to 6 representing the desired gain of the track in dB.</dd>
-  <dt><kbd class="osc">/ardour/routes/trimabs <em>rid</em> <em>trim_abs</em></kbd></dt>
-  <dd>where <em>trim_abs</em> is a float ranging from 0.1 to 10 (-20dB to +20dB). (since 4.1)</dd>
-  <dt><kbd class="osc">/ardour/routes/trimdB <em>rid</em>  <em>trim_db</em></kbd></dt>
-  <dd>where <em>trim_db</em> is a float ranging from -20 to 20 representing the desired trim of the track in dB. (since 4.1)</dd>
-</dl>
-
-<h3>Menu actions</h3>
-<p>
-  Every single menu item in Ardour's GUI is accessible via OSC. There is
-  a single common syntax to trigger the action as if it was selected
-  with the mouse (or keyboard):</p>
-<kbd class="osc">/ardour/access_action <em>action_name</em></kbd>
-<p>
-  The list below shows all available values of <em>action-name</em> as of
-  mid-February 2014 for Ardour 3.5. You can get the current list at any
-  time by running Ardour with the -b flag.
-  </p>
-<dl class="bindings">
-       <dt><strong>Action Name</strong></dt><dd><strong>Menu Name</strong></dd>
-  <dt><kbd class="osc">Common/Chat</kbd></dt><dd>Chat</dd>
-  <dt><kbd class="osc">Common/KeepTearoffs</kbd></dt><dd>Show Toolbars</dd>
-  <dt><kbd class="osc">Common/Manual</kbd></dt><dd>Manual</dd>
-  <dt><kbd class="osc">Common/NewMIDITracer</kbd></dt><dd>MIDI Tracer</dd>
-  <dt><kbd class="osc">Common/Quit</kbd></dt><dd>Quit</dd>
-  <dt><kbd class="osc">Common/Reference</kbd></dt><dd>Reference</dd>
-  <dt><kbd class="osc">Common/Save</kbd></dt><dd>Save</dd>
-  <dt><kbd class="osc">Common/toggle-editor-mixer</kbd></dt><dd>Toggle Editor+Mixer</dd>
-  <dt><kbd class="osc">Common/ToggleMaximalEditor</kbd></dt><dd>Maximise Editor Space</dd>
-  <dt><kbd class="osc">Common/toggle-meterbridge</kbd></dt><dd>Meterbridge</dd>
-  <dt><kbd class="osc">Common/toggle-mixer</kbd></dt><dd>Mixer</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack10</kbd></dt><dd>Toggle Record Enable Track 10</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack11</kbd></dt><dd>Toggle Record Enable Track 11</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack12</kbd></dt><dd>Toggle Record Enable Track 12</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack13</kbd></dt><dd>Toggle Record Enable Track 13</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack14</kbd></dt><dd>Toggle Record Enable Track 14</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack15</kbd></dt><dd>Toggle Record Enable Track 15</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack16</kbd></dt><dd>Toggle Record Enable Track 16</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack17</kbd></dt><dd>Toggle Record Enable Track 17</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack18</kbd></dt><dd>Toggle Record Enable Track 18</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack19</kbd></dt><dd>Toggle Record Enable Track 19</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack1</kbd></dt><dd>Toggle Record Enable Track 1</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack20</kbd></dt><dd>Toggle Record Enable Track 20</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack21</kbd></dt><dd>Toggle Record Enable Track 21</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack22</kbd></dt><dd>Toggle Record Enable Track 22</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack23</kbd></dt><dd>Toggle Record Enable Track 23</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack24</kbd></dt><dd>Toggle Record Enable Track 24</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack25</kbd></dt><dd>Toggle Record Enable Track 25</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack26</kbd></dt><dd>Toggle Record Enable Track 26</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack27</kbd></dt><dd>Toggle Record Enable Track 27</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack28</kbd></dt><dd>Toggle Record Enable Track 28</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack29</kbd></dt><dd>Toggle Record Enable Track 29</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack2</kbd></dt><dd>Toggle Record Enable Track 2</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack30</kbd></dt><dd>Toggle Record Enable Track 30</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack31</kbd></dt><dd>Toggle Record Enable Track 31</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack32</kbd></dt><dd>Toggle Record Enable Track 32</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack3</kbd></dt><dd>Toggle Record Enable Track 3</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack4</kbd></dt><dd>Toggle Record Enable Track 4</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack5</kbd></dt><dd>Toggle Record Enable Track 5</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack6</kbd></dt><dd>Toggle Record Enable Track 6</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack7</kbd></dt><dd>Toggle Record Enable Track 7</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack8</kbd></dt><dd>Toggle Record Enable Track 8</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack9</kbd></dt><dd>Toggle Record Enable Track 9</dd>
-  <dt><kbd class="osc">Editor/addExistingAudioFiles</kbd></dt><dd>Import</dd>
-  <dt><kbd class="osc">Editor/addExternalAudioToRegionList</kbd></dt><dd>Import to Region List...</dd>
-  <dt><kbd class="osc">Editor/add-location-from-playhead</kbd></dt><dd>Add Mark from Playhead</dd>
-  <dt><kbd class="osc">Editor/center-edit-cursor</kbd></dt><dd>Center Edit Point</dd>
-  <dt><kbd class="osc">Editor/center-playhead</kbd></dt><dd>Center Playhead</dd>
-  <dt><kbd class="osc">Editor/crop</kbd></dt><dd>Crop</dd>
-  <dt><kbd class="osc">Editor/cycle-edit-point</kbd></dt><dd>Change Edit Point</dd>
-  <dt><kbd class="osc">Editor/cycle-edit-point-with-marker</kbd></dt><dd>Change Edit Point Including Marker</dd>
-  <dt><kbd class="osc">Editor/cycle-snap-mode</kbd></dt><dd>Next Snap Mode</dd>
-  <dt><kbd class="osc">Editor/cycle-zoom-focus</kbd></dt><dd>Next Zoom Focus</dd>
-  <dt><kbd class="osc">Editor/deselect-all</kbd></dt><dd>Deselect All</dd>
-  <dt><kbd class="osc">Editor/duplicate-range</kbd></dt><dd>Duplicate Range</dd>
-  <dt><kbd class="osc">Editor/edit-at-mouse</kbd></dt><dd>Mouse</dd>
-  <dt><kbd class="osc">Editor/edit-at-playhead</kbd></dt><dd>Playhead</dd>
-  <dt><kbd class="osc">Editor/edit-at-selected-marker</kbd></dt><dd>Marker</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-next-region-end</kbd></dt><dd>To Next Region End</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-next-region-start</kbd></dt><dd>To Next Region Start</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-next-region-sync</kbd></dt><dd>To Next Region Sync</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-previous-region-end</kbd></dt><dd>To Previous Region End</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-previous-region-start</kbd></dt><dd>To Previous Region Start</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-previous-region-sync</kbd></dt><dd>To Previous Region Sync</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-range-end</kbd></dt><dd>To Range End</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-range-start</kbd></dt><dd>To Range Start</dd>
-  <dt><kbd class="osc">Editor/editor-copy</kbd></dt><dd>Copy</dd>
-  <dt><kbd class="osc">Editor/editor-crop</kbd></dt><dd>Crop</dd>
-  <dt><kbd class="osc">Editor/editor-cut</kbd></dt><dd>Cut</dd>
-  <dt><kbd class="osc">Editor/editor-delete</kbd></dt><dd>Delete</dd>
-  <dt><kbd class="osc">Editor/editor-paste</kbd></dt><dd>Paste</dd>
-  <dt><kbd class="osc">Editor/editor-separate</kbd></dt><dd>Separate</dd>
-  <dt><kbd class="osc">Editor/edit-to-playhead</kbd></dt><dd>Active Mark to Playhead</dd>
-  <dt><kbd class="osc">Editor/escape</kbd></dt><dd>Break drag or deselect all</dd>
-  <dt><kbd class="osc">Editor/expand-tracks</kbd></dt><dd>Expand Track Height</dd>
-  <dt><kbd class="osc">Editor/export-audio</kbd></dt><dd>Export Audio</dd>
-  <dt><kbd class="osc">Editor/export-range</kbd></dt><dd>Export Range</dd>
-  <dt><kbd class="osc">Editor/finish-add-range</kbd></dt><dd>Finish Add Range</dd>
-  <dt><kbd class="osc">Editor/finish-range</kbd></dt><dd>Finish Range</dd>
-  <dt><kbd class="osc">Editor/fit-tracks</kbd></dt><dd>Fit Selected Tracks</dd>
-  <dt><kbd class="osc">Editor/goto-mark-1</kbd></dt><dd>Locate to Mark 1</dd>
-  <dt><kbd class="osc">Editor/goto-mark-2</kbd></dt><dd>Locate to Mark 2</dd>
-  <dt><kbd class="osc">Editor/goto-mark-3</kbd></dt><dd>Locate to Mark 3</dd>
-  <dt><kbd class="osc">Editor/goto-mark-4</kbd></dt><dd>Locate to Mark 4</dd>
-  <dt><kbd class="osc">Editor/goto-mark-5</kbd></dt><dd>Locate to Mark 5</dd>
-  <dt><kbd class="osc">Editor/goto-mark-6</kbd></dt><dd>Locate to Mark 6</dd>
-  <dt><kbd class="osc">Editor/goto-mark-7</kbd></dt><dd>Locate to Mark 7</dd>
-  <dt><kbd class="osc">Editor/goto-mark-8</kbd></dt><dd>Locate to Mark 8</dd>
-  <dt><kbd class="osc">Editor/goto-mark-9</kbd></dt><dd>Locate to Mark 9</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-10</kbd></dt><dd>Goto View 10</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-11</kbd></dt><dd>Goto View 11</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-12</kbd></dt><dd>Goto View 12</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-1</kbd></dt><dd>Goto View 1</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-2</kbd></dt><dd>Goto View 2</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-3</kbd></dt><dd>Goto View 3</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-4</kbd></dt><dd>Goto View 4</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-5</kbd></dt><dd>Goto View 5</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-6</kbd></dt><dd>Goto View 6</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-7</kbd></dt><dd>Goto View 7</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-8</kbd></dt><dd>Goto View 8</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-9</kbd></dt><dd>Goto View 9</dd>
-  <dt><kbd class="osc">Editor/importFromSession</kbd></dt><dd>Import From Session</dd>
-  <dt><kbd class="osc">Editor/insert-time</kbd></dt><dd>Insert Time</dd>
-  <dt><kbd class="osc">Editor/invert-selection</kbd></dt><dd>Invert Selection</dd>
-  <dt><kbd class="osc">Editor/jump-backward-to-mark</kbd></dt><dd>Jump to Previous Mark</dd>
-  <dt><kbd class="osc">Editor/jump-forward-to-mark</kbd></dt><dd>Jump to Next Mark</dd>
-  <dt><kbd class="osc">Editor/main-menu-play-selected-regions</kbd></dt><dd>Play Selected Regions</dd>
-  <dt><kbd class="osc">EditorMenu/AlignMenu</kbd></dt><dd>Align</dd>
-  <dt><kbd class="osc">EditorMenu/Autoconnect</kbd></dt><dd>Autoconnect</dd>
-  <dt><kbd class="osc">EditorMenu/Crossfades</kbd></dt><dd>Crossfades</dd>
-  <dt><kbd class="osc">EditorMenu/EditCursorMovementOptions</kbd></dt><dd>Move Selected Marker</dd>
-  <dt><kbd class="osc">EditorMenu/Edit</kbd></dt><dd>Edit</dd>
-  <dt><kbd class="osc">EditorMenu/EditPointMenu</kbd></dt><dd>Edit Point</dd>
-  <dt><kbd class="osc">EditorMenu/EditSelectRangeOptions</kbd></dt><dd>Select Range Operations</dd>
-  <dt><kbd class="osc">EditorMenu/EditSelectRegionOptions</kbd></dt><dd>Select Regions</dd>
-  <dt><kbd class="osc">EditorMenu/FadeMenu</kbd></dt><dd>Fade</dd>
-  <dt><kbd class="osc">EditorMenu/LatchMenu</kbd></dt><dd>Latch</dd>
-  <dt><kbd class="osc">EditorMenu/Link</kbd></dt><dd>Link</dd>
-  <dt><kbd class="osc">EditorMenu/LocateToMarker</kbd></dt><dd>Locate to Markers</dd>
-  <dt><kbd class="osc">EditorMenu/MarkerMenu</kbd></dt><dd>Markers</dd>
-  <dt><kbd class="osc">EditorMenu/MeterFalloff</kbd></dt><dd>Meter falloff</dd>
-  <dt><kbd class="osc">EditorMenu/MeterHold</kbd></dt><dd>Meter hold</dd>
-  <dt><kbd class="osc">EditorMenu/MIDI</kbd></dt><dd>MIDI Options</dd>
-  <dt><kbd class="osc">EditorMenu/MiscOptions</kbd></dt><dd>Misc Options</dd>
-  <dt><kbd class="osc">EditorMenu/Monitoring</kbd></dt><dd>Monitoring</dd>
-  <dt><kbd class="osc">EditorMenu/MoveActiveMarkMenu</kbd></dt><dd>Active Mark</dd>
-  <dt><kbd class="osc">EditorMenu/MovePlayHeadMenu</kbd></dt><dd>Playhead</dd>
-  <dt><kbd class="osc">EditorMenu/PlayMenu</kbd></dt><dd>Play</dd>
-  <dt><kbd class="osc">EditorMenu/PrimaryClockMenu</kbd></dt><dd>Primary Clock</dd>
-  <dt><kbd class="osc">EditorMenu/Pullup</kbd></dt><dd>Pullup / Pulldown</dd>
-  <dt><kbd class="osc">EditorMenu/RegionEditOps</kbd></dt><dd>Region operations</dd>
-  <dt><kbd class="osc">EditorMenu/RegionGainMenu</kbd></dt><dd>Gain</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuDuplicate</kbd></dt><dd>Duplicate</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuEdit</kbd></dt><dd>Edit</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuFades</kbd></dt><dd>Fades</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuGain</kbd></dt><dd>Gain</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenu</kbd></dt><dd>Region</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuLayering</kbd></dt><dd>Layering</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuMIDI</kbd></dt><dd>MIDI</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuPosition</kbd></dt><dd>Position</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuRanges</kbd></dt><dd>Ranges</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuTrim</kbd></dt><dd>Trim</dd>
-  <dt><kbd class="osc">EditorMenu/RulerMenu</kbd></dt><dd>Rulers</dd>
-  <dt><kbd class="osc">EditorMenu/SavedViewMenu</kbd></dt><dd>Views</dd>
-  <dt><kbd class="osc">EditorMenu/ScrollMenu</kbd></dt><dd>Scroll</dd>
-  <dt><kbd class="osc">EditorMenu/SecondaryClockMenu</kbd></dt><dd>Secondary Clock</dd>
-  <dt><kbd class="osc">EditorMenu/Select</kbd></dt><dd>Select</dd>
-  <dt><kbd class="osc">EditorMenu/SelectMenu</kbd></dt><dd>Select</dd>
-  <dt><kbd class="osc">EditorMenu/SeparateMenu</kbd></dt><dd>Separate</dd>
-  <dt><kbd class="osc">EditorMenu/SetLoopMenu</kbd></dt><dd>Loop</dd>
-  <dt><kbd class="osc">EditorMenu/SetPunchMenu</kbd></dt><dd>Punch</dd>
-  <dt><kbd class="osc">EditorMenu/Solo</kbd></dt><dd>Solo</dd>
-  <dt><kbd class="osc">EditorMenu/Subframes</kbd></dt><dd>Subframes</dd>
-  <dt><kbd class="osc">EditorMenu/SyncMenu</kbd></dt><dd>Sync</dd>
-  <dt><kbd class="osc">EditorMenu/TempoMenu</kbd></dt><dd>Tempo</dd>
-  <dt><kbd class="osc">EditorMenu/Timecode</kbd></dt><dd>Timecode fps</dd>
-  <dt><kbd class="osc">EditorMenu/Tools</kbd></dt><dd>Tools</dd>
-  <dt><kbd class="osc">EditorMenu/TrackHeightMenu</kbd></dt><dd>Height</dd>
-  <dt><kbd class="osc">EditorMenu/TrackMenu</kbd></dt><dd>Track</dd>
-  <dt><kbd class="osc">EditorMenu/VideoMonitorMenu</kbd></dt><dd>Video Monitor</dd>
-  <dt><kbd class="osc">EditorMenu/View</kbd></dt><dd>View</dd>
-  <dt><kbd class="osc">EditorMenu/ZoomFocus</kbd></dt><dd>Zoom Focus</dd>
-  <dt><kbd class="osc">EditorMenu/ZoomFocusMenu</kbd></dt><dd>Zoom Focus</dd>
-  <dt><kbd class="osc">EditorMenu/ZoomMenu</kbd></dt><dd>Zoom</dd>
-  <dt><kbd class="osc">Editor/move-range-end-to-next-region-boundary</kbd></dt><dd>Move Range End to Next Region Boundary</dd>
-  <dt><kbd class="osc">Editor/move-range-end-to-previous-region-boundary</kbd></dt><dd>Move Range End to Previous Region Boundary</dd>
-  <dt><kbd class="osc">Editor/move-range-start-to-next-region-boundary</kbd></dt><dd>Move Range Start to Next Region Boundary</dd>
-  <dt><kbd class="osc">Editor/move-range-start-to-previous-region-boundary</kbd></dt><dd>Move Range Start to Previous Region Boundary</dd>
-  <dt><kbd class="osc">Editor/move-selected-tracks-down</kbd></dt><dd>Move Selected Tracks Down</dd>
-  <dt><kbd class="osc">Editor/move-selected-tracks-up</kbd></dt><dd>Move Selected Tracks Up</dd>
-  <dt><kbd class="osc">Editor/next-snap-choice</kbd></dt><dd>Next Snap Choice</dd>
-  <dt><kbd class="osc">Editor/next-snap-choice-music-only</kbd></dt><dd>Next Musical Snap Choice</dd>
-  <dt><kbd class="osc">Editor/nudge-next-backward</kbd></dt><dd>Nudge Next Earlier</dd>
-  <dt><kbd class="osc">Editor/nudge-next-forward</kbd></dt><dd>Nudge Next Later</dd>
-  <dt><kbd class="osc">Editor/nudge-playhead-backward</kbd></dt><dd>Nudge Playhead Backward</dd>
-  <dt><kbd class="osc">Editor/nudge-playhead-forward</kbd></dt><dd>Nudge Playhead Forward</dd>
-  <dt><kbd class="osc">Editor/play-edit-range</kbd></dt><dd>Play Edit Range</dd>
-  <dt><kbd class="osc">Editor/play-from-edit-point-and-return</kbd></dt><dd>Play from Edit Point and Return</dd>
-  <dt><kbd class="osc">Editor/play-from-edit-point</kbd></dt><dd>Play From Edit Point</dd>
-  <dt><kbd class="osc">Editor/playhead-backward-to-grid</kbd></dt><dd>Playhead To Previous Grid</dd>
-  <dt><kbd class="osc">Editor/playhead-forward-to-grid</kbd></dt><dd>Playhead To Next Grid</dd>
-  <dt><kbd class="osc">Editor/playhead-to-edit</kbd></dt><dd>Playhead to Active Mark</dd>
-  <dt><kbd class="osc">Editor/playhead-to-next-region-boundary</kbd></dt><dd>Playhead to Next Region Boundary</dd>
-  <dt><kbd class="osc">Editor/playhead-to-next-region-boundary-noselection</kbd></dt><dd>Playhead to Next Region Boundary (No Track Selection)</dd>
-  <dt><kbd class="osc">Editor/playhead-to-next-region-end</kbd></dt><dd>Playhead to Next Region End</dd>
-  <dt><kbd class="osc">Editor/playhead-to-next-region-start</kbd></dt><dd>Playhead to Next Region Start</dd>
-  <dt><kbd class="osc">Editor/playhead-to-next-region-sync</kbd></dt><dd>Playhead to Next Region Sync</dd>
-  <dt><kbd class="osc">Editor/playhead-to-previous-region-boundary</kbd></dt><dd>Playhead to Previous Region Boundary</dd>
-  <dt><kbd class="osc">Editor/playhead-to-previous-region-boundary-noselection</kbd></dt><dd>Playhead to Previous Region Boundary (No Track Selection)</dd>
-  <dt><kbd class="osc">Editor/playhead-to-previous-region-end</kbd></dt><dd>Playhead to Previous Region End</dd>
-  <dt><kbd class="osc">Editor/playhead-to-previous-region-start</kbd></dt><dd>Playhead to Previous Region Start</dd>
-  <dt><kbd class="osc">Editor/playhead-to-previous-region-sync</kbd></dt><dd>Playhead to Previous Region Sync</dd>
-  <dt><kbd class="osc">Editor/playhead-to-range-end</kbd></dt><dd>Playhead to Range End</dd>
-  <dt><kbd class="osc">Editor/playhead-to-range-start</kbd></dt><dd>Playhead to Range Start</dd>
-  <dt><kbd class="osc">Editor/prev-snap-choice</kbd></dt><dd>Previous Snap Choice</dd>
-  <dt><kbd class="osc">Editor/prev-snap-choice-music-only</kbd></dt><dd>Previous Musical Snap Choice</dd>
-  <dt><kbd class="osc">Editor/redo</kbd></dt><dd>Redo</dd>
-  <dt><kbd class="osc">Editor/remove-last-capture</kbd></dt><dd>Remove Last Capture</dd>
-  <dt><kbd class="osc">Editor/remove-track</kbd></dt><dd>Remove</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-10</kbd></dt><dd>Save View 10</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-11</kbd></dt><dd>Save View 11</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-12</kbd></dt><dd>Save View 12</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-1</kbd></dt><dd>Save View 1</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-2</kbd></dt><dd>Save View 2</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-3</kbd></dt><dd>Save View 3</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-4</kbd></dt><dd>Save View 4</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-5</kbd></dt><dd>Save View 5</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-6</kbd></dt><dd>Save View 6</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-7</kbd></dt><dd>Save View 7</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-8</kbd></dt><dd>Save View 8</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-9</kbd></dt><dd>Save View 9</dd>
-  <dt><kbd class="osc">Editor/scroll-backward</kbd></dt><dd>Scroll Backward</dd>
-  <dt><kbd class="osc">Editor/scroll-forward</kbd></dt><dd>Scroll Forward</dd>
-  <dt><kbd class="osc">Editor/scroll-playhead-backward</kbd></dt><dd>Playhead Backward</dd>
-  <dt><kbd class="osc">Editor/scroll-playhead-forward</kbd></dt><dd>Playhead Forward</dd>
-  <dt><kbd class="osc">Editor/scroll-tracks-down</kbd></dt><dd>Scroll Tracks Down</dd>
-  <dt><kbd class="osc">Editor/scroll-tracks-up</kbd></dt><dd>Scroll Tracks Up</dd>
-  <dt><kbd class="osc">Editor/select-all-after-edit-cursor</kbd></dt><dd>Select All After Edit Point</dd>
-  <dt><kbd class="osc">Editor/select-all-before-edit-cursor</kbd></dt><dd>Select All Before Edit Point</dd>
-  <dt><kbd class="osc">Editor/select-all-between-cursors</kbd></dt><dd>Select All Overlapping Edit Range</dd>
-  <dt><kbd class="osc">Editor/select-all-in-loop-range</kbd></dt><dd>Select All in Loop Range</dd>
-  <dt><kbd class="osc">Editor/select-all-in-punch-range</kbd></dt><dd>Select All in Punch Range</dd>
-  <dt><kbd class="osc">Editor/select-all</kbd></dt><dd>Select All</dd>
-  <dt><kbd class="osc">Editor/select-all-within-cursors</kbd></dt><dd>Select All Inside Edit Range</dd>
-  <dt><kbd class="osc">Editor/selected-marker-to-next-region-boundary</kbd></dt><dd>To Next Region Boundary</dd>
-  <dt><kbd class="osc">Editor/selected-marker-to-next-region-boundary-noselection</kbd></dt><dd>To Next Region Boundary (No Track Selection)</dd>
-  <dt><kbd class="osc">Editor/selected-marker-to-previous-region-boundary</kbd></dt><dd>To Previous Region Boundary</dd>
-  <dt><kbd class="osc">Editor/selected-marker-to-previous-region-boundary-noselection</kbd></dt><dd>To Previous Region Boundary (No Track Selection)</dd>
-  <dt><kbd class="osc">Editor/select-next-route</kbd></dt><dd>Select Next Track or Bus</dd>
-  <dt><kbd class="osc">Editor/select-prev-route</kbd></dt><dd>Select Previous Track or Bus</dd>
-  <dt><kbd class="osc">Editor/select-range-between-cursors</kbd></dt><dd>Select Edit Range</dd>
-  <dt><kbd class="osc">Editor/separate-from-loop</kbd></dt><dd>Separate Using Loop Range</dd>
-  <dt><kbd class="osc">Editor/separate-from-punch</kbd></dt><dd>Separate Using Punch Range</dd>
-  <dt><kbd class="osc">Editor/set-edit-lock</kbd></dt><dd>Lock</dd>
-  <dt><kbd class="osc">Editor/set-edit-point</kbd></dt><dd>Active Marker to Mouse</dd>
-  <dt><kbd class="osc">Editor/set-edit-slide</kbd></dt><dd>Slide</dd>
-  <dt><kbd class="osc">Editor/set-edit-splice</kbd></dt><dd>Splice</dd>
-  <dt><kbd class="osc">Editor/set-loop-from-edit-range</kbd></dt><dd>Set Loop from Edit Range</dd>
-  <dt><kbd class="osc">Editor/set-playhead</kbd></dt><dd>Playhead to Mouse</dd>
-  <dt><kbd class="osc">Editor/set-punch-from-edit-range</kbd></dt><dd>Set Punch from Edit Range</dd>
-  <dt><kbd class="osc">Editor/set-tempo-from-edit-range</kbd></dt><dd>Set Tempo from Edit Range = Bar</dd>
-  <dt><kbd class="osc">Editor/show-editor-list</kbd></dt><dd>Show Editor List</dd>
-  <dt><kbd class="osc">Editor/show-editor-mixer</kbd></dt><dd>Show Editor Mixer</dd>
-  <dt><kbd class="osc">Editor/show-marker-lines</kbd></dt><dd>Show Marker Lines</dd>
-  <dt><kbd class="osc">Editor/shrink-tracks</kbd></dt><dd>Shrink Track Height</dd>
-  <dt><kbd class="osc">Editor/snap-magnetic</kbd></dt><dd>Magnetic</dd>
-  <dt><kbd class="osc">Editor/SnapMode</kbd></dt><dd>Snap Mode</dd>
-  <dt><kbd class="osc">Editor/snap-normal</kbd></dt><dd>Grid</dd>
-  <dt><kbd class="osc">Editor/snap-off</kbd></dt><dd>No Grid</dd>
-  <dt><kbd class="osc">Editor/SnapTo</kbd></dt><dd>Snap to</dd>
-  <dt><kbd class="osc">Editor/sound-midi-notes</kbd></dt><dd>Sound Selected MIDI Notes</dd>
-  <dt><kbd class="osc">Editor/start-range</kbd></dt><dd>Start Range</dd>
-  <dt><kbd class="osc">Editor/step-mouse-mode</kbd></dt><dd>Step Mouse Mode</dd>
-  <dt><kbd class="osc">Editor/step-tracks-down</kbd></dt><dd>Step Tracks Down</dd>
-  <dt><kbd class="osc">Editor/step-tracks-up</kbd></dt><dd>Step Tracks Up</dd>
-  <dt><kbd class="osc">Editor/tab-to-transient-backwards</kbd></dt><dd>Move Earlier to Transient</dd>
-  <dt><kbd class="osc">Editor/tab-to-transient-forwards</kbd></dt><dd>Move Later to Transient</dd>
-  <dt><kbd class="osc">Editor/temporal-zoom-in</kbd></dt><dd>Zoom In</dd>
-  <dt><kbd class="osc">Editor/temporal-zoom-out</kbd></dt><dd>Zoom Out</dd>
-  <dt><kbd class="osc">Editor/toggle-edit-mode</kbd></dt><dd>Toggle Edit Mode</dd>
-  <dt><kbd class="osc">Editor/toggle-follow-playhead</kbd></dt><dd>Follow Playhead</dd>
-  <dt><kbd class="osc">Editor/ToggleGroupTabs</kbd></dt><dd>Show Group Tabs</dd>
-  <dt><kbd class="osc">Editor/ToggleJadeo</kbd></dt><dd>Video Monitor</dd>
-  <dt><kbd class="osc">Editor/ToggleLogoVisibility</kbd></dt><dd>Show Logo</dd>
-  <dt><kbd class="osc">Editor/toggle-log-window</kbd></dt><dd>Log</dd>
-  <dt><kbd class="osc">Editor/ToggleMeasureVisibility</kbd></dt><dd>Show Measures</dd>
-  <dt><kbd class="osc">Editor/toggle-midi-input-active</kbd></dt><dd>Toggle MIDI Input Active for Editor-Selected Tracks/Busses</dd>
-  <dt><kbd class="osc">Editor/toggle-stationary-playhead</kbd></dt><dd>Stationary Playhead</dd>
-  <dt><kbd class="osc">Editor/ToggleSummary</kbd></dt><dd>Show Summary</dd>
-  <dt><kbd class="osc">Editor/toggle-track-active</kbd></dt><dd>Toggle Active</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-frame</kbd></dt><dd>Frame number</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-fullscreen</kbd></dt><dd>Fullscreen</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-letterbox</kbd></dt><dd>Letterbox</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-ontop</kbd></dt><dd>Always on Top</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-osdbg</kbd></dt><dd>Timecode Background</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-timecode</kbd></dt><dd>Timecode</dd>
-  <dt><kbd class="osc">Editor/toggle-zoom</kbd></dt><dd>Toggle Zoom State</dd>
-  <dt><kbd class="osc">Editor/track-height-large</kbd></dt><dd>Large</dd>
-  <dt><kbd class="osc">Editor/track-height-larger</kbd></dt><dd>Larger</dd>
-  <dt><kbd class="osc">Editor/track-height-largest</kbd></dt><dd>Largest</dd>
-  <dt><kbd class="osc">Editor/track-height-normal</kbd></dt><dd>Normal</dd>
-  <dt><kbd class="osc">Editor/track-height-small</kbd></dt><dd>Small</dd>
-  <dt><kbd class="osc">Editor/track-mute-toggle</kbd></dt><dd>Toggle Mute</dd>
-  <dt><kbd class="osc">Editor/track-record-enable-toggle</kbd></dt><dd>Toggle Record Enable</dd>
-  <dt><kbd class="osc">Editor/track-solo-isolate-toggle</kbd></dt><dd>Toggle Solo Isolate</dd>
-  <dt><kbd class="osc">Editor/track-solo-toggle</kbd></dt><dd>Toggle Solo</dd>
-  <dt><kbd class="osc">Editor/undo</kbd></dt><dd>Undo</dd>
-  <dt><kbd class="osc">Editor/zoom-to-region-both-axes</kbd></dt><dd>Zoom to Region (Width and Height)</dd>
-  <dt><kbd class="osc">Editor/zoom-to-region</kbd></dt><dd>Zoom to Region</dd>
-  <dt><kbd class="osc">Editor/zoom-to-session</kbd></dt><dd>Zoom to Session</dd>
-  <dt><kbd class="osc">Editor/zoom-vmon-100</kbd></dt><dd>Original Size</dd>
-  <dt><kbd class="osc">Main/AddTrackBus</kbd></dt><dd>Add Track or Bus...</dd>
-  <dt><kbd class="osc">Main/CleanupUnused</kbd></dt><dd>Clean-up Unused Sources...</dd>
-  <dt><kbd class="osc">Main/Close</kbd></dt><dd>Close</dd>
-  <dt><kbd class="osc">Main/CloseVideo</kbd></dt><dd>Remove Video</dd>
-  <dt><kbd class="osc">Main/EditMetadata</kbd></dt><dd>Edit Metadata...</dd>
-  <dt><kbd class="osc">Main/ExportAudio</kbd></dt><dd>Export To Audio File(s)...</dd>
-  <dt><kbd class="osc">Main/Export</kbd></dt><dd>Export</dd>
-  <dt><kbd class="osc">Main/ExportVideo</kbd></dt><dd>Export To Video File</dd>
-  <dt><kbd class="osc">Main/FlushWastebasket</kbd></dt><dd>Flush Wastebasket</dd>
-  <dt><kbd class="osc">Main/ImportMetadata</kbd></dt><dd>Import Metadata...</dd>
-  <dt><kbd class="osc">Main_menu/AudioFileFormatData</kbd></dt><dd>Sample Format</dd>
-  <dt><kbd class="osc">Main_menu/AudioFileFormatHeader</kbd></dt><dd>File Type</dd>
-  <dt><kbd class="osc">Main_menu/AudioFileFormat</kbd></dt><dd>Audio File Format</dd>
-  <dt><kbd class="osc">Main_menu/Cleanup</kbd></dt><dd>Clean-up</dd>
-  <dt><kbd class="osc">Main_menu/ControlSurfaces</kbd></dt><dd>Control Surfaces</dd>
-  <dt><kbd class="osc">Main_menu/Denormals</kbd></dt><dd>Denormal Handling</dd>
-  <dt><kbd class="osc">Main_menu/Help</kbd></dt><dd>Help</dd>
-  <dt><kbd class="osc">Main_menu/KeyMouseActions</kbd></dt><dd>Misc. Shortcuts</dd>
-  <dt><kbd class="osc">Main_menu/MeteringFallOffRate</kbd></dt><dd>Fall Off Rate</dd>
-  <dt><kbd class="osc">Main_menu/MeteringHoldTime</kbd></dt><dd>Hold Time</dd>
-  <dt><kbd class="osc">Main_menu/Metering</kbd></dt><dd>Metering</dd>
-  <dt><kbd class="osc">Main_menu/Plugins</kbd></dt><dd>Plugins</dd>
-  <dt><kbd class="osc">Main_menu/Session</kbd></dt><dd>Session</dd>
-  <dt><kbd class="osc">Main_menu/Sync</kbd></dt><dd>Sync</dd>
-  <dt><kbd class="osc">Main_menu/TransportOptions</kbd></dt><dd>Options</dd>
-  <dt><kbd class="osc">Main_menu/WindowMenu</kbd></dt><dd>Window</dd>
-  <dt><kbd class="osc">Main/Metadata</kbd></dt><dd>Metadata</dd>
-  <dt><kbd class="osc">Main/New</kbd></dt><dd>New...</dd>
-  <dt><kbd class="osc">Main/Open</kbd></dt><dd>Open...</dd>
-  <dt><kbd class="osc">Main/OpenVideo</kbd></dt><dd>Open Video</dd>
-  <dt><kbd class="osc">Main/Recent</kbd></dt><dd>Recent...</dd>
-  <dt><kbd class="osc">Main/Rename</kbd></dt><dd>Rename...</dd>
-  <dt><kbd class="osc">Main/SaveAs</kbd></dt><dd>Save As...</dd>
-  <dt><kbd class="osc">Main/SaveTemplate</kbd></dt><dd>Save Template...</dd>
-  <dt><kbd class="osc">Main/Snapshot</kbd></dt><dd>Snapshot...</dd>
-  <dt><kbd class="osc">Main/StemExport</kbd></dt><dd>Stem export...</dd>
-  <dt><kbd class="osc">MIDI/panic</kbd></dt><dd>Panic</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-audition</kbd></dt><dd>Audition Tool</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-draw</kbd></dt><dd>Note Drawing Tool</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-gain</kbd></dt><dd>Gain Tool</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-object</kbd></dt><dd>Object Tool</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-object-range</kbd></dt><dd>Smart Object Mode</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-range</kbd></dt><dd>Range Tool</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-timefx</kbd></dt><dd>Time FX Tool</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-zoom</kbd></dt><dd>Zoom Tool</dd>
-  <dt><kbd class="osc">MouseMode/toggle-internal-edit</kbd></dt><dd>Edit MIDI</dd>
-  <dt><kbd class="osc">options/SendMidiClock</kbd></dt><dd>Send MIDI Clock</dd>
-  <dt><kbd class="osc">options/SendMIDIfeedback</kbd></dt><dd>Send MIDI Feedback</dd>
-  <dt><kbd class="osc">options/SendMMC</kbd></dt><dd>Send MMC</dd>
-  <dt><kbd class="osc">options/SendMTC</kbd></dt><dd>Send MTC</dd>
-  <dt><kbd class="osc">options/UseMMC</kbd></dt><dd>Use MMC</dd>
-  <dt><kbd class="osc">ProcessorMenu/ab_plugins</kbd></dt><dd>A/B Plugins</dd>
-  <dt><kbd class="osc">ProcessorMenu/activate_all</kbd></dt><dd>Activate All</dd>
-  <dt><kbd class="osc">ProcessorMenu/clear</kbd></dt><dd>Clear (all)</dd>
-  <dt><kbd class="osc">ProcessorMenu/clear_post</kbd></dt><dd>Clear (post-fader)</dd>
-  <dt><kbd class="osc">ProcessorMenu/clear_pre</kbd></dt><dd>Clear (pre-fader)</dd>
-  <dt><kbd class="osc">ProcessorMenu/controls</kbd></dt><dd>Controls</dd>
-  <dt><kbd class="osc">ProcessorMenu/copy</kbd></dt><dd>Copy</dd>
-  <dt><kbd class="osc">ProcessorMenu/cut</kbd></dt><dd>Cut</dd>
-  <dt><kbd class="osc">ProcessorMenu/deactivate_all</kbd></dt><dd>Deactivate All</dd>
-  <dt><kbd class="osc">ProcessorMenu/delete</kbd></dt><dd>Delete</dd>
-  <dt><kbd class="osc">ProcessorMenu/deselectall</kbd></dt><dd>Deselect All</dd>
-  <dt><kbd class="osc">ProcessorMenu/edit-generic</kbd></dt><dd>Edit with generic controls...</dd>
-  <dt><kbd class="osc">ProcessorMenu/edit</kbd></dt><dd>Edit...</dd>
-  <dt><kbd class="osc">ProcessorMenu/newaux</kbd></dt><dd>New Aux Send ...</dd>
-  <dt><kbd class="osc">ProcessorMenu/newinsert</kbd></dt><dd>New Insert</dd>
-  <dt><kbd class="osc">ProcessorMenu/newplugin</kbd></dt><dd>New Plugin</dd>
-  <dt><kbd class="osc">ProcessorMenu/newsend</kbd></dt><dd>New External Send ...</dd>
-  <dt><kbd class="osc">ProcessorMenu/paste</kbd></dt><dd>Paste</dd>
-  <dt><kbd class="osc">ProcessorMenu/rename</kbd></dt><dd>Rename</dd>
-  <dt><kbd class="osc">ProcessorMenu/selectall</kbd></dt><dd>Select All</dd>
-  <dt><kbd class="osc">ProcessorMenu/send_options</kbd></dt><dd>Send Options</dd>
-  <dt><kbd class="osc">Region/add-range-marker-from-region</kbd></dt><dd>Add Single Range Marker</dd>
-  <dt><kbd class="osc">Region/add-range-markers-from-region</kbd></dt><dd>Add Range Marker Per Region</dd>
-  <dt><kbd class="osc">Region/align-regions-end</kbd></dt><dd>Align End</dd>
-  <dt><kbd class="osc">Region/align-regions-end-relative</kbd></dt><dd>Align End Relative</dd>
-  <dt><kbd class="osc">Region/align-regions-start</kbd></dt><dd>Align Start</dd>
-  <dt><kbd class="osc">Region/align-regions-start-relative</kbd></dt><dd>Align Start Relative</dd>
-  <dt><kbd class="osc">Region/align-regions-sync</kbd></dt><dd>Align Sync</dd>
-  <dt><kbd class="osc">Region/align-regions-sync-relative</kbd></dt><dd>Align Sync Relative</dd>
-  <dt><kbd class="osc">Region/analyze-region</kbd></dt><dd>Spectral Analysis...</dd>
-  <dt><kbd class="osc">Region/boost-region-gain</kbd></dt><dd>Boost Gain</dd>
-  <dt><kbd class="osc">Region/bounce-regions-processed</kbd></dt><dd>Bounce (without processing)</dd>
-  <dt><kbd class="osc">Region/bounce-regions-unprocessed</kbd></dt><dd>Bounce (with processing)</dd>
-  <dt><kbd class="osc">Region/choose-top-region-context-menu</kbd></dt><dd>Choose Top...</dd>
-  <dt><kbd class="osc">Region/choose-top-region</kbd></dt><dd>Choose Top...</dd>
-  <dt><kbd class="osc">Region/close-region-gaps</kbd></dt><dd>Close Gaps</dd>
-  <dt><kbd class="osc">Region/combine-regions</kbd></dt><dd>Combine</dd>
-  <dt><kbd class="osc">Region/cut-region-gain</kbd></dt><dd>Cut Gain</dd>
-  <dt><kbd class="osc">Region/duplicate-region</kbd></dt><dd>Duplicate</dd>
-  <dt><kbd class="osc">Region/export-region</kbd></dt><dd>Export...</dd>
-  <dt><kbd class="osc">Region/fork-region</kbd></dt><dd>Unlink from other copies</dd>
-  <dt><kbd class="osc">Region/insert-patch-change-context</kbd></dt><dd>Insert Patch Change...</dd>
-  <dt><kbd class="osc">Region/insert-patch-change</kbd></dt><dd>Insert Patch Change...</dd>
-  <dt><kbd class="osc">Region/insert-region-from-region-list</kbd></dt><dd>Insert Region From Region List</dd>
-  <dt><kbd class="osc">RegionList/RegionListSort</kbd></dt><dd>Sort</dd>
-  <dt><kbd class="osc">RegionList/removeUnusedRegions</kbd></dt><dd>Remove Unused</dd>
-  <dt><kbd class="osc">RegionList/rlAudition</kbd></dt><dd>Audition</dd>
-  <dt><kbd class="osc">RegionList/rlHide</kbd></dt><dd>Hide</dd>
-  <dt><kbd class="osc">RegionList/rlShowAll</kbd></dt><dd>Show All</dd>
-  <dt><kbd class="osc">RegionList/rlShowAuto</kbd></dt><dd>Show Automatic Regions</dd>
-  <dt><kbd class="osc">RegionList/rlShow</kbd></dt><dd>Show</dd>
-  <dt><kbd class="osc">RegionList/SortAscending</kbd></dt><dd>Ascending</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionEndinFile</kbd></dt><dd>By Region End in File</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionLength</kbd></dt><dd>By Region Length</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionName</kbd></dt><dd>By Region Name</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionPosition</kbd></dt><dd>By Region Position</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionStartinFile</kbd></dt><dd>By Region Start in File</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionTimestamp</kbd></dt><dd>By Region Timestamp</dd>
-  <dt><kbd class="osc">RegionList/SortBySourceFileCreationDate</kbd></dt><dd>By Source File Creation Date</dd>
-  <dt><kbd class="osc">RegionList/SortBySourceFileLength</kbd></dt><dd>By Source File Length</dd>
-  <dt><kbd class="osc">RegionList/SortBySourceFileName</kbd></dt><dd>By Source File Name</dd>
-  <dt><kbd class="osc">RegionList/SortBySourceFilesystem</kbd></dt><dd>By Source Filesystem</dd>
-  <dt><kbd class="osc">RegionList/SortDescending</kbd></dt><dd>Descending</dd>
-  <dt><kbd class="osc">Region/loop-region</kbd></dt><dd>Loop</dd>
-  <dt><kbd class="osc">Region/lower-region</kbd></dt><dd>Lower</dd>
-  <dt><kbd class="osc">Region/lower-region-to-bottom</kbd></dt><dd>Lower to Bottom</dd>
-  <dt><kbd class="osc">Region/multi-duplicate-region</kbd></dt><dd>Multi-Duplicate...</dd>
-  <dt><kbd class="osc">Region/naturalize-region</kbd></dt><dd>Move to Original Position</dd>
-  <dt><kbd class="osc">Region/normalize-region</kbd></dt><dd>Normalize...</dd>
-  <dt><kbd class="osc">Region/nudge-backward-by-capture-offset</kbd></dt><dd>Nudge Earlier by Capture Offset</dd>
-  <dt><kbd class="osc">Region/nudge-backward</kbd></dt><dd>Nudge Earlier</dd>
-  <dt><kbd class="osc">Region/nudge-forward-by-capture-offset</kbd></dt><dd>Nudge Later by Capture Offset</dd>
-  <dt><kbd class="osc">Region/nudge-forward</kbd></dt><dd>Nudge Later</dd>
-  <dt><kbd class="osc">Region/pitch-shift-region</kbd></dt><dd>Pitch Shift...</dd>
-  <dt><kbd class="osc">Region/place-transient</kbd></dt><dd>Place Transient</dd>
-  <dt><kbd class="osc">Region/play-selected-regions</kbd></dt><dd>Play</dd>
-  <dt><kbd class="osc">Region/quantize-region</kbd></dt><dd>Quantize...</dd>
-  <dt><kbd class="osc">Region/raise-region</kbd></dt><dd>Raise</dd>
-  <dt><kbd class="osc">Region/raise-region-to-top</kbd></dt><dd>Raise to Top</dd>
-  <dt><kbd class="osc">Region/region-fill-track</kbd></dt><dd>Fill Track</dd>
-  <dt><kbd class="osc">Region/remove-region</kbd></dt><dd>Remove</dd>
-  <dt><kbd class="osc">Region/remove-region-sync</kbd></dt><dd>Remove Sync</dd>
-  <dt><kbd class="osc">Region/rename-region</kbd></dt><dd>Rename...</dd>
-  <dt><kbd class="osc">Region/reset-region-gain-envelopes</kbd></dt><dd>Reset Envelope</dd>
-  <dt><kbd class="osc">Region/reset-region-scale-amplitude</kbd></dt><dd>Reset Gain</dd>
-  <dt><kbd class="osc">Region/reverse-region</kbd></dt><dd>Reverse</dd>
-  <dt><kbd class="osc">Region/separate-under-region</kbd></dt><dd>Separate Under</dd>
-  <dt><kbd class="osc">Region/set-fade-in-length</kbd></dt><dd>Set Fade In Length</dd>
-  <dt><kbd class="osc">Region/set-fade-out-length</kbd></dt><dd>Set Fade Out Length</dd>
-  <dt><kbd class="osc">Region/set-loop-from-region</kbd></dt><dd>Set Loop Range</dd>
-  <dt><kbd class="osc">Region/set-punch-from-region</kbd></dt><dd>Set Punch</dd>
-  <dt><kbd class="osc">Region/set-region-sync-position</kbd></dt><dd>Set Sync Position</dd>
-  <dt><kbd class="osc">Region/set-selection-from-region</kbd></dt><dd>Set Range Selection</dd>
-  <dt><kbd class="osc">Region/set-tempo-from-region</kbd></dt><dd>Set Tempo from Region = Bar</dd>
-  <dt><kbd class="osc">Region/show-region-list-editor</kbd></dt><dd>List Editor...</dd>
-  <dt><kbd class="osc">Region/show-region-properties</kbd></dt><dd>Properties...</dd>
-  <dt><kbd class="osc">Region/show-rhythm-ferret</kbd></dt><dd>Rhythm Ferret...</dd>
-  <dt><kbd class="osc">Region/snap-regions-to-grid</kbd></dt><dd>Snap Position To Grid</dd>
-  <dt><kbd class="osc">Region/split-multichannel-region</kbd></dt><dd>Make Mono Regions</dd>
-  <dt><kbd class="osc">Region/split-region-at-transients</kbd></dt><dd>Split at Percussion Onsets</dd>
-  <dt><kbd class="osc">Region/split-region</kbd></dt><dd>Split</dd>
-  <dt><kbd class="osc">Region/strip-region-silence</kbd></dt><dd>Strip Silence...</dd>
-  <dt><kbd class="osc">Region/toggle-opaque-region</kbd></dt><dd>Opaque</dd>
-  <dt><kbd class="osc">Region/toggle-region-fade-in</kbd></dt><dd>Fade In</dd>
-  <dt><kbd class="osc">Region/toggle-region-fade-out</kbd></dt><dd>Fade Out</dd>
-  <dt><kbd class="osc">Region/toggle-region-fades</kbd></dt><dd>Fades</dd>
-  <dt><kbd class="osc">Region/toggle-region-gain-envelope-active</kbd></dt><dd>Envelope Active</dd>
-  <dt><kbd class="osc">Region/toggle-region-lock</kbd></dt><dd>Lock</dd>
-  <dt><kbd class="osc">Region/toggle-region-lock-style</kbd></dt><dd>Glue to Bars and Beats</dd>
-  <dt><kbd class="osc">Region/toggle-region-mute</kbd></dt><dd>Mute</dd>
-  <dt><kbd class="osc">Region/toggle-region-video-lock</kbd></dt><dd>Lock to Video</dd>
-  <dt><kbd class="osc">Region/transpose-region</kbd></dt><dd>Transpose...</dd>
-  <dt><kbd class="osc">Region/trim-back</kbd></dt><dd>Trim End at Edit Point</dd>
-  <dt><kbd class="osc">Region/trim-front</kbd></dt><dd>Trim Start at Edit Point</dd>
-  <dt><kbd class="osc">Region/trim-region-to-loop</kbd></dt><dd>Trim to Loop</dd>
-  <dt><kbd class="osc">Region/trim-region-to-punch</kbd></dt><dd>Trim to Punch</dd>
-  <dt><kbd class="osc">Region/trim-to-next-region</kbd></dt><dd>Trim to Next</dd>
-  <dt><kbd class="osc">Region/trim-to-previous-region</kbd></dt><dd>Trim to Previous</dd>
-  <dt><kbd class="osc">Region/uncombine-regions</kbd></dt><dd>Uncombine</dd>
-  <dt><kbd class="osc">Rulers/toggle-bbt-ruler</kbd></dt><dd>Bars &amp; Beats</dd>
-  <dt><kbd class="osc">Rulers/toggle-cd-marker-ruler</kbd></dt><dd>CD Markers</dd>
-  <dt><kbd class="osc">Rulers/toggle-loop-punch-ruler</kbd></dt><dd>Loop/Punch</dd>
-  <dt><kbd class="osc">Rulers/toggle-marker-ruler</kbd></dt><dd>Markers</dd>
-  <dt><kbd class="osc">Rulers/toggle-meter-ruler</kbd></dt><dd>Meter</dd>
-  <dt><kbd class="osc">Rulers/toggle-minsec-ruler</kbd></dt><dd>Min:Sec</dd>
-  <dt><kbd class="osc">Rulers/toggle-range-ruler</kbd></dt><dd>Ranges</dd>
-  <dt><kbd class="osc">Rulers/toggle-samples-ruler</kbd></dt><dd>Samples</dd>
-  <dt><kbd class="osc">Rulers/toggle-tempo-ruler</kbd></dt><dd>Tempo</dd>
-  <dt><kbd class="osc">Rulers/toggle-timecode-ruler</kbd></dt><dd>Timecode</dd>
-  <dt><kbd class="osc">Rulers/toggle-video-ruler</kbd></dt><dd>Video</dd>
-  <dt><kbd class="osc">ShuttleActions/SetShuttleUnitsPercentage</kbd></dt><dd>Percentage</dd>
-  <dt><kbd class="osc">ShuttleActions/SetShuttleUnitsSemitones</kbd></dt><dd>Semitones</dd>
-  <dt><kbd class="osc">Snap/snap-to-asixteenthbeat</kbd></dt><dd>Snap to Sixteenths</dd>
-  <dt><kbd class="osc">Snap/snap-to-bar</kbd></dt><dd>Snap to Bar</dd>
-  <dt><kbd class="osc">Snap/snap-to-beat</kbd></dt><dd>Snap to Beat</dd>
-  <dt><kbd class="osc">Snap/snap-to-cd-frame</kbd></dt><dd>Snap to CD Frame</dd>
-  <dt><kbd class="osc">Snap/snap-to-eighths</kbd></dt><dd>Snap to Eighths</dd>
-  <dt><kbd class="osc">Snap/snap-to-fifths</kbd></dt><dd>Snap to Fifths</dd>
-  <dt><kbd class="osc">Snap/snap-to-fourteenths</kbd></dt><dd>Snap to Fourteenths</dd>
-  <dt><kbd class="osc">Snap/snap-to-halves</kbd></dt><dd>Snap to Halves</dd>
-  <dt><kbd class="osc">Snap/snap-to-mark</kbd></dt><dd>Snap to Mark</dd>
-  <dt><kbd class="osc">Snap/snap-to-minutes</kbd></dt><dd>Snap to Minutes</dd>
-  <dt><kbd class="osc">Snap/snap-to-onetwentyeighths</kbd></dt><dd>Snap to One Twenty Eighths</dd>
-  <dt><kbd class="osc">Snap/snap-to-quarters</kbd></dt><dd>Snap to Quarters</dd>
-  <dt><kbd class="osc">Snap/snap-to-region-boundary</kbd></dt><dd>Snap to Region Boundary</dd>
-  <dt><kbd class="osc">Snap/snap-to-region-end</kbd></dt><dd>Snap to Region End</dd>
-  <dt><kbd class="osc">Snap/snap-to-region-start</kbd></dt><dd>Snap to Region Start</dd>
-  <dt><kbd class="osc">Snap/snap-to-region-sync</kbd></dt><dd>Snap to Region Sync</dd>
-  <dt><kbd class="osc">Snap/snap-to-seconds</kbd></dt><dd>Snap to Seconds</dd>
-  <dt><kbd class="osc">Snap/snap-to-sevenths</kbd></dt><dd>Snap to Sevenths</dd>
-  <dt><kbd class="osc">Snap/snap-to-sixths</kbd></dt><dd>Snap to Sixths</dd>
-  <dt><kbd class="osc">Snap/snap-to-sixtyfourths</kbd></dt><dd>Snap to Sixty Fourths</dd>
-  <dt><kbd class="osc">Snap/snap-to-tenths</kbd></dt><dd>Snap to Tenths</dd>
-  <dt><kbd class="osc">Snap/snap-to-thirds</kbd></dt><dd>Snap to Thirds</dd>
-  <dt><kbd class="osc">Snap/snap-to-thirtyseconds</kbd></dt><dd>Snap to Thirty Seconds</dd>
-  <dt><kbd class="osc">Snap/snap-to-timecode-frame</kbd></dt><dd>Snap to Timecode Frame</dd>
-  <dt><kbd class="osc">Snap/snap-to-timecode-minutes</kbd></dt><dd>Snap to Timecode Minutes</dd>
-  <dt><kbd class="osc">Snap/snap-to-timecode-seconds</kbd></dt><dd>Snap to Timecode Seconds</dd>
-  <dt><kbd class="osc">Snap/snap-to-twelfths</kbd></dt><dd>Snap to Twelfths</dd>
-  <dt><kbd class="osc">Snap/snap-to-twentieths</kbd></dt><dd>Snap to Twentieths</dd>
-  <dt><kbd class="osc">Snap/snap-to-twentyeighths</kbd></dt><dd>Snap to Twenty Eighths</dd>
-  <dt><kbd class="osc">Snap/snap-to-twentyfourths</kbd></dt><dd>Snap to Twenty Fourths</dd>
-  <dt><kbd class="osc">Transport/focus-on-clock</kbd></dt><dd>Focus On Clock</dd>
-  <dt><kbd class="osc">Transport/ForwardFast</kbd></dt><dd>Forward (Fast)</dd>
-  <dt><kbd class="osc">Transport/Forward</kbd></dt><dd>Forward</dd>
-  <dt><kbd class="osc">Transport/ForwardSlow</kbd></dt><dd>Forward (Slow)</dd>
-  <dt><kbd class="osc">Transport/GotoEnd</kbd></dt><dd>Goto End</dd>
-  <dt><kbd class="osc">Transport/GotoStart</kbd></dt><dd>Goto Start</dd>
-  <dt><kbd class="osc">Transport/GotoWallClock</kbd></dt><dd>Goto Wall Clock</dd>
-  <dt><kbd class="osc">Transport/GotoZero</kbd></dt><dd>Goto Zero</dd>
-  <dt><kbd class="osc">Transport/Loop</kbd></dt><dd>Play Loop Range</dd>
-  <dt><kbd class="osc">Transport/PlayPreroll</kbd></dt><dd>Play Selection w/Preroll</dd>
-  <dt><kbd class="osc">Transport/PlaySelection</kbd></dt><dd>Play Selected Range</dd>
-  <dt><kbd class="osc">Transport/primary-clock-bbt</kbd></dt><dd>Bars &amp; Beats</dd>
-  <dt><kbd class="osc">Transport/primary-clock-minsec</kbd></dt><dd>Minutes &amp; Seconds</dd>
-  <dt><kbd class="osc">Transport/primary-clock-samples</kbd></dt><dd>Samples</dd>
-  <dt><kbd class="osc">Transport/primary-clock-timecode</kbd></dt><dd>Timecode</dd>
-  <dt><kbd class="osc">Transport/Record</kbd></dt><dd>Enable Record</dd>
-  <dt><kbd class="osc">Transport/record-roll</kbd></dt><dd>Start Recording</dd>
-  <dt><kbd class="osc">Transport/RewindFast</kbd></dt><dd>Rewind (Fast)</dd>
-  <dt><kbd class="osc">Transport/Rewind</kbd></dt><dd>Rewind</dd>
-  <dt><kbd class="osc">Transport/RewindSlow</kbd></dt><dd>Rewind (Slow)</dd>
-  <dt><kbd class="osc">Transport/Roll</kbd></dt><dd>Roll</dd>
-  <dt><kbd class="osc">Transport/secondary-clock-bbt</kbd></dt><dd>Bars &amp; Beats</dd>
-  <dt><kbd class="osc">Transport/secondary-clock-minsec</kbd></dt><dd>Minutes &amp; Seconds</dd>
-  <dt><kbd class="osc">Transport/secondary-clock-samples</kbd></dt><dd>Samples</dd>
-  <dt><kbd class="osc">Transport/secondary-clock-timecode</kbd></dt><dd>Timecode</dd>
-  <dt><kbd class="osc">Transport/Stop</kbd></dt><dd>Stop</dd>
-  <dt><kbd class="osc">Transport/ToggleAutoInput</kbd></dt><dd>Auto Input</dd>
-  <dt><kbd class="osc">Transport/ToggleAutoPlay</kbd></dt><dd>Auto Play</dd>
-  <dt><kbd class="osc">Transport/ToggleAutoReturn</kbd></dt><dd>Auto Return</dd>
-  <dt><kbd class="osc">Transport/ToggleClick</kbd></dt><dd>Click</dd>
-  <dt><kbd class="osc">Transport/ToggleExternalSync</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/ToggleFollowEdits</kbd></dt><dd>Follow Edits</dd>
-  <dt><kbd class="osc">Transport/TogglePunchIn</kbd></dt><dd>Punch In</dd>
-  <dt><kbd class="osc">Transport/TogglePunch</kbd></dt><dd>Punch In/Out</dd>
-  <dt><kbd class="osc">Transport/TogglePunchOut</kbd></dt><dd>Punch Out</dd>
-  <dt><kbd class="osc">Transport/ToggleRollForgetCapture</kbd></dt><dd>Stop and Forget Capture</dd>
-  <dt><kbd class="osc">Transport/ToggleRoll</kbd></dt><dd>Start/Stop</dd>
-  <dt><kbd class="osc">Transport/ToggleRollMaybe</kbd></dt><dd>Start/Continue/Stop</dd>
-  <dt><kbd class="osc">Transport/ToggleTimeMaster</kbd></dt><dd>Time Master</dd>
-  <dt><kbd class="osc">Transport/ToggleVideoSync</kbd></dt><dd>Sync Startup to Video</dd>
-  <dt><kbd class="osc">Transport/TransitionToReverse</kbd></dt><dd>Transition To Reverse</dd>
-  <dt><kbd class="osc">Transport/TransitionToRoll</kbd></dt><dd>Transition To Roll</dd>
-  <dt><kbd class="osc">Transport/Transport</kbd></dt><dd>Transport</dd>
-  <dt><kbd class="osc">Window/toggle-about</kbd></dt><dd>About</dd>
-  <dt><kbd class="osc">Window/toggle-add-routes</kbd></dt><dd>Add Tracks/Busses</dd>
-  <dt><kbd class="osc">Window/toggle-add-video</kbd></dt><dd>Add Tracks/Busses</dd>
-  <dt><kbd class="osc">Window/toggle-audio-connection-manager</kbd></dt><dd>Audio Connections</dd>
-  <dt><kbd class="osc">Window/toggle-audio-midi-setup</kbd></dt><dd>Audio/MIDI Setup</dd>
-  <dt><kbd class="osc">Window/toggle-big-clock</kbd></dt><dd>Big Clock</dd>
-  <dt><kbd class="osc">Window/toggle-bundle-manager</kbd></dt><dd>Bundle Manager</dd>
-  <dt><kbd class="osc">Window/toggle-inspector</kbd></dt><dd>Tracks and Busses</dd>
-  <dt><kbd class="osc">Window/toggle-key-editor</kbd></dt><dd>Key Bindings</dd>
-  <dt><kbd class="osc">Window/toggle-locations</kbd></dt><dd>Locations</dd>
-  <dt><kbd class="osc">Window/toggle-midi-connection-manager</kbd></dt><dd>MIDI Connections</dd>
-  <dt><kbd class="osc">Window/toggle-rc-options-editor</kbd></dt><dd>Preferences</dd>
-  <dt><kbd class="osc">Window/toggle-session-options-editor</kbd></dt><dd>Properties</dd>
-  <dt><kbd class="osc">Window/toggle-speaker-config</kbd></dt><dd>Speaker Configuration</dd>
-  <dt><kbd class="osc">Window/toggle-theme-manager</kbd></dt><dd>Theme Manager</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-center</kbd></dt><dd>Zoom Focus Center</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-edit</kbd></dt><dd>Zoom Focus Edit Point</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-left</kbd></dt><dd>Zoom Focus Left</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-mouse</kbd></dt><dd>Zoom Focus Mouse</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-playhead</kbd></dt><dd>Zoom Focus Playhead</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-right</kbd></dt><dd>Zoom Focus Right</dd>
-</dl>
diff --git a/_manual/25_using-control-surfaces/02_mackie-control-protocol.html b/_manual/25_using-control-surfaces/02_mackie-control-protocol.html
deleted file mode 100644 (file)
index 60033fe..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
-title: Controlling Ardour with Mackie Control Devices
----
-
-<p>
-  Since Mackie and Logic made the first Logic Control Surface, Mackie
-  and other surface manufactures have been making control surfaces that
-  use the same protocol to communicate with a DAW. Ardour supports the
-  <abbr title="Mackie Control Protocol"><dfn>MCP</dfn></abbr> and will
-  work with all these control surfaces.
-</p>
-
-{% children %}
diff --git a/_manual/25_using-control-surfaces/02_mackie-control-protocol/01_mackie-control-configure.html b/_manual/25_using-control-surfaces/02_mackie-control-protocol/01_mackie-control-configure.html
deleted file mode 100644 (file)
index 4733d6d..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: default
-title: Devices using Mackie/Logic Control Protocol
-menu_title: Mackie Control Configuring
----
-
-<p>
-  This will walk you through the process of configuring and using
-  a MIDI control surface with Ardour that uses the <dfn>Mackie Control
-  protocol</dfn> (MCP) or <dfn>Logic Control protocol</dfn>. Devices that
-  have been tested and are known to work include the SSL Nucleus, Mackie
-  Control Pro (plus extenders), Behringer devices in Mackie/Logic mode,
-  and Steinberg CMC devices.
-</p>
-
-<h2>Enabling Mackie Control in Ardour</h2>
-<p>
-  Navigate to <kbd class="menu">Edit &gt; Preferences &gt; Control Surfaces</kbd>.
-  Double-click on <kbd class="menu">Mackie Control</kbd> to see the setup dialog:
-</p>
-<img src="" alt="Mackie Control Setup Dialog" />
-<p>
-  From the selector at the top, choose the type of device you are using.
-  (<a
-  href="/using-control-surfaces/devices-using-mackielogic-control-protocol/devices-not-listed/">
-  What to do if your device is not listed</a>).
-</p>
-<p>
-  Once your setup is complete, click "OK" to close the dialog. Now click
-  on the enable checkbox for "Mackie Control".
-</p>
-<h2>Devices using ipMIDI</h2>
-<p>
-  If you are using a device that uses ipMIDI, such as the SSL Nucleus, no
-  MIDI port connections are required &mdash; Ardour and your control
-  surface will be able to talk to each other automatically so long as
-  your control surface and computer are both connected to the same network.
-</p>
-<h2>Connecting control surface and Ardour MIDI ports</h2>
-<p>
-  Before attempting to use a Mackie Control device that communicates via
-  a standard MIDI cable or a USB cable, you should ensure that
-  <a href="/setting-up-your-system/setting-up-midi/midi-on-linux/">your Linux
-  MIDI environment is setup</a>.
-  If you are using a device that uses normal MIDI (via a standard MIDI or
-  USB cable), you need to connect Ardour's Mackie Control in and out ports
-  to the MIDI ports leading to and coming from the control surface.
-</p>
-<p>
-  When you have made these connections once, Ardour will recreate them
-  for you in the future, as long as you leave Mackie Control enabled.
-</p>
-
-<h2>Customizing your control surface</h2>
-<p>
-  Every possible global Mackie Control button can be bound to any <a
-  href="/appendix/menu-actions-list/">
-  action</a> present in Ardour's GUI. Please check your control surface
-  page for suggestions.
-</p>
-
-<h2>Preparing your device for use with Ardour</h2>
-<p>
-  Most interfaces will require some configuration to send and respond to
-  MCP.
-</p>
-
-<p class="note">
-  When setting up the control surface, do <em>not</em> use "Pro Tools"
-  mode. Pro Tools is the only DAW that still requires HUI. The rest of
-  world uses Mackie Control Protocol. Ardour does not support HUI at
-  this time.
-</p>
diff --git a/_manual/25_using-control-surfaces/02_mackie-control-protocol/02_ssl-nucleus.html b/_manual/25_using-control-surfaces/02_mackie-control-protocol/02_ssl-nucleus.html
deleted file mode 100644 (file)
index 83c98e2..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
----
-layout: default
-title: SSL Nucleus
----
-
-<p>
-  The Nucleus, from Solid State Logic, is a 16 fader Mackie Control
-  device that includes many buttons, separate meters, two LCD displays
-  and other features. The device is not cheap (around US$5000 at the
-  time of writing), and has some <a href="#design">design features</a>
-  (or lack thereof) which some Ardour developers find
-  questionable. Nevertheless, it is a very flexible device, and makes
-  a nice 16 fader surface without the need to somehow attach an
-  extender to your main surface.
-</p>
-
-<h2>Pre-configuring the Nucleus</h2>
-
-<p>
-  Your Nucleus comes complete with a number of "profiles" for a few
-  well-known DAWs. At the time of writing it does not include one for
-  Ardour (or related products such as Harrison Mixbus). 
-</p>
-<p>
-  We have prepared a profile in which as many buttons as possible send
-  Mackie Control messages, which makes the device maximally useful
-  with Ardour (and Mixbus). You can
-  download <a href="https://community.ardour.org/files/ArdourNucleusProfile.zip">the
-  profile</a>
-  and load it to your Nucleus using the <code>Edit Profiles</code>
-  button in SSL's Nucleus Remote application. Be sure to select it for
-  the active DAW layer in order to make Ardour work as well as
-  possible. <em>Note: unfortunately, the Nucleus Remote application
-  only runs on OS X or Windows, so Linux users will need access to
-  another system to load the profile. We will provide notes on the
-  profile settings at a future time.</em>
-</p>
-
-<h2>Connecting the Nucleus</h2>
-
-<p>
-  Unlike most Mackie Control devices, the Nucleus uses an ethernet
-  connection to send and receive the MIDI messages that make up the
-  Mackie Control protocol. Specifically, it uses a technology called
-  "ipMIDI" which essentially "broadcasts" MIDI messages on a local
-  area network, so that any connected devices (computers, control
-  surfaces, tablets etc.) can participate.
-</p>
-<p>
-  All other DAWs so far that support the Nucleus have chosen to do so
-  by using a 3rd party MIDI driver called "ipMIDI", which creates a
-  number of "virtual" MIDI ports on your computer. You, the user,
-  tells the DAW which ports to connect to, and ipMIDI takes care of
-  the rest.
-</p>
-<p>
-  Ardour has builtin ipMIDI support, with no need of any 3rd party
-  packages, and no need to identify the "ports" to connect to in order
-  to communicate with the Nucleus. This makes setting it up a bit
-  easier than most other systems.
-</p>
-<p>
-  Unless ... you already installed the ipMIDI driver in order to use
-  some other DAW with your Nucleus. If ipMIDI is configured to create
-  any "ports", it is not possible for Ardour's own ipMIDI support to
-  function. We decided to offer both methods of communicating with
-  your Nucleus. If you regularly use other DAWs, and appreciate having
-  ipMIDI permanently set up to communication with the Nucleus - that's
-  OK, you can tell Ardour to use the ipMIDI driver you already
-  have. But if you're not using other DAWs with the Nucleus (and thus
-  have not installed the ipMIDI driver), then you can ignore the
-  ipMIDI driver entirely, and let Ardour connect directly with no
-  configuration.
-</p>
-
-<h3>Connecting via Ardour's own ipMIDI support</h3>
-
-<p class="alert alert-info">
-  This is usable only on computers with no 3rd party ipMIDI
-  driver software installed and configured. If you have the OS X or
-  Windows ipMIDI driver from nerds.de, it <strong>MUST</strong> be
-  configured to offer <strong>ZERO</strong> ports before using this
-  method.
-</p>
-
-<p>
-  Open <code>Preferences > Control Surfaces</code>. Ensure that the
-  Mackie protocol is enabled, then double-click on it to open the
-  Mackie Control setup dialog.
-</p>
-<p>
-  Ensure that the device selected is "SSL Nucleus". The dialog should
-  show a single numerical selector control below it, defining the
-  ipMIDI port number to use (it should almost always be left at the
-  default value of 21928).
-</p>
-<p>
-  Communication is automatically established with the Nucleus and you
-  need do nothing more.
-</p>
-<p>
-  If this does not work, then make sure your network cables are
-  properly connected, and that you are <strong>not</strong> running
-  other ipMIDI software on the computer.
-</p>
-
-<h3>Connecting via 3rd party ipMIDI support</h3>
-
-<p class="alert alert-info">
-  This is usable only on computers with 3rd party ipMIDI
-  driver software installed and configured for (at least) 2 ports.
-</p>
-
-<p>
-  Open <code>Preferences > Control Surfaces</code>. Ensure that the
-  Mackie protocol is enabled, then double-click on it to open the
-  Mackie Control setup dialog.
-</p>
-<p>
-  Ensure that the device selected is "SSL Nucleus (via platform MIDI)". The dialog should
-  show four combo/dropdown selectors, labelled (respectively):
-</p>
-  <ul>
-    <li><code>Main Surface receives via</code></li>
-    <li><code>Main Surface sends via</code></li>
-    <li><code>1st extender receives via</code></li>
-    <li><code>1st extender sends via</code></li>
-  </ul>
-<p>
-  You should choose "ipMIDI port 1", "ipMIDI port 1", "ipMIDI port 2"
-  and "ipMIDI port 2" for each of the 4 combo/dropdown selectors. 
-</p>
-<p>
-  Communication should be automatically established with the Nucleus.
-</p>
-<p>
-  If this does not work, then make sure your network cables are
-  properly connected, and that you are running the approprate ipMIDI
-  driver and have configured it for 2 (or more) ports.
-</p>
-
-<h2><a name="design">Nucleus Design Discussion</a></h2>
-
-<p>
-  You might be reading this part of the manual seeking some guidance
-  on whether the Nucleus would make a suitable control surface for
-  your workflows. We don't want to try to answer that question
-  definitively, since the real answer depends on the very specific
-  details of your workflow and situation, but we would like to point
-  out a number of design features of the Nucleus that might change
-  your opinion.
-</p>
-
-<h3>Cons</h3>
-<dl>
-  <dt>No Master Faster</dt>
-  <dd>It is not possible to control the level of the Master bus or
-  Monitor section. Really don't know what SSL was thinking here.</dd>
-  <dt>No dedicated rec-enable buttons</dt>
-  <dd>You have to press the "Rec" button and convert the per-strip
-    "Select" buttons into rec-enables</dd>
-  <dt>No dedicated automation buttons</dt>
-  <dd>You have to press the "Auto" button and convert the first 4
-  vpots into 4 automation-related buttons, losing your current view
-    of the session.</dd>
-  <dt>No buttons with Mackie-defined "Marker" functionality</dt>
-  <dd>Mackie's design intentions for the interoperation of the
-    Marker, rewind and ffwd buttons requires profile editing in order
-    to function properly.
-  </dd>
-  <dt>No "Dyn" button</dt>
-  <dd>This is hard to assign in an edited profile. To be fair, other
-    Mackie Control devices also lack this button.
-  </dd>
-</dl>
-
-<h3>Pros</h3>
-<dl>
-  <dt>Single cable connectivity</dt>
-  <dd>No need for multiple MIDI cables to get 16 faders</dd>
-  <dt>Broadcast connectivity</dt>
-  <dd>Connecting to multiple computers does not require recabling</dd>
-  <dt>16 faders from a single box</dt>
-  <dd>No need to figure out how to keep extenders together</dd>
-  <dt>Meters separated from displays</dt>
-  <dd>Contrast with the Mackie Control Universal Pro, where meters
-    interfere with the display
-  </dd>
-  <dt>DAW profiles</dt>
-  <dd>Easy to flip profiles for use by different DAWs.</dd>
-</dl>
-
-
-<h3>Ambiguous</h3>
-<dl>
-  <dt>Ability to make buttons generate USB keyboard events</dt>
-  <dd>The extent to which this is useful reflects the target DAWs
-    inability to manage all of its functionality via Mackie Control
-  </dd>
-  <dt>Sophisticated "profile" editing</dt>
-  <dd>It is nice to be able to reassign the functionality of most
-    buttons, but this is only necessary because of the relatively few
-    global buttons on the surface.
-  </dd>
-  <dt>Builtin analog signal path</dt>
-  <dd>SSL clearly expects users to route audio back from their
-  computer via the Nucleus' own 2 channel output path, and maybe even
-  use the input path as well. They take up a significant amount of
-  surface space with the controls for this signal path, space that
-  could have been used for a master fader or more Mackie Control
-  buttons. The USB audio device requires a proprietary driver, so
-  Linux users can't use this, and OS X/Windows users will have to
-  install a device driver (very odd for a USB audio device these
-  days). The analog path also no doubt adds notable cost to the
-  Nucleus. There's nothing wrong with this feature for users that
-  don't already have a working analog/digital signal path for their
-  computers. But who is going to spend $5000 on a Nucleus that
-  doesn't have this already?</dd>
-</dl>
diff --git a/_manual/25_using-control-surfaces/02_mackie-control-protocol/03_behringer-devices-in-mackielogic-control-mode.html b/_manual/25_using-control-surfaces/02_mackie-control-protocol/03_behringer-devices-in-mackielogic-control-mode.html
deleted file mode 100644 (file)
index 39d0ce5..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
----
-layout: default
-title: Behringer devices in Mackie/Logic Control Mode
-menu_title: Behringer devices
----                        
-
-<h2>Behringer BCF-2000 Faders Controller</h2> 
-<p>
-  <img alt="Digramatic Image of the BCF2000"
-     src="/images/BCF2000.png">
-</p>
-<p>
-  The Behringer BCF-2000 Fader Controller is a control surface with 8 motorized 
-  faders, 8 rotary encoders and 30 push buttons. The device is a class
-  compliant USB Midi Interface and also has standard Midi DIN IN/OUT/THRU  ports.
-  The device has included a Mackie/Logic Control Emulation Mode since firmware v1.06.
-  If you're devices firmware is older than v1.06 it will require an update before
-  Mackie Control Emulation will work as described here.
-</p>
-<p>
-  <img alt="Digramatic Image of the BCF2000 in Edit Global Mode"
-     src="/images/BCF2000-EG.png">
-</p>
-
-<p>
-  In order to put the controller into Mackie/Logic control mode turn on the 
-  unit while holding third button from the left in the top most row
-  of buttons (under the rotary encoder row). Hold the button down until <dfn>EG</dfn>
-  or edit global mode is displayed on the LCD screen of the unit. The global parameters
-  can then be edited using the 8 rotary encoders in the top row. 
-</p>
-  <ul>
-    <li><code>
-      Encoder #1 sets the operating mode and should be set to <dfn>U-1</dfn> or
-      USB mode 1 if using with a USB cable connection.
-    </li></code>
-    <li><code>
-      Encoder #3 sets the foot switch mode and should most likely be set to
-      <dfn>Auto</dfn> to detect how the foot switch is wired. 
-    </li></code>
-    <li><code>
-      Encoder #5 sets the device id, if you are using only 1 device the id
-      should be set to <dfn>ID 1</dfn>. If you are using multiple BCF/BCR2000 each
-      device is required to be set up sequentially and one at a time.
-    </li></code>
-    <li><code>      
-      Encoder #7 controls the MIDI <dfn>Dead Time</dfn> or the amount of milliseconds
-      after a move has been made that the device ignores further changes, this 
-      should be set to <dfn>100</dfn>.
-    </li></code>
-    <li><code>
-      Encoder #8 controls the MIDI message <dfn>Send Interval</dfn> in milliseconds
-      and should be set to <dfn>10</dfn>
-    </li></code>
-  </ul>
-<p>
-  To exit the <dfn>EG</dfn> mode press the <dfn>Exit</dfn> button. The device is now
-  ready to use with Ardour.
-</p>
-
-<h3>Modes of Operation</h3>
-<p>
-  <img alt="Digramatic Image of the BCF2000 Control Modes"
-     src="/images/BCF2000-Modes.png">
-</p>
-<p>
-  The four buttons arranged in a rectangle and located under the Behringer logo 
-  are the mode selection buttons in Logic Control Emulation Mode,
-  currently Ardour has implemented support for two of these modes.
-</p>
-<p>
-The surface can be broken into 8 groups of controls.
-</p>
-
-<ol>
-  <li>The rotary encoders at the top of the device</li>
-  <li>The first row of buttons under the encoders</li>
-  <li>The second row of buttons under the encoders</li>
-  <li>The row of motorized faders<li>
-  <li>
-    The group of 4 buttons at the top right that will be
-    referred to here as the <dfn>Shift Group</dfn>
-  </li>
-  <li>
-    The group of 4 buttons under the <dfn>Shift Group</dfn>
-    referred to here as the <dfn>Mode Group</dfn>
-  </li>
-  <li>
-    The group of 2 buttons under the <dfn>Mode Group</dfn>
-    referred to here as the <dfn>Select Group</dfn>
-  </li>
-  <li>
-    The group of 4 buttons under the <dfn>Select Group</dfn>
-    referred to here as the <dfn>Transport Group</dfn>
-  </li>
-</ol>
-
-<h3>Mixer Pan Mode</h3>
-<p>
-  <img alt="Digramatic Image of the BCF2000 Control Modes"
-     src="/images/BCF2000-Pan.png">
-</p>
-<p>
-  This is the standard work mode that organizes the control surface to emulate
-  a standard mixer layout where controls for each track/bus are arranged vertically.
-  The order of the faders is either controlled by the order of the tracks in the
-  mixer or can be set manually by the user.
-</p>
-<dl>
-  <dt>Encoders</dt>
-  <dd>Mixer Pans. The red LEDs show the amount of pan left or right</dd>
-  <dt>First Row of Buttons</dt>
-  <dd>Mixer Mutes. The button led lights if the track is currently muted</dd>
-  <dt>Second Row of Buttons</dt>
-  <dd>Select Active Track/Bus. Currently selected track/bus is indicated by the button led</dd>
-  <dt>Faders</dt>
-  <dd>Mixer Gains</dd>
-  <dt>Shift Group</dt>
-  <dd>
-    The top and bottom left buttons are the simply shifts to change the function of other buttons
-  </dd>
-  <dd>
-    The top right is the <dfn>Fine Control</dfn> button that allows the increment values sent by
-    by rotary encoders and faders to be a small value for more precise editing. This button
-    can also act as a shift button.
-  </dd>
-  <dd>
-    The bottom right is the <dfn>Global Shift</dfn> button that allows you to change back to the
-    standard Mixer Pan view from other views and modes. This button can also act as a shift button.
-  </dd>
-  <dt>Mode Group</dt>
-  <dd>The top two buttons functions are not currently implemented in Ardour.</dd>
-  <dd>The bottom left button sets the device to <dfn>Pan</dfn> mode and should currently be lit</dd>
-  <dd>
-    The bottom right button sets the device to <dfn>Send</dfn> mode but will only allow the switch
-    if the currently selected track/bus has a send or sends to control.
-  </dd>
-  <dt>Select Group</dt>
-  <dd>
-    In this mode they function as bank select left and right. If your session has more than 8 tracks
-    the next set of 8 tracks is selected with the right button and the faders will move to match the
-    current gain settings of that bank of 8 tracks/busses. If the last bank contains less than 8 
-    tracks/busses the unused  faders will move to the bottom and the pan lights will all turn
-    off. An unlimited amount of tracks can be controlled with the device.
-  </dd>
-  <dt>Transport Group</dt>
-  <dd>The upper left button controls <dfn>Rewind<dfn>.
-  <dd>The upper right button controls <dfn>Fast Foreword</dfn>
-  <dd>The lower left button controls stop</dd>
-  <dd>The lower right button controls play</dd>
-</dl>
-<h3>Send Mode</h3>
-<p>
-  <img alt="Digramatic Image of the Send Mode"
-     src="/images/BCF2000-Send.png">
-</p>
-<p>
-  Send mode allows for the top row of encoders to control the sends for a selected channel.
-  One interesting option is to flip the controls from the encoders to the faders by pressing
-  the shift 1 button and the global view button at the same time.
-</p>
-<dl>
-  <dt>Encoders</dt>
-  <dd>
-    In send mode, the encoders control sends from left to right instead of mixer pans.
-    If there are less than 8 sends the behavior of the encoder will be to continue controlling
-    the mixer pan. Visually it's indicated by the change in the LED from originating at the 12
-    o'clock position to originating at the 7 o'clock position. If <dfn>FLIP</dfn> is pressed 
-    the encoder will control the mixer gain for the selected track/bus.
-  </dd>
-  <dt>First row of buttons</dt>
-  <dd>No Change</dd>
-  <dt>Second row of buttons</dt>
-  <dd>No Change.</dd>
-  <dt>Faders</dt>
-  <dd>
-    No change unless <dfn>FLIP</dfn>is pressed then it controls the send for the selected track/bus.
-  </dd>
-  <dt>Shift Group</dt>
-  <dd>No Change</dd>
-  <dt>Select Group</dt>
-  <dd>No Change</dd>
-  <dt>Transport Group</dt>
-  <dd>No Change</dd>
-</dl>
-<h3>Mixer Pan While Holding Shift 1</h3>
-<p>
-  <img alt="Digramatic Image of the Mixer Mode while holding down shift 1"
-     src="/images/BCF2000-Shift1.png">
-</p>
-<p>
-  The operations of various buttons change while holding down the <dfn>Shift 1</dfn> button
-</p>
-<dl>
-  <dt>Encoders</dt>
-  <dd>No Change</dd>
-  <dt>First row of buttons</dt>
-  <dd>These now control the Soloing of each track/bus in the current bank</dd>
-  <dt>Second row of buttons</dt>
-  <dd>These now control the Enable Record for each track</dd>
-  <dt>Faders</dt>
-  <dd>No Change</dd>
-  <dt>Shift Group</dt>
-  <dd>No change</dd>
-  <dt>Mode Group</dt>
-  <dd>No Change</dd>
-  <dt>Select Group</dt>
-  <dd>
-    These now change the current bank of tracks being controlled over by
-    one. So if you where controlling tracks 1-8 a push the right
-    button the surface would now control tracks 2-9 pressing the left
-    would then shift back to controlling tracks 1-8.
-  </dd>
-  <dt>Transport Group</dt>
-  <dd>The upper left now controls turning on and off <dfn>Loop</dfn> mode.</dd>
-  <dd>
-    The upper right now toggles
-    <dfn>Click</dfn>.
-  </dd>
-  <dd>The lower left toggles <dfn>Replace</dfn>.</dd>
-  <dd>
-    The lower right toggles
-    <dfn>Global Record</dfn>.
-  </dd>
-</dl>
-<h3>Mixer Pan While Holding Shift 2</h3>
-<p>
-  <img alt="Digramatic Image of the Mixer Mode while holding down shift 2"
-     src="/images/BCF2000-Shift2.png">
-</p>
-<p>
-  The operations of various buttons change while holding down the <dfn>Shift 2</dfn> button
-</p>
-<dl>
-  <dt>Encoders</dt>
-  <dd>No Change</dd>
-  <dt>First row of buttons</dt>
-  <dd>FIX ME</dd>
-  <dt>Second row of buttons</dt>
-  <dd>These now control setting up different <dfn>Views</dfn>. See bellow for more info</dd>
-  <dt>Faders</dt>
-  <dd>No Change</dd>
-  <dt>Shift Group</dt>
-  <dd>No change</dd>
-  <dt>Mode Group</dt>
-  <dd>No Change</dd>
-  <dt>Select Group</dt>
-  <dd>Left button controls <dfn>Undo</dfn>(NEEDS VERIFIED)</dd>
-  <dt>Transport Group</dt>
-  <dd>FIX ME</dd>
-  <dd>FIX ME</dd>
-  <dd>FIX ME</dd>
-  <dd>FIX ME</dd>
-</dl>
-<h3>Views</h3>
-<p>
-  <img alt="Digramatic Image of the LED display for different Views"
-     src="/images/BCF2000-Views.png">
-</p>
-<p>
-  FIX ME
-</p>
\ No newline at end of file
diff --git a/_manual/25_using-control-surfaces/02_mackie-control-protocol/04_devices-not-listed.html b/_manual/25_using-control-surfaces/02_mackie-control-protocol/04_devices-not-listed.html
deleted file mode 100644 (file)
index 579ca6e..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
----
-layout: default
-title: What to do if your Device is not Listed
-menu_title: Unlisted devices
----
-
-<p>
-  All Mackie Control devices are based on the original Logic Control and the
-  documentation in the user manual that came with it. The Mackie Control and
-  the Mackie Control Pro and so on, all use this same protocol. Any units
-  from other manufactures will also use the same encoding as best the
-  hardware will allow. If the unit in use has more than one Mackie Control
-  option, it is best to choose Logic Control or LC. Any Templates for the
-  buttons should be chosen the same way as the Function key Editor uses these
-  button names. The "Mackie Control" option should be considered default and
-  should be tried with any unlisted device before attemping to create a
-  custom definition file.
-</p>
diff --git a/_manual/25_using-control-surfaces/02_mackie-control-protocol/05_working-with-extenders.html b/_manual/25_using-control-surfaces/02_mackie-control-protocol/05_working-with-extenders.html
deleted file mode 100644 (file)
index 81f8606..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
----
-layout: default
-title: Working With Extenders
-menu_title: Working With Extenders
----
-
-<p>
-  There are currently 5 devices preconfigured to work with extenders.
-  Two of them are for one master and one extender with the master on the
-  right side or master on the left side. There are three presets for a
-  master and two extenders with the master on the left, in the center
-  and on the right. While these files will work for many uses there may
-  be cases where a custom device profile makes more sense. 
-  The best way is to start with the *.device file in the <a
-  href="/appendix/files-and-directories/">
-  sytem config sub directory mcp</a> that matches your
-  master device and copy it to a new name such as xt+mc.device in the
-  <a href="/appendix/files-and-directories/">
-  user config sub directory mcp</a> and then edit that file. It is best to
-  name the file with the order the devices are expected to be used in as
-  the position of the master device is specified in this file.
-</p>
-<p>
-  The three lines of interest are:
-<p>
-<pre>
- &lt;Name value="Device name"/&gt;
- &lt;Extenders value="0"/&gt;
- &lt;MasterPosition value="0"/&gt;
-</pre>
-<p>
-  Add any lines that are not present.
-</p>
-<p>
-  The <code>Name</code> value should be a unique name so it is obvious
-  in the list of devices (so change it).
-</p>
-<p>
-  The <code>Extenders</code>
-  value is the number of extenders used and should not include the master in
-  that number.
-</p>
-<p>
-  When an <code>Extenders</code> value of greater than 0 is used, extra midi
-  ports will appear for the extenders to be connected to. The MIDI ports
-  for the controllers will be named <code>mackie control in/out</code> for
-  the master, <code>mackie control in/out ext #*</code> where * is the
-  position of the extender from left to right. So for a master in the middle
-  with an extender on either side, the ports from left to right will be
-  mackie control in/out ext #1, mackie control in/out and mackie control in/out ext #3.
-</p>
-<p>
-  If using the MCP GUI to connect surfaces the top surface is the leftmost
-  and the bottom is the rightmost. The GUI shows explicitly the position
-  of the main or master surface within the group of surfaces.
-</p>
-<p><img alt="the Mackie Control Device Dialog"
-     src="/images/mcp-extender-position.png"></p>
-<p>
-  The <code>MasterPosition</code> value is the position the master unit
-  (with the master fader) is located at within the group of surfaces.
-  The surfaces are numbered from 1 at the left side and up. So if there
-  are three surfaces, <code>&lt;MasterPosition value="1"/&gt;</code> will
-  expect the master on the left, <code>&lt;MasterPosition value="2"/&gt;</code>
-  would be master in the middle and <code>&lt;MasterPosition value="3"/&gt;</code>
-  would be master on the right.
-</p>
-<p class="note">
-  The default value of <code>&lt;MasterPosition value="0"/&gt;</code> has
-  the same effect as <code>&lt;MasterPosition value="1"/&gt;</code>.
-</p>
-<p>
-  If the <code>MasterPosition</code> value does not properly match the
-  physical position and MIDI port, the master fader and global controls will
-  not work. The master unit will act like an extender.
-</p>
diff --git a/_manual/25_using-control-surfaces/03_generic-midi.html b/_manual/25_using-control-surfaces/03_generic-midi.html
deleted file mode 100644 (file)
index d548b08..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
----
-layout: default
-title: Generic Midi Surface Control
----
-
-<p>
-  Generic Midi allows synthesizers and other devices communicate with
-  Ardour. MIDI devices can send commands relating to playback (such as
-  play or stop), performance (such as volume, play, stop, and almost any
-  other function (such as Edit, or Undo).
-</p>
-<p>
-  Many MIDI control surfaces use predefined MIDI protocols such as the
-  "Mackie Control Protocol". In such cases it is best to use Ardour's
-  implementation of that protocol as it is likely more feature complete.
-</p>
-
-{% children %}
diff --git a/_manual/25_using-control-surfaces/03_generic-midi/01_midi-binding-maps.html b/_manual/25_using-control-surfaces/03_generic-midi/01_midi-binding-maps.html
deleted file mode 100644 (file)
index a760b4f..0000000
+++ /dev/null
@@ -1,396 +0,0 @@
----
-layout: default
-title: Generic MIDI Binding Maps
----
-
-<p>
-  Ardour 2.X supported
-  <a href="/using-control-surfaces/generic-midi/midi-learn/"><dfn>MIDI learning</dfn></a>
-  for more or less any control. This was a nice feature that quite a few other
-  DAWs are providing by now, but it didn't allow Ardour to work "out of the
-  box" with sensible defaults for existing commercial MIDI
-  controllers. In Ardour 3 and later versions, we have augmented the
-  MIDI learn feature with the ability to load a <dfn>MIDI binding map</dfn>
-  for a given controller, which can set up an arbitrary number of physical
-  controls with anything inside Ardour that can be controlled.
-</p>
-<p>
-  Currently (August 2016), we have presets for the following devices/modes:
-</p>
-<ul>
-  <li>AKAI MPD-32</li>
-  <li>AKAI MPK61</li>
-  <li>AKAI MPKmini</li>
-  <li>Behringer BCF2000</li>
-  <li>Behringer BCF2000 (Mackie Emulation mode; better to use
-    Ardour's actual Mackie Control Protocol support)</li>
-  <li>Behringer DDX3216</li>
-  <li>Korg nanoKONTROL (2 layouts)</li>
-  <li>Korg nanoKONTROL 2 (2 layouts)</li>
-  <li>Korg Taktile</li>
-  <li>M-Audio Axiom 25 (2 layouts)</li>
-  <li>M-Audio Axiom 61</li>
-  <li>M-Audio Oxygen 49</li>
-  <li>M-Audio Oxygen 61v3</li>
-  <li>M-Audio Oxygen 25</li>
-  <li>M-Audio Oxygen 8v2</li>
-  <li>Novation Impulse 49</li>
-  <li>Novation Impulse 61</li>
-  <li>Novation LaunchControl XL</li>
-  <li>Novation LaunchKey 25</li>
-  <li>Roland SI-24</li>
-  <li>Roland V Studio 20</li>
-  <li>Yamaha KX25</li>
-</ul>
-  At this time, new binding maps need to be created with a text editor.
-<p>
-  MIDI binding maps are accessible by double-clicking <kbd class="menu">Edit
-  &gt; Preferences &gt; Control Surfaces &gt; Generic MIDI</kbd>. Ardour will
-  retain your selection after you choose one.
-</p>
-
-<h2>Creating new MIDI maps</h2>
-<h3>The Basic Concept</h3>
-<p>
-  Since the beginning of time (well, sometime early in the 2.X series),
-  Ardour has had the concept of identifying each track and bus with a
-  <dfn>remote control ID</dfn>. This ID uniquely identifies a track or bus
-  so that when messages arrive from elsewhere via MIDI or OSC , we can determine
-   which track or bus they are intended to control. See
-   <a
-  href="/working-with-tracks/controlling-track-ordering/track-ordering-and-remote-control-ids/">
-   remote control IDs</a> for more information.
-   You just need to know that there is a "first track" and its remote control
-   ID is 1, and so on.
-</p>
-<h3>Getting Started</h3>
-<p>
-  MIDI bindings are stored in files with the suffix ".map" attached to their
-  name. The minimal content looks like this:
-</p>
-<pre>
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;ArdourMIDIBindings version="1.0.0" name="The name of this set of
-bindings"&gt;
-&lt;/ArdourMIDIBindings&gt;
-</pre>
-<p>
-  So, to start, create a file with that as the initial contents.
-</p>
-<p>
-  On OS X, Ardour loads midi maps from its binary-bundle folder in
-  <code>Ardour-&lt;version&gt;/midi_maps/</code> and checks
-  various other locations as well (defined by the ARDOUR_MIDIMAPS_PATH
-  environment variable). On GNU/Linux the easiest is to save the file to
-  <code>~/.config/ardour3/midi_maps/</code>.
-</p>
-
-<h3>Finding out what your MIDI control surface sends</h3>
-<p>
-  This is the most complex part of the job, but its still not very hard.
-  You need to connect the control surface to an application that will show
-  you the information that the device sends each time you modify a knob,
-  slider, button etc. There are a variety of such applications (notably
-  <code>gmidimon</code> and <code>kmidimon</code>, but you can actually use
-  Ardour for this if you want. Start Ardour in a terminal window, connect
-  MIDI ports up, and in the Preferences window, enable "Trace Input" on the
-  relevant MIDI port. A full trace of the MIDI data received will show up in
-  the terminal window. (Note: in Ardour3, you get a dedicated, custom dialog
-  for this kind of tracing.)
-</p>
-<h3>Types of Bindings</h3>
-<p>
-  There are two basic kinds of bindings you can make between a MIDI message
-  and something inside Ardour. The first is a binding to a specific parameter
-  of a track or bus. The second is a binding to a function that will change
-  Ardour's state in some way.
-</p>
-<h4>Binding to Track/Bus controls</h4>
-<p>
-  A track/bus binding has one of two basic structures
-</p>
-<code>
-  &lt;Binding <em>msg specification</em>  uri="<em>... control address ...</em>"/&gt;
-  &lt;Binding <em>msg specification</em>  function="<em>... function name ...</em>"/&gt;
-</code>
-
-<h4>Message specifications</h4>
-<p>
-  You can create a binding for either 3 types of channel messages, or for a
-  system exclusive ("sysex") message.  A channel message specification looks
-  like this:
-</p>
-<code>
-   &lt;Binding channel="1" ctl="13" ....
-</code>
-<p>
-  This defines a binding for a MIDI Continuous Controller message involving
-  controller 13, arriving on channel 1. There are 16 MIDI channels, numbered
-  1 to 16. Where the example above says <code>ctl</code>, you can alternatively
-  use <code>note</code> (to create binding for a Note On message) or
-  <code>pgm</code>  (to create a binding for a Program Change message).
-</p>
-<p>
-  As of Ardour 4.2, <code>enc-r</code>, <code>enc-l</code>, <code>enc-2</code> and
-  <code>enc-b</code> may be used for surfaces that have encoders that send
-  offsets rather than values. These accept Continuous Controller messages
-  but treat them as offsets. These are good for banked controls as they are
-  always at the right spot to start adjusting. (
-   <a href="/using-control-surfaces/generic-midi/working-with-encoders/">
-   Learn more about working with encoders
-   </a>)
-</p>
-<p>
-  You can also bind sysex messages:
-</p>
-<code>
-  &lt;Binding sysex="f0 0 0 e 9 0 5b f7" ....
-  &lt;Binding sysex="f0 7f 0 6 7 f7" ....
-</code>
-<p>
-  The string after the <code>sysex=</code> part is the sequence of MIDI bytes,
-  as hexadecimal values, that make up the sysex message.
-</p>
-<p>
-  Finally, you can bind a totally arbitrary MIDI message:</p>
-<code>
-  &lt;Binding msg="f0 0 0 e 9 0 5b f7" ....
-  &lt;Binding msg="80 60 40" ....
-</code>
-<p>
-  The string after the <code>msg=</code> part is the sequence of MIDI bytes, as
-  hexadecimal values, that make up the message you want to bind. Using this is
-  slightly less efficient than the other variants shown above, but is useful for
-  some oddly designed control devices.
-</p>
-
-<p class="note">
-  As of Ardour 4.6 it is possible to use multi-event MIDI strings such as
-  two event CC messages, RPN or NRPN.
-</p>
-
-<p class="note">
-  The <code>sysex=</code> and <code>msg=</code> bindings will only work with
-  <code>function=</code> or <code>action=</code> control addresses. They
-  will <em>not</em> work with the <code>uri=</code> control addresses.
-  Controls used with <code>uri=</code> require a <em>Value</em> which is
-  only available in a known place with channel mode MIDI events.
-</p>
-
-<h4>Control address</h4>
-<p>
-  A <dfn>control address</dfn> defines what the binding will actually control.
-  There are quite a few different things that can be specified here:
-</p>
-<dl class="wide-table">
-<dt>/route/gain</dt>
-<dd>the gain control ("fader") for the track/bus</dd>
-<dt>/route/trim</dt>
-<dd>the trim control for the track/bus (new in 4.1)</dd>
-<dt>/route/solo</dt>
-<dd>a toggleable control for solo (and listen) of the track/bus</dd>
-<dt>/route/mute</dt>
-<dd>a toggleable control to mute/unmute the track/bus</dd>
-<dt>/route/recenable</dt>
-<dd>a toggleable control to record-enable the track</dd>
-<dt>/route/panwidth</dt>
-<dd>interpreted by the track/bus panner, should control image "width"</dd>
-<dt>/route/pandirection</dt>
-<dd>interpreted by the track/bus panner, should control image "direction"</dd>
-<dt>/route/plugin/parameter</dt>
-<dd>the Mth parameter of the Nth plugin of a track/bus
-</dd>
-<dt>/route/send/gain</dt>
-<dd>the gain control ("fader") of the Nth send of a track/bus</dd>
-</dl>
-<p>Each of the specifications needs an address, which takes various forms too. For track-level controls (solo/gain/mute/recenable), the address is one the following:</p>
-<dl class="wide-table">
-<dt>a number, eg. "1"
-</dt>
-<dd>identifies a track or bus by its remote control ID
-</dd>
-<dt>B, followed by a number
-</dt>
-<dd>identifies a track or bus by its remote control ID within the current bank (see below for more on banks)
-</dd>
-<dt>S, followed by a number
-</dt>
-<dd>identifies a selected track in order they have been selected, S1 should be the same track as the Editor Mixer
-</dd>
-<dt>one or more words
-</dt>
-<dd>identifies a track or bus by its name
-</dd>
-</dl>
-<p>
-  For send/insert/plugin controls, the address consists of a track/bus
-  address (as just described) followed by a number identifying the plugin/send
-  (starting from 1). For plugin parameters, there is an additional third
-  component: a number identifying the plugin parameter number (starting from
-  1).
-</p>
-<p>
-  One additional feature: for solo and mute bindings, you can also add
-  <code>momentary="yes"</code> after the control address. This is useful
-  primarily for NoteOn bindings &mdash; when Ardour gets the NoteOn it
-  will solo or mute the targetted track or bus, but then when a NoteOff
-  arrives, it will un-solo or un-mute it.
-</p>
-
-<h4>Bindings to Ardour "functions"</h4>
-<p>
-  Rather than binding to a specific track/bus control, it may be useful to
-  have a MIDI controller able to alter some part of Ardour's state. A
-  binding definition that does this looks like this:
-</p>
-<code>
-  &lt;Binding channel="1" note="13" function="transport-roll"/&gt;
-</code>
-<p>
-  In this case, a NoteOn message for note number 13 (on channel 1) will
-  start the transport rolling. The following function names are available:
-</p>
-<dl class="narrower-table">
-<dt>
-<code>transport-stop</code>
-</dt>
-<dd>stop the transport
-</dd>
-<dt>
-<code>transport-roll</code>
-</dt>
-<dd>start the transport "rolling"
-</dd>
-<dt>
-<code>transport-zero</code>
-</dt>
-<dd>move the playhead to the zero position
-</dd>
-<dt>
-<code>transport-start</code>
-</dt>
-<dd>move the playhead to the start marker
-</dd>
-<dt>
-<code>transport-end</code>
-</dt>
-<dd>move the playhead to the end marker
-</dd>
-<dt>
-<code>loop-toggle</code>
-</dt>
-<dd>turn on loop playback
-</dd>
-<dt>
-<code>rec-enable</code>
-</dt>
-<dd>enable the global record button
-</dd>
-<dt>
-<code>rec-disable</code>
-</dt>
-<dd>disable the global record button
-</dd>
-<dt>
-<code>next-bank</code>
-</dt>
-<dd>Move track/bus mapping to the next bank (see Banks below)
-</dd>
-<dt>
-<code>prev-bank</code>
-</dt>
-<dd>Move track/bus mapping to the previous bank (see Banks below)
-</dd>
-</dl>
-
-<h4>Binding to Ardour "actions"</h4>
-<p>
-  You can also bind a sysex or arbitrary message to any of the items
-  that occur in Ardour's main menu (and its submenus). The <a
-  href="/appendix/menu-actions-list/">
-  list of actions</a> shows all available values of <em>action-name</em>.
-<p>
-  To create a binding between an arbitrary MIDI message (we'll use a
-  note-off on channel 1 of MIDI note 60 (hex) with release velocity
-  40 (hex)), the binding file would contain:
-</p>
-<code>
-   &lt;Binding msg="80 60 40" action="Editor/temporal-zoom-in"/&gt;
-</code>
-<p>
-  The general rule, when taken an item from the keybindings file and
-  using it in a MIDI binding is to simply strip the
-  <code>&lt;Action&gt;</code> prefix of the second field in the
-  keybinding definition.
-</p>
-
-<h3>Banks and Banking</h3>
-<p>
-  Because many modern control surfaces offer per-track/bus controls
-  for far fewer tracks &amp; busses than many users want to control,
-  Ardour offers the relatively common place concept of <dfn>banks</dfn>. Banks
-  allow you to control any number of tracks and/or busses easily,
-  regardless of how many faders/knobs etc. your control surface has.<br />
-  To use banking, the control addresses must be specified using the
-  <dfn>bank relative</dfn> format mentioned above ("B1" to identify
-  the first track of a bank of tracks, rather than "1" to identify
-  the first track).
-</p>
-<p>
-  One very important extra piece of information is required to use
-  banking: an extra line near the start of the list of bindings
-  that specifies how many tracks/busses to use per bank. If the
-  device has 8 faders, then 8 would be a sensible value to use for
-  this. The line looks like this:</p>
-<code>
-   &lt;DeviceInfo bank-size="8"/&gt;
-</code>
-<p>
-  In addition, you probably want to ensure that you bind something
-  on the control surface to the <code>next-bank</code> and
-  <code>prev-bank</code> functions, otherwise you and other users
-  will have to use the mouse and the GUI to change banks, which
-  rather defeats the purpose of the bindings.
-</p>
-<h3>The Selected Strip</h3>
-<p>
-  Often times one wants to just deal with the strip currently
-  selected by the GUI (or the control surface). In the same way as with
-  banks above the selected strip can be designated with <em>S1</em>.
-</p>
-<h2>A Complete (though muddled) Example</h2>
-<pre>
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;ArdourMIDIBindings version="1.0.0" name="pc1600x transport controls"&gt;
-  &lt;DeviceInfo bank-size="16"/&gt;
-  &lt;Binding channel="1" ctl="1"   uri="/route/gain B1"/&gt;
-  &lt;Binding channel="1" ctl="2"   uri="/route/gain B2"/&gt;
-  &lt;Binding channel="1" ctl="3"   uri="/route/send/gain B1 1"/&gt;
-  &lt;Binding channel="1" ctl="4"   uri="/route/plugin/parameter B1 1 1"/&gt;
-  &lt;Binding channel="1" ctl="6"   uri="/bus/gain master"/&gt;
-
-  &lt;Binding channel="1" note="1"  uri="/route/solo B1"/&gt;
-  &lt;Binding channel="1" note="2"  uri="/route/solo B2" momentary="yes"/&gt;
-
-  &lt;Binding channel="1" note="15"  uri="/route/mute B1" momentary="yes"/&gt;
-  &lt;Binding channel="1" note="16"  uri="/route/mute B2" momentary="yes"/&gt;
-
-  &lt;Binding sysex="f0 0 0 e 9 0 5b f7" function="transport-start"/&gt;
-  &lt;Binding sysex="f0 7f 0 6 7 f7" function="rec-disable"/&gt;
-  &lt;Binding sysex="f0 7f 0 6 6 f7" function="rec-enable"/&gt;
-  &lt;Binding sysex="f0 0 0 e 9 0 53 0 0 f7" function="loop-toggle"/&gt;
-
-  &lt;Binding channel="1" note="13" function="transport-roll"/&gt;
-  &lt;Binding channel="1" note="14" function="transport-stop"/&gt;
-  &lt;Binding channel="1" note="12" function="transport-start"/&gt;
-  &lt;Binding channel="1" note="11" function="transport-zero"/&gt;
-  &lt;Binding channel="1" note="10" function="transport-end"/&gt;
-&lt;/ArdourMIDIBindings&gt;
-</pre>
-<p>
-  Please note that channel, controller and note numbers are specified as
-  decimal numbers in the ranges 1-16, 0-127 and 0-127 respectively
-  (the channel range may change at some point).
-</p>
-
-{% children %}
diff --git a/_manual/25_using-control-surfaces/03_generic-midi/02_midi-learn.html b/_manual/25_using-control-surfaces/03_generic-midi/02_midi-learn.html
deleted file mode 100644 (file)
index 74e3d83..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
----
-layout: default
-title: Generic MIDI Learn
----
-
-<h2>Philosophy</h2>
-<p>
-There are no "best" ways to map an arbitrary MIDI controller for
-controlling Ardour. There may be very legitimate reasons for different
-users to prefer quite different mappings.
-</p>
-<p>
-On every platform that Ardour runs on, there are excellent
-free-of-charge tools for making connections between MIDI hardware and
-"virtual" MIDI ports like the ones that Ardour creates and
-uses. Rather than waste precious developer time replicating these
-connection/patch managers, we prefer to leverage their existence by
-having users rely on them to actually connect Ardour to other MIDI
-devices and software. On OS X, we recommend Pete Yandell's MIDI
-Patchbay. On Linux, a wide variety of tools are available including
-QJackctl, aconnect, Patchage, and more.
-</p>
-
-<h2>Basics</h2>
-
-<ol>
-  <li>Enable Generic MIDI control: <kbd class="menu">Edit &gt; Preferences
-  &gt; Control Surfaces &gt; Generic MIDI</kbd></li>
-  <li>Connect Ardour's MIDI port named <samp>control</samp> to whatever
-  hardware or software you want (using a MIDI patchbay app)</li>
-  <li><kbd class="mod1 mouse">Middle</kbd>-click on whatever on-screen
-  fader, plugin parameter control, button etc. you want to control</li>
-  <li>A small window appears that says "Operate Controller now"</li>
-  <li>Move the hardware knob or fader, or press the note/key.</li>
-  <li>The binding is complete. Moving the hardware should control the Ardour fader etc. </li>
-</ol>
-
-<h2>Avoiding work in the future</h2>
-<p>
-If you want the bindings you set up to be used automatically in every
-session, the simplest thing to do is to use <kbd class="menu">Session &gt; Save
-Template</kbd>. Then, when creating new sessions, select that template and
-all the bindings will be automatically set up for you.
-</p>
diff --git a/_manual/25_using-control-surfaces/03_generic-midi/03_working-with-encoders.html b/_manual/25_using-control-surfaces/03_generic-midi/03_working-with-encoders.html
deleted file mode 100644 (file)
index 0f0ae75..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: default
-title: Generic MIDI and Encoders
----
-
-<p>
-  Encoders are showing up more frequently on controllers. However, they use
-  the same MIDI events as Continuous Controllers and they have no standard
-  way of sending that information as MIDI events. Ardour 4.2 has implemented
-  4 of the more common ways of sending encoder information.
-</p>
-<p>
-  Encoders that send the same continuous values as a pot would are not
-  discussed here as they are already supported by <code>ctl</code>.
-</p>
-<P>
-  Encoders as this page talks about them send direction and offset that the
-  DAW will add to or subtract from the current value.
-</p>
-<p>
-  The 4 kinds of encoder supported are:
-</p>
-<ul>
-<li>
-  enc-r:  On the bcr/bcf2000 this is called "Relative Signed Bit". The most
-  significant bit sets positive and the lower 6 signifcant bits are the
-  offset.
-</li>
-<li>
-  enc-l: The bcr2000 calls this "Relative Signed Bit 2". The most
-  significant bit sets negative and the lower 6 signifcant bits are the
-  offset. If you are using one of these two and the values are right but
-  reversed, use the other. This one is the one the Mackie Control Protocol
-  uses.
-</li>
-<li>
-  enc-2: The bcr2000 calls this one "Relative 2s Complement". Positive
-  offsets are sent as normal from 1 to 64 and negative offsets are sent as
-  2s complement negative numbers.
-</li>
-<li>
-  enc-b: The bcr2000 calls this one "Relative Binary Offset". Positive
-  offsets are sent as offset plus 64 and negative offsets are sent as 64
-  minus offset.
-</li>
-</ul>
-<p>
-  If the wrong one is chosen, either the positive or negative side will act
-  incorrectly. It is not really possible to auto detect which one the
-  controller is using. Trial and error is the only way if the specification
-  of the controller is not known.
-</p>
-<p>
-  Many controllers have more than one choice as well, check the manual for
-  the surface.
-</p>
diff --git a/_manual/25_using-control-surfaces/04_Presonus_FaderPort.html b/_manual/25_using-control-surfaces/04_Presonus_FaderPort.html
deleted file mode 100644 (file)
index 9acf374..0000000
+++ /dev/null
@@ -1,376 +0,0 @@
----
-layout: default
-title: Using the Presonus Faderport
-menu_title: Presonus Faderport
----                        
-
-<p>
-  Since version 4.5, Ardour has had full support for the Presonus
-  Faderport. This is a compact control surface featuring a single
-  motorized fader, a single knob (encoder) and 24 buttons with fixed
-  labels. It is a relatively low-cost device that functions very well
-  to control a single (selected) track or bus, along with a variety of
-  other "global" settings and conditions.
-</p>
-
-<h2>Connecting the Faderport</h2>
-<p>
-  The Faderport comes with a single USB socket on the back. Connect a
-  suitable USB cable from there to a USB port on your computer. As of
-  the end of 2015, you should avoid USB3 ports - these cause erratic
-  behaviour with the device. This issue might get fixed by Presonus in
-  the future.
-</p>
-<p class="well">
-  Ardour uses the Faderport in what Presonus calls "native" mode. You
-  do not need to do anything to enable this - Ardour will set the
-  device to be in the correct mode. In native mode, the Faderport
-  sends and receives ordinary MIDI messages to/from the host, and the
-  host understands the intended meaning of these messages. We note
-  this detail to avoid speculation about whether Ardour supports the
-  device via the HUI protocol - it does not.
-<p>
-  The Faderport will be automatically recognized by your operating
-  system, and will appear in any of the lists of possible MIDI ports
-  in both Ardour and other similar software.
-</p>
-<p>
-  To connect the Faderport to Ardour, open the Preferences dialog, and
-  then click on "Control Surfaces". Click on the "Enable" button
-  in the line that says "Faderport" in order to activate Ardour's
-  Faderport support. Then double click on the line that says
-  "Faderport". A new dialog will open, containing (among other things)
-  two dropdown selectors that will allow you to identify the MIDI
-  ports where your Faderport is connected.
-</p>
-<p>
-<img alt="the Faderport configuration dialog"
-     src="/images/faderport_dialog.png">
-</p>
-<p>
-  Once you select the input and output port, Ardour will initialize
-  the Faderport and it will be ready to use. You only need do this
-  once: once these ports are connected and your session has been
-  saved, the connections will be made automatically in this and other
-  future sessions.
-<p>
-  You do not need to use the power supply that comes with the
-  Faderport but without it, the fader will not be motorized. This
-  makes the overall experience of using the Faderport much less
-  satisfactory, since the fader will not move when Ardour tells it
-  to, leading to very out-of-sync conditions between the physical
-  fader position and the "fader position" inside the program.
-</p>
-
-<h2>Using the Faderport</h2>
-<p>
-  The Faderport's controls can be divided into three groups:
-  <ol>
-    <li>Global controls such as the transport buttons</li>
-    
-    <li>Controls which change the settings for particular track or
-      bus</li>
-    
-    <li>Controls which alter which track or bus is modified by the
-      per-track/bus controls.</li>
-  </ol>
-</p>
-<p>
-  Because the Faderport has only a single set of per-track controls,
-  by default those controls operate on the first selected track or
-  bus. If there is no selected track or bus, the controls will do
-  nothing.
-</p>
-
-<h3>Transport Buttons</h3>
-<p>
-  The transport buttons all work as you would expect.
-  <dl>
-    <dt>Rewind</dt>
-    <dd>
-      <p>
-      When pressed on its own, starts the transport moving backwards. Successive presses
-      speed up the "rewind" behaviour.
-      </p>
-      <p>
-       If pressed while also holding the Stop button, the playhead will
-       return to the zero position on the timeline.
-      </p>
-      <p>
-       If pressed while also holding the Shift button, the playhead will
-       move to the session start marker.
-      </p>
-    </dd>
-    <dt>Fast Forward</dt>
-    <dd>
-      <p>
-       When pressed on its own, starts the transport moving faster than normal. Successive presses
-       speed up the "fast forward" behaviour.
-      </p>
-      <p>
-       If pressed while also holding the Shift button, the playhead
-       will move to the session end marker.
-      </p>
-    </dd>
-    <dt>Stop</dt>
-    <dd>
-      Stops the transport. Also used in combination with the Rewind
-      button to "return to zero".
-    </dd>
-    <dt>Play</dt>
-    <dd>
-      Starts the transport. If pressed while the transport is
-      already rolling at normal speed, causes the playhead to jump to
-      the start of the last "roll" and continue rolling ("Poor man's
-      looping").
-    </dd>
-    <dt>Record Enable</dt>
-    <dd>Toggles the global record enable setting
-    </dd>
-  </dl>
-</p>
-
-<h3>Other Global Controls</h3>
-<p>
-  The Mix, Proj, Trns buttons do not obviously correspond any
-  particular functions or operations in Ardour. We have therefore
-  allowed users to choose from a carefully curated set of possible
-  actions that seem related to the button labels in some clear
-  way. This can be done via the Faderport configuration dialog
-  accessed via <code>Preferences &gt; Control Surfaces</code>. Each
-  button has 3 possible actions associated with it:
-  <ul>
-    <li>Plain Press: action to be taken when the button is pressed on
-      its own.</li>
-    <li>Shift-Press: action to be taken when the button is pressed in
-      conjunction with the Shift button.</li>
-    <li>Long Press: action to be taken when the button is pressed on
-      its own and held down for more than 0.5 seconds.</li>
-  </ul>
-  Click on the relevant drop-down selector to pick an action as you
-  prefer.
-</p>
-<p>
-  The User button also has no obvious mapping to specific Ardour
-  functionality, so we allow users to choose from <em>any</em>
-  possible GUI action. The menu for selecting the action is somewhat
-  confusing and it can be hard to find what you're looking
-  for. However, all possible actions are there, so keep looking!
-<p>
-  <dl>
-    <dt>Mix</dt>
-    <dd>
-      <p>
-       Possible actions include:
-       <ul>
-         <li>Toggle Editor &amp; Mixer visibility</li>
-         <li>Show/Hide the Editor mixer strip</li>
-       </ul>
-      </p>
-    </dd>
-    <dt>Proj</dt>
-    <dd> 
-      <p>
-       Possible actions include:
-       <ul>
-         <li>Toggle Meterbridge visibility</li>
-         <li>Toggle Session Summary visibility</li>
-         <li>Toggle Editor Lists visibility</li>
-         <li>Zoom to session</li>
-         <li>Zoom in</li>
-         <li>Zoom out</li>
-       </ul>
-      </p>
-   </dd>
-    <dt>Trns</dt>
-    <dd>
-      <p>
-       Possible actions include:
-       <ul>
-         <li>Toggle Locations window visibility</li>
-         <li>Toggle Metronome</li>
-         <li>Toggle external sync</li>
-         <li>Set Playhead at current pointer position</li>
-       </ul>
-      </p>
-    </dd>
-    <dt>Undo/Redo</dt>
-    <dd>
-      Undo Causes the last operation carried out in the editor to be
-      undone. When pressed in conjuction with the Shift button, it
-      causes the most recent undone operation to be re-done. 
-    </dd>
-    <dt>Punch</dt>
-    <dd>
-      <p>
-       When pressed on its own, toggles punch recording. If there is no
-       punch range set for the session, this will do nothing.
-      </p>
-      <p>
-       When pressed in conjunction with the Shift button, this moves
-       the playhead to the previous Marker
-      </p>
-    </dd>
-    <dt>User</dt>
-    <dd>
-      <p>
-       See above. Any and all GUI-initiated actions can be driven with
-       by pressing this button on its own, or with a "long" press. 
-      </p>
-      <p>
-       When pressed in conjunction with the Shift button, this will move
-       the playhead to the next marker.
-      </p>
-    </dd>
-    <dt>Loop</dt>
-    <dd>
-      <p>
-       When pressed on its own, this toggles loop playback. If the
-       Ardour preference "Loop-is-mode" is enabled, this does nothing
-       to the current transport state. If that preference is disabled,
-       then engaging loop playback will also start the transport.
-      </p>
-      <p>
-       When pressed in conjunction with the Shift button, this will
-       create a new (unnamed) marker at the current playhead
-       position.
-      </p>
-    </dd>
-  </dl>
-</p>
-  
-<h3>Per-track Controls</h3>
-<p>
-  <dl>
-    <dt>Mute</dt>
-    <dd>
-      This toggles the mute setting of the currently controlled
-      track/bus. The button will be lit if the track/bus is muted.
-    </dd>
-    <dt>Solo</dt>
-    <dd>
-      This toggles the solo (or listen) setting of the currently
-      controlled track/bus. The button will be lit if the track/bus is
-      soloed (or set to listen mode).
-    </dd>
-    <dt>Rec</dt>
-    <dd>
-      This toggles the record-enabled setting of the currently
-      controlled track/bus. The button will be lit if the track is
-      record-enabled. This button will do nothing if the Faderport is
-      controlling a bus.
-    </dd>
-    <dt>Fader</dt>
-    <dd>
-      The fader controls the gain applied to the currently controlled
-      track/bus. If the Faderport is powered, changing the gain in
-      Ardour's GUI or via another control surface, or via automation,
-      will result in the fader moving under its own control. 
-    </dd>
-    <dt>Knob/Dial/Encoder</dt>
-    <dd>
-      <p>
-       The knob controls 1 or 2 pan settings for the current
-       controlled track/bus. When used alone, turning the knob controls
-       the "azimuth" or "direction" (between left and right) for the
-       panner in the track/bus (if any). This is all you need when
-       controlling tracks/busses with 1 input and 2 outputs.
-      </p>
-      <p>
-       If controlling a 2 input/2 output track/bus, Ardour's panner
-       has two controls: azimuth (direction) and width. The width
-       must be reduced to less than 100% before the azimuth can be
-       changed. Pressing the "Shift" button while turning the knob
-       will alter the width setting.
-      </p>
-      <p>
-       The knob can also be turned while the "User" button is held,
-       in order to modify the input gain for the currently controlled
-       track.
-      </p>
-    </dd>
-    <dt>Read</dt>
-    <dd>
-      Enables playback/use of fader automation data by the controlled track/bus.
-    </dd>
-    <dt>Write</dt>
-    <dd>
-      Puts the fader for the controlled track/bus into automation
-      write mode. While the transport is rolling, all fader changes
-      will be recorded to the fader automation lane for the relevant track/bus.
-    </dd>
-    <dt>Touch</dt>
-    <dd>
-      Puts the fader for the controlled track/bus into automation
-      touch mode. While the transport is rolling, touching the fader
-      will initiate recording all fader changes until the fader is
-      released. When the fader is not being touched, existing
-      automation data will be played/used to control the gain level.
-    </dd>
-    <dt>Off</dt>
-    <dd>
-      This disables all automation modes for the currently controlled
-      track/bus. Existing automation data will be left unmodified by
-      any fader changes, and will not be used for controlling gain.
-    </dd>
-  </dl>
-</p>
-
-<h3>Track Selection Controls</h3>
-<p>
-  You can manually change the track/bus controlled by the Faderport by
-  changing the selected track in Ardour's editor window. If you select
-  more than 1 track, the Faderport will control the first selected
-  track and <em>only</em> that track/bus.
-</p>
-<p>
-  <dl>
-    <dt>Left (arrow)</dt>
-    <dd>
-      This causes the Ardour GUI to select the previous track/bus
-      (using the current visual order in the editor window), which
-      will in turn cause the Faderport to control that track. If there
-      is no previous track/bus, the selected track/bus is left
-      unchanged, and the Faderport continues to control it.
-    </dd>
-    <dt>Right (arrow)</dt>
-    <dd>
-      This causes the Ardour GUI to select the next track/bus
-      (using the current visual order in the editor window), which
-      will in turn cause the Faderport to control that track. If there
-      is no next track/bus, the selected track/bus is left
-      unchanged, and the Faderport continues to control it.
-    </dd>
-    <dt>Output</dt>
-    <dd>
-      <p>
-       Pressing the Output button causes the Faderport to control
-       the fader, pan, mute and solo settings of the Master bus. If
-       your session does not contain a Master bus, it does nothing.
-       This is a toggle button - pressing it again returns Faderport
-       to controlling whichever track/bus was selected before the
-       first press of the Output button.
-      </p>
-      <p>
-       If your session uses Ardour's monitor section, you can use
-       Shift-Output to assign it to the Faderport in the same way
-       that Output assigns the Master bus. This is also a toggle
-       setting, so the second Shift-Output will return the Faderport
-       to controlling whichever track/bus was selected before.
-      </p>
-      <p>
-       If you press Shift-Output after a single press to Output
-       (i.e. control the Monitor Section while currently controlling
-       the Master bus) or vice versa (i.e. control the Master bus
-       while currently controlling the Monitor Section), the press
-       will be ignored. This avoids getting into a tricky situation
-       where it is no longer apparent what is being controlled and
-       what will happen if you try to change it.
-      </p>
-    </dd>
-    <dt>Bank</dt>
-    <dd>
-      The "Bank" button is currently not used by Ardour
-    </dd>
-  </dl>
-</p>
diff --git a/_manual/25_using-control-surfaces/05_Ableton_Push2.html b/_manual/25_using-control-surfaces/05_Ableton_Push2.html
deleted file mode 100644 (file)
index 92549ef..0000000
+++ /dev/null
@@ -1,366 +0,0 @@
----
-layout: default
-title: Using the Ableton Push 2
-menu_title: Ableton Push 2
----                        
-
-<p>
-  <img alt="the Ableton Push 2 surface" src="/images/push2-main.jpg">
-</p>
-<p>
-  Since version 5.4, Ardour has had extensive support for the Ableton
-  Push2. This is an expensive but beautifully engineered control
-  surface primarily targetting the workflow found in Ableton's Live
-  software and other similar tools such as Bitwig. As of version 5.4,
-  Ardour does not offer the same kind of workflow, so we have designed
-  our support for the Push 2 around mixing and editing and musical
-  performance, without the clip/scene oriented approach in Live. This
-  may change in future versions of Ardour.
-</p>
-
-<h2>Connecting the Push 2</h2>
-<p>
-  Plug the USB cable from the Push 2 into a USB2 or USB3 port on your
-  computer. For brighter backlighting, also plug in the power supply
-  (this is not necessary for use). 
-</p>
-<p>
-  The Push 2 will be automatically recognized by your operating
-  system, and will appear in any of the lists of possible MIDI ports
-  in both Ardour and other similar software.
-</p>
-<p>
-  To connect the Push 2 to Ardour, open the Preferences dialog, and
-  then click on "Control Surfaces". Click on the "Enable" button
-  in the line that says "Ableton Push 2" in order to activate Ardour's
-  Push 2 support. 
-</p>
-<p>
-  Once you select the input and output port, Ardour will initialize
-  the Push 2 and it will be ready to use. You only need do this
-  once: once these ports are connected and your session has been
-  saved, the connections will be made automatically in this and other
-  future sessions.
-</p>
-
-<h2>Push 2 Configuration</h2>
-<p>
-  The only configuration option at this time is whether the pads send
-  aftertouch or polyphonic pressure messages. You can alter this
-  setting via the Push 2 GUI, accessed by double-clicking on the "Push
-  2" entry in the control surfaces list.
-<p>
-<img alt="the Push 2 configuration dialog"
-     src="/images/push2-gui.png">
-</p>
-
-<h2>Basic Concepts</h2>
-<p>
-  With the Push 2 support in Ardour 5.4, you can do the following
-  things:
-  <dl>
-    <dt>Perform using the 8 x 8 pad "grid"</dt>
-    <dd>The Push 2 has really lovely pressure-sensitive pads that can
-    also generate either aftertouch or note (polyphonic) pressure.</dd>
-    <dt>Global Mixing</dt>
-    <dd>See many tracks at once, and control numerous parameters for each.</dd>
-    <dt>Track/Bus Mixing</dt>
-    <dd>View a single track/bus, with even more parameters for the track.</dd>
-    <dt>Choose the mode/scale, root note and more for the pads</dt>
-    <dd>37 scales are available. Like Live, Ardour offers both
-    "in-key" and "chromatic" pad layouts.</dd>
-  </dl>
-
-  ... plus a variety of tasks related to transport control, selection,
-  import, click track control and more.
-</p>
-
-<h2>Musical Performance</h2>
-<p>
-  Messages sent from the 8x8 pad grid and the "pitch bend bar" are
-  routed to a special MIDI port within Ardour called "Push 2 Pads"
-  (no extra latency is incurred from this routing). Although you can
-  manually connect this port to whatever you wish, the normal
-  behaviour of Ardour's Push 2 support is to connect the pads to the
-  most recently selected MIDI track.
-</p>
-<p>
-  This means that to play a soft-synth/instrument plugin in a given
-  MIDI track with the Push 2, you just need to select that track.
-</p>
-<p>
-  If multiple MIDI tracks are selected at once, the first selected
-  track will be used. Note that messages originating from all other
-  controls on the Push 2 will <em>not</em> not be delivered to the
-  "Push 2 Pads" port. This makes no difference in practice, because
-  the other controls do not send messages that are useful for musical
-  performance. 
-</p>
-
-<h2>Global Mix</h2>
-<p>
-  This is the default mode that Ardour will start the Push 2 in. In
-  this mode, the 8 knobs at the top of the device, the 8 buttons below
-  them, the video display and the 8 buttons below that are combined to
-  provide a global view of the session mix.
-</p>
-<p>
-  <img alt="global mix mode on Push2 screen"
-       src="/images/push2-globalmix.png">
-</p>
-<p>
-  The upper buttons are labelled by text in the video display just
-  below them. Pressing one of the buttons changes the function of the
-  knobs, and the parameters that will shown for each track/bus in the
-  display.
-</p>
-<p>
-  As of Ardour 5.4, the possible parameters are:
-  <dl>
-    <dt>Volumes</dt>
-    <dd>The display shows a knob and text displaying
-      the current gain setting for the track, and a meter that
-      corresponds precisely to the meter shown in the Ardour GUI for
-      that track. Changing the meter type (e.g. from Peak to K12) in the
-      GUI will also change it in the Push 2 display. The physical knob
-      will alter track/bus gain.
-    </dd>
-    <dt>Pans</dt>
-    <dd>The display shows a knob indicating the pan direction/azimuth
-    for the corresponding track/bus. Turning the physical knob will
-    pan the track left and right. If the track/bus has no panner
-    (i.e. it has only a single output), no knob is shown and the
-    physical knob will do nothing. </dd>
-    <dt>Pan Widths</dt>
-    <dd><p>For tracks with 2 outputs, the display will show a knob
-       indicating the pan width setting for the corresponding
-       track/bus. The physical knob can be turned to adjust the
-       width. 
-      </p>
-      <p>
-       Unlike many DAWs, Ardour's stereo panners have "width"
-       parameter that defaults to 100%. You cannot change the pan
-       direction/azimuth of a track with 100% width, but must first
-       reduce the width in order to pan it. Similarly, a track panned
-       anywhere other than dead center has limits on the maximum
-       width setting. If these concepts are not familiar to you,
-       please be aware than many DAWs use a "panner" that actually
-       implement "balance" and not "panning", hence the difference.
-      </p>
-    </dd>
-    <dt>A Sends</dt>
-    <dd>The display shows a knob indicating the gain level for the
-      first send in that track. If the track has no send, no knob will
-      be shown, and the physical knob for that track will do nothing.
-    </dd>
-    <dt>B Sends, C Sends, D Sends</dt>
-    <dd>Like "A Sends", but for the 2nd, 3rd and 4th sends of a
-      track/bus respectively.
-    </dd>
-  </dl>
-</p>
-<p>
-  To change which tracks are shown while in global mix mode, use the
-  left and right arrow/cursor keys just below and to the right of the
-  display. Tracks and busses that are hidden in Ardour's GUI will also
-  be hidden from display on the Push 2.
-</p>
-<p>
-  To select a track/bus directly from the Push 2, press the
-  corresponding button below the display. The track name will be
-  highlighted, and the selection will change in Ardour's GUI as well
-  (and also any other control surfaces).
-</p>
-
-<h3>Soloing and Muting in Global Mix mode</h3>
-<p>
-  The Solo and Mute buttons to the left of the video display can be
-  used to solo and mute tracks while in Global Mix mode. The operation
-  will be applied to the <em>first</em> currently selected
-  track(s).
-</p>
-<p>
-  There are two indications that one or more tracks are soloed:
-  <ol>
-    <li>The solo button will blink red</li>
-    <li>Track names will be prefixed by "*" if they are soloed, and
-      "-" if they are muted due to soloing.</li>
-  </ol>
-</p>
-<p>
-  To cancel solo, either:
-  <ul>
-    <li>Select the soloed track(s) and press the solo button
-      again</li>
-    <li>Press and hold the solo button for more than 1 second</li>
-  </ul>
-</p>
-
-<h2>Track Mix</h2>
-<p>Track Mix mode allows you to focus on a single track in more detail
-  than is possible in Global Mix mode. To enter (or leave) Track Mix
-  mode, press the "Mix" button.
-</p>
-<p>
-
-</p>
-<p>
-  In Track Mix mode, various aspects of the state of the first
-  selected track/bus will be displayed on the Push 2. Above the
-  display, the first 4 knobs control track volume (gain), pan
-  directiom/azimuth, pan width, and where appropriate, track input
-  trim. 
-</p>
-<p>
-  Below the display, 7 buttons provide immediate control of mute,
-  solo, rec-enable, monitoring (input or disk or automatic), solo
-  isolate and solo safe state. When a a track is muted due to other
-  track(s) soloing, the mute button will flash (to differentiate from
-  its state when it is explicitly muted). 
-</p>
-<p>
-  The video display also shows meters for the track, which as in
-  Global Mix mode, precisely match the meter type shown in Ardour's
-  GUI. There are also two time displays showing the current playhead
-  position in both musical (beats|bars|ticks) format, and as
-  hours:minutes:seconds.
-</p>
-<p>
-  To change which track is visible in Track Mix mode, use the
-  left/right arrow/cursor keys just below and to the right of the
-  video display.
-</p>
-
-<h2>Scale Selection</h2>
-<p>
-  Press the Scale button to enter Scale mode. The display will look
-  like this:
-</p>
-<p>
-  <img alt="track mix mode on Push2 screen"
-       src="/images/push2-scale.png">
-</p>
-<p>
-  In the center, 37 scales are presented. Scroll through them by
-  either using the cursor/arrow keys to the lower right of the
-  display, or the knobs above the display. The scale will change
-  dynamically as you scroll. You can also scroll in whole pages using
-  the upper right and upper left buttons above the display (they will
-  display "<" and ">" if scrolling is possible).
-</p>
-<p>
-  To change the root note of the scale, press the corresponding button
-  above or below the video display.The button will be lit to indicate
-  your selection (and the text will be highlighted).
-</p>
-<p>
-  By default, Ardour configures the Push 2 pads to use "in-key" mode,
-  where all pads correspond to notes "in" the chosen scale. Notes
-  corresponding to the root note, or the equivalent note in higher
-  octaves, are highlighted with the color of the current target MIDI
-  track.
-</p>
-<p>
-  In
-  "chromatic" mode, the pads correspond to a continuous sequence of
-  notes starting with your selected root note. Pads corresponding to
-  notes in the scale are illuminated; those corresponding to the root
-  note are lit with the color the current target MIDI track. Other
-  pads are left dark, but you can still play them.
-</p>
-<p>
-  To switch between them, press button on the lower left of the video
-  display; the text above it will display the current mode (though it
-  is usually visually self-evident from the pad lighting pattern).
-</p>
-<p>
-  To leave Scale mode, press the "Scale" button again. You may also
-  use the upper left button above the display, though if you have
-  scrolled left, it may require more than one press.
-</p>
-
-<h2>Specific Button/Knob Functions</h2>
-
-<p>
-  In addition to the layouts described above, many (but not all) of
-  the buttons and knobs around the edges of the Push 2 will carry out
-  various functions related to their (illuminated) label. As of Ardour
-  5.4, this includes:
-  <dl>
-    <dt>Metronome (button and adjacent knob)</dt>
-    <dd>
-      Enables/disables the click (metronome). The knob directly above
-      it will control the volume (gain) of the click.
-    </dd>
-    <dt>Undo/Redo</dt>
-    <dd>
-      Undo or redo the previous editing operation. 
-    </dd>
-    <dt>Delete</dt>
-    <dd>
-      Deletes the currently selected region, or range, or
-      note. Equivalent to using Ctrl/Cmd-x on the keyboard.
-    </dd>
-    <dt>Quantize</dt>
-    <dd>
-      If a MIDI region is selected in Ardour, this will open the
-      quantize dialog.
-    </dd>
-    <dt>Duplicate</dt>
-    <dd>
-      Duplicates the current region or range selection.
-    </dd>
-    <dt>Rec-Enable</dt>
-    <dd>
-      Enables and disables Ardour's global record enable state.
-    </dd>
-    <dt>Play</dt>
-    <dd>
-      Starts and stops the transport. Press Shift-Play to return to
-      the session start.
-    </dd>
-    <dt>Add Track</dt>
-    <dd>
-      Opens Ardour's Add Track/Bus dialog.
-    </dd>
-    <dt>Browse</dt>
-    <dd>
-      Open's Ardour's import dialog to select and audition existing
-      audio and MIDI files.
-    </dd>
-    <dt>Master</dt>
-    <dd>
-      Pressing this button jumps directly to Track Mix mode, with the
-      master out bus displayed.
-    </dd>
-    <dt>Cursor arrows</dt>
-    <dd>
-      These are used by some modes to navigate within the display (e.g
-      Scale mode). In other modes, the up/down cursor arrows will
-      scroll the GUI display up and down, while the left/right cursor
-      arrows will generally scroll within the Push 2 display itself.
-    </dd>
-    <dt>Repeat</dt>
-    <dd>
-      Enables/disables loop playback. This will follow Ardour's "loop
-      is mode" preference, just like the loop button in the Ardour
-      GUI. 
-    </dd>
-    <dt>Octave buttons</dt>
-    <dd>
-      These shift the root note of the current pad scale up or down by
-      1 octave. 
-    </dd>
-    <dt>Page buttons</dt>
-    <dd>
-      These scroll Ardour's editor display left and right along the
-      timeline. 
-    </dd>
-    <dt>Master (top right) knob</dt>
-    <dd>
-      This knob controls the gain/volume of Ardour's main output. If
-      the session has a monitor saec
-    </dd>
-  </dl>
-</p>
-
diff --git a/_manual/26_video-timeline.html b/_manual/26_video-timeline.html
deleted file mode 100644 (file)
index b072c15..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
----
-layout: default
-title: Video Timeline and Monitoring
----                        
-
-<p>
-  Ardour offers a <dfn>video timeline</dfn> and <dfn>video monitoring</dfn>
-  for convenient audio mixing and editing to video, in order to produce
-  film soundtracks and music videos, or perform TV postproduction tasks.
-</p>
-  
-<p>
-  The video capabilities are:
-</p>
-<ul>
-  <li>Import a single video and optionally extract the soundtrack from it.</li>
-  <li>Provide a video monitor window, or full-screen display, of the 
-  imported video in sync with any of the available Ardour timecode
-  sources.</li>
-  <li>Display a frame-by-frame (thumbnail) timeline of the video.</li>
-  <li>Allow for a configurable timecode offset.</li>
-  <li><em>Lock</em> audio regions to the video.</li> 
-  <li>Move audio regions with the video at video-frame granularity.</li>
-  <li>Export the video, trim start and end, add blank frames and/or
-  multiplex it with the soundtrack of the current session.</li>
-</ul>
-
-<p>
-  The setup of the video subsystem is modular and can be configured 
-  in different ways, including:
-</p>
-<ul>
-  <li>One machine for all video decoding, video monitoring and audio editing
-  tasks</li>
-  <li>Two machines, one for video monitoring, one for Ardour</li>
-  <li>Three machines,  separate video server (for timeline decoding 
-  and file archive), dedicated video monitor, and Ardour</li>
-</ul>
-
-<p>
-  Ardour does <em>not</em>:
-</p>
-<ul>
-  <li>allow for more than one video to be loaded at a time.</li>
-  <li>provide video editing capabilities</li>
-</ul>
-
-{% children %}
diff --git a/_manual/26_video-timeline/01_setup.html b/_manual/26_video-timeline/01_setup.html
deleted file mode 100644 (file)
index b17a68b..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
----
-layout: default
-title: Video Timeline Setup
----
-
-<p>
-  No configuration is required if you intend to run everything on a single 
-  machine, and if you acquired Ardour from 
-  <a href="http://www.ardour.org"
-  title="http://www.ardour.org">http://www.ardour.org</a>.
-  Everything is pre-configured and included with the download/install.
-</p>
-
-<h2>Single Machine</h2>
-<p>
-  If you compile Ardour from source, or have installed it from a 3rd party 
-  repository, three additional tools will need to be installed manually,
-  which are used by Ardour to provide video features:
-</p> 
-<ul> 
-  <li>xjadeo (the video monitor application): <a href="http://xjadeo.sourceforge.net/"
-  title="http://xjadeo.sourceforge.net/" rel="nofollow">http://xjadeo.sf.net</a></li>
-  <li>harvid (a video decoder used for the thumbnail timeline): <a
-  href="http://x42.github.io/harvid/" title="http://x42.github.io/harvid/"
-  rel="nofollow">http://x42.github.com/harvid/</a></li> 
-  <li>ffmpeg, ffprobe (used to import/export video, extract soundtracks and 
-  query video information): <a href="http://ffmpeg.org" title="http://ffmpeg.org"
-  rel="nofollow">http://ffmpeg.org</a></li> 
-</ul>
-<p>
-  Ardour requires xjadeo &ge; version 0.6.4, harvid &ge; version 0.7.0 and ffmpeg (known to work versions: 1.2, 2.8.2)
-</p>
-
-<p>
-  The Ardour development team is in control of the first two applications. ffmpeg
-  however can be a bit of a problem. To avoid conflicts with distribution packages, 
-  Ardour looks for <code>ffmpeg_harvid</code> and <code>ffprobe_harvid</code>.
-</p>
-<p>
-  All four applications need to be found in <code>$PATH</code> (e.g. 
-  <code>$HOME/bin</code> or <code>/usr/local/bin</code>). For convenience the 
-  binary releases of harvid include ffmpeg_harvid and ffprobe_harvid, but if 
-  your distribution provides suitable ffmpeg commands you can also just create 
-  symbolic links:
-</p>
-<kbd class="cmd lin">sudo ln -s /usr/bin/ffmpeg /usr/bin/ffmpeg_harvid</kbd>
-<kbd class="cmd lin">sudo ln -s /usr/bin/ffprobe /usr/bin/ffprobe_harvid</kbd>   
-<p>
-  Binary releases are available from ardour.org as well as an installer script: 
-  <a href="https://github.com/Ardour/ardour/blob/master/tools/videotimeline/install_video_tools.sh" 
-  title="https://github.com/Ardour/ardour/blob/master/tools/videotimeline/install_video_tools.sh"  
-  rel="nofollow">install_video_tools.sh</a>.
-</p>
-<p>
-  The easiest way to install the video-utilities is by running the following 
-  line in a terminal:
-</p>
-<kbd class="cmd lin">sh -c &quot;$(curl -s -L http://git.io/tVUCkw)&quot;</kbd>
-
-<h2>Studio Setup</h2>
-<p>
-  Please read the info in the previous section to familiarize yourself with 
-  the tools involved first. Setting up a proper A/V post-production studio 
-  can be a complicated task. As much as we streamline and simplify the 
-  <em>single machine</em> setup, the <dfn>studio setup</dfn> is focused on modularity.
-</p>
-
-<ul class="fixme">
- <li>TODO:</li>
- <li>Synchronization ardour â†’ video-display-box should be accomplished by external 
- means jack-transport(netjack), MTC, LTC 
- (<abbr title="Open Sound Control - &quot;postmodern MIDI&quot;">OSC</abbr> and/or 
- ssh-pipe work but introduce additional latency + jitter)</li>
-<li>Ardour launches <code>XJREMOTE</code> (environment variable, default &#039;xjremote&#039; which comes with xjadeo).
-</li>
-<li>Either use a custom shell script that ssh&#039;es into the remote box and launches/controls xjadeo there, selects the sync-source and passes though communication between ardour â‡” xjadeo via ssh (xjadeo is launched stopped with the session).
-</li>
-<li>..or override xjremote&#039;s behavior â€“ instead of  IPC with a local running xjadeo-process, using <abbr title="Open Sound Control - &quot;postmodern MIDI&quot;">OSC</abbr> for example. xjadeo would run permanently and Ardour will just tell it to load files and set offsets via <acronym title="Open Sound Control - &quot;postmodern MIDI&quot;">OSC</acronym>. see <a href="http://xjadeo.git.sourceforge.net/git/gitweb.cgi?p=xjadeo/xjadeo;a=blob_plain;f=contrib/xjremote-osc" title="http://xjadeo.git.sourceforge.net/git/gitweb.cgi?p=xjadeo/xjadeo;a=blob_plain;f=contrib/xjremote-osc"  rel="nofollow">xjremote-osc</a> example script.
-</li>
-<li>If the video server runs remotely, Ardour needs to be configured in Ardour &gt; Preference &gt; Video (hostname of the video-server).
-</li>
-<li>
-Ideally the machines have a common shared folder (NFS or similar).  Ardour&#039;s import (audio-extract) and export (mux) functionality depends on having access to the video file.  Also Ardour's video-import transcodes the file into a suitable proxy-format that allows reliable seeking to any frame…
-</li>
-</ul>
diff --git a/_manual/26_video-timeline/02_transcoding_formats_codecs.html b/_manual/26_video-timeline/02_transcoding_formats_codecs.html
deleted file mode 100644 (file)
index ba5ae17..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
----
-layout: default
-title: Transcoding, Formats &amp; Codecs
----
-
-<p>
-  This chapter provides a short primer on video files, formats and 
-  codecs â€“ because it is often cause for confusion:
-</p>
-
-<p>
-  A video file is a <dfn>container</dfn>. It usually contains one 
-  <dfn>video track</dfn> and one or more <dfn>audio tracks</dfn>. 
-  How these tracks are stored in the file is defined by the 
-  <dfn>file format</dfn>. Common formats are 
-  avi, mov, ogg, mkv, mpeg, mpeg-ts, mp4, flv, or vob.
-</p>
-<p>
-  Each of the tracks by itself is encoded using a <abbr
-  title="Coder-Decoder"><dfn>Codec</dfn></abbr>. Common video codecs 
-  are h264, mpeg2, mpeg4, theora, mjpeg, wmv3. Common audio codecs are
-  mp2, mp3, dts, aac, wav/pcm.
-</p>
-<p>
-  Not all codecs can be packed into a given format. For example the 
-  mpeg format is limited to mpeg2, mpeg4 and mp3 codecs (not entirely true). 
-  DVDs do have stringent limitations as well. The opposite would be .avi; 
-  pretty much every audio/video codec combination can be contained in an avi 
-  file-format.
-</p>
-<p>
-  To make things worse, naming conventions for video codecs and formats are 
-  often identical (especially MPEG ones) which leads to confusion.
-  All in all it is a very wide and deep field. Suffice there are different 
-  uses for different codecs and formats.
-</p>
-
-<h2>Ardour specific issues</h2>
-<p>
-  Ardour supports a wide variety of video file formats codecs. More 
-  specifically, Ardour itself actually does not support any video at all 
-  but delegates handling of video files to <a
-  href="http://ffmpeg.org/">ffmpeg</a>, which supports over 350 different 
-  video codecs and more than 250 file formats.
-</p>
-<p>
-  When importing a video into Ardour, it will be <dfn>transcoded</dfn> 
-  (changed from one format and codec to another) to avi/mjpeg for internal 
-  use (this allows reliable seeking to frames at low CPU cost &mdash; the 
-  file size will increase, but hard disks are large and fast).
-</p>
-<p>
-  The export dialog includes presets for common format and codec 
-  combinations (such as DVD, web-video,..). If in doubt use one of the 
-  presets.
-</p>
-<p>
-  As last note: every time a video is transcoded, the quality can only get 
-  worse. Hence for the final mastering/<abbr 
-  title="Multiplexing Audio and Video">muxing</abbr> process, one should 
-  always to back and use the original source of the video.
-</p>
diff --git a/_manual/26_video-timeline/03_operations.html b/_manual/26_video-timeline/03_operations.html
deleted file mode 100644 (file)
index adb5ded..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
----
-layout: default
-title: Workflow &amp; Operations
----
-
-<h2>Overview of Operations</h2>
-
-<dl class="wide-table">
-  <dt><kbd class="menu">Session &gt; Open Video</kbd></dt>
-  <dd>Add/replace a video to/on the timeline</dd>
-  <dt><kbd class="menu">Window &gt; View Monitor</kbd></dt>
-  <dd>Open/close external video monitor window</dd>
-  <dt><kbd class="menu">View &gt; Video Monitor &gt; â€¦</kbd></dt>
-  <dd>Various settings of the video monitor</dd>
-  <dt><kbd class="menu">Session &gt; Export &gt; Video</kbd></dt>
-  <dd>Export session and multiplex with video-file</dd>
-  <dt><kbd class="mouse">Left</kbd>-drag the video in the timeline</dt>
-  <dd>Re-align video and move 'locked' audio-regions along</dd>
-  <dt>Context-menu on the video-timeline: <kbd class="menu"> &#039;lock&#039;</kbd></dt>
-  <dd>Prevent accidental drags</dd>
-  <dt>Audio region context menu: <kbd class="menu">Position &gt; Lock to video</kbd></dt>
-  <dd>Mark audio region(s) to be moved along with the video.</dd>
-</dl>
-
-
-<h2>Adding Video</h2>
-<p>
-  Adding video is a two-step process: select a video file, and choose 
-  import mode and optionally select an audio track to extract.
-</p>
-<p>
-  The first step is rather straight-forward. The panel on the right side 
-  allows to seek through the video and displays basic file information. 
-  It is also useful to check if the video format/codec is supported:
-</p>
-<img src="/images/a3_video_open.png" alt="video-open-dialog" width="300" />
-<p>
-  The second step analyzes the video file in more detail and offers import options:
-</p>
-<dl>
-  <dt><kbd class="menu">Import/Transcode to Session</kbd></dt>
-  <dd>This is the default. The video will be imported in a suitable
-  video format/codec for the timeline and video monitor and saved inside the
-  session folder.  A location other than the session folder can also be
-  chosen (external disk, or network storage of the video server on a different
-  machine).</dd>
-  <dt><kbd class="menu">Reference from Current Location</kbd></dt>
-  <dd>Only useful for opening files that were previously encoded (are already 
-  in a good format/codec). Use with care.</dd>
-  <dt><kbd class="menu">Do not Import Video</kbd></dt>
-  <dd>Useful for extracting audio only.</dd>
-</dl>
-
-<img src="/images/a3_video_import.png" alt="Video Import Dialog" width="300" />
-
-<p>
-  By default the video is imported using the original width/height.
-  If it is a large video (e.g. full-HD) it makes sense to scale it down
-  to decrease the CPU load and disk I/O required to decode and play the
-  file.<br />
-  A small, low-quality representation of the image is usually sufficient 
-  for editing soundtracks. The default bitrate in kbit/sec is set to use 
-  0.7 bits per pixel. (Compare: the average DVD medium uses 5000&nbsp;kbit/s; 
-  at PAL resolution this is about 0.5 bits per pixel. But the DVD is 
-  using the <dfn>mpeg2</dfn> &mdash; a denser compression algorithm than the 
-  <dfn>mjpeg</dfn> codec used by Ardour.)
-</p>
-
-<h2>Working with A/V</h2>
-<p>
-  Well now,..
-</p>
-<img src="/images/a3_videotimeline.png" alt="Video Timeline" width="600" />
-
-<h2 id="export">Exporting Video</h2>
-<p>
-  The video export will take audio from the current Ardour session and 
-  multiplex it with a video file. The soundtrack of the video is taken from 
-  an audio export of Ardour's master bus.
-</p>
-<p>
-  An arbitrary video file can be chosen. For high quality exports, the 
-  original file (before it was imported into the timeline) should be used. 
-  This is the default behaviour if that file can be found. If not, Ardour 
-  will fall back to the imported proxy-video which is currently in use 
-  on the timeline.  Any existing audio tracks on this video file are stripped.
-</p>
-<p>
-  The range selection allows to cut or extend the video. If the session is 
-  longer than the video duration, black frames are prefixed or appended to 
-  the video. (Note: this process may fail with non-standard pixel aspect 
-  ratios). If Ardour's session range is shorter, the video will be cut accordingly.
-</p>
-
-<p>
-  Audio samplerate and normalization are options for Ardour's audio exporter. 
-  The remaining settings are options that are directly passed on to ffmpeg.
-</p>
-
-<p>
-  The file format is determined by the extension that you choose for it
-  (.avi, .mov, .flv, .ogv, .webm,...)
-  Note: not all combinations of format, codec, and settings produce files 
-  which are according to specifications. For example, flv files require 
-  sample rates of 22.1&nbsp;kHz or 44.1&nbsp;kHz, mpeg containers can not 
-  be used with ac3 audio-codec, etc. If in doubt, use one of the built-in 
-  presets.
-</p>
-
-<img src="/images/a3_video_export.png" alt="Video Export Dialog" width="300" />
-
-<p>
-  Ardour video export is not recommended for mastering! While ffmpeg 
-  (which is used by Ardour) can produce high-quality files, this export 
-  lacks the possibility to tweak many settings. We recommend to use winff, 
-  devede or dvdauthor to mux &amp; master. Nevertheless this video-export c
-  omes in handy to do quick snapshots, intermediates, dailies or online videos.
-</p>
diff --git a/_manual/27_lua-scripting.html b/_manual/27_lua-scripting.html
deleted file mode 100644 (file)
index 649db7e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
-title: Lua Scripting
----                        
-
-<p>
-Starting with version 4.7.213, Ardour supports Lua scripts.
-</p>
-
-<p class="warning">
-Lua Integration is Work in Progress and far from complete.
-</p>
-
-{% children %}
diff --git a/_manual/27_lua-scripting/01_brain_dump.html b/_manual/27_lua-scripting/01_brain_dump.html
deleted file mode 100644 (file)
index 529b70f..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
----
-layout: default
-title: Scripting Documentation
----
-
-<p class="warning">
-This Documentation is Work in Progress and far from complete. Also the documented API may be subject to change.
-</p>
-
-<h2>Preface</h2>
-<p>
-There are cases that a Ardour cannot reasonably cater for with core functionality by itself, either because they're session specific or user specific edge cases.
-</p><p>
-Examples for these include voice-activate (record-arm specific tracks and roll transport depending on signal levels),
-rename all regions after a specific timecode, launch an external application when a certain track is soloed, generate automation curves
-or simply provide a quick shortcut for a custom batch operation.
-</p><p>
-Cases like this call for means to extend the DAW without actually changing the DAW itself. This is where scripting comes in.
-</p><p>
-"Scripting" refers to tasks that could alternatively be executed step-by-step by a human operator.
-</p><p>
-Lua is a tiny and simple language which is easy to learn, yet allows for comprehensive solutions.
-Lua is also a glue language it allows to tie existing component in Ardour together in unprecedented ways,
-and most importantly Lua is one of the few scripting-languages which can be safely used in a real-time environment.
-</p><p>
-A good introduction to Lua is the book <a href="http://www.lua.org/pil/">Programming in Lua</a>. The first edition is available online,
-but if you have the means buy a copy of the book, it not only helps to support the Lua project,
-but provides for a much nicer reading and learning experience.
-</p>
-
-<h2>Overview</h2>
-<p>
-The core of ardour is a real-time audio engine that runs and processes audio. One interfaces with than engine by sending it commands.
-Scripting can be used to interact with or modify active Ardour session. Just like a user uses the Editor/Mixer GUI to modify the state or parameters of the session.
-</p><p>
-Doing this programmatically requires some knowledge about the objects used internally.
-Most Ardour C++ objects and their methods are directly exposed to Lua and one can call functions or modify variables:
-</p>
-
-<div style="width:80%; margin:.5em auto;">
-       <div style="width:45%; float:left;">
-               C++<br/>
-               <code class="cxx">
-                       session-&gt;set_transport_speed (1.0);
-               </code>
-       </div>
-       <div style="width:45%; float:right;">
-               Lua<br/>
-               <code class="lua">
-                       Session:set_transport_speed (1.0)
-               </code>
-       </div>
-</div>
-<div style="clear:both;"></div>
-
-<p>
-You may notice that there is only a small syntactic difference, in this case.
-While C++ requires recompiling the application for every change, Lua script can be loaded, written or modified while the application is running.
-Lua also abstracts away many of the C++ complexities such as object lifetime, type conversion and null-pointer checks.
-</p><p>
-Close ties with the underlying C++ components is where the power of scripting comes from.
-A script can orchestrate interaction of lower-level components which take the bulk of the CPU time of the final program.
-</p>
-</p><p>
-At the time of writing Ardour integrates Lua 5.3.2: <a href="http://www.lua.org/manual/5.3/manual.html">Lua 5.3 reference manual</a>.
-</p>
-
-<h2>Integration</h2>
-<p>
-Like Control surfaces and the GUI, Lua Scripts are confined to certain aspects of the program. Ardour provides the framework and runs Lua (not the other way around).
-</p>
-<p>
-In Ardour's case Lua is available:
-</p>
-
-<dl>
-       <dt>Editor Action Scripts</dt><dd>User initiated actions (menu, shortcuts) for batch processing</dd>
-       <dt>Editor Hooks/Callbacks</dt><dd>Event triggered actions for the Editor/Mixer GUI</dd>
-       <dt>Session Scripts</dt><dd>Scripts called at the start of every audio cycle (session, real-time)</dd>
-       <dt>DSP Scripts</dt><dd>Audio/Midi processor - plugins with access to the Ardour session (per track/bus, real-time)</dd>
-       <dt>Script Console</dt><dd>Action Script commandline</dd>
-</dl>
-
-<p>
-There are is also a special mode:
-</p>
-<dl>
-       <dt>Commandline Tool</dt><dd>Replaces the complete Editor GUI, direct access to libardour (no GUI) from the commandline.<br/>
-       <em>Be aware that the vast majority of complex functionality is provided by the Editor UI.</em></dd>
-</dl>
-
-<h2>Managing Scripts</h2>
-
-<p>
-Ardour searches for Lua scripts in the <code>scripts</code> folder in <code>$ARDOUR_DATA_PATH</code>,
-Apart from scripts included directly with Ardour, this includes</p>
-<table>
-       <tr><th>GNU/Linux</th><td><code>$HOME/.config/ardour5/scripts</code></td></tr>
-       <tr><th>Mac OS X</th><td><code>$HOME/Library/Preferences/Ardour5/scripts</code></td></tr>
-       <tr><th>Windows</th><td><code>%localappdata%\ardour5\scripts</code></td></tr>
-</table>
-
-<p>Files must end with <code>.lua</code> file extension.</p>
-
-<p>Scripts are managed via the GUI</p>
-<dl>
-       <dt>Editor Action Scripts</dt><dd>Menu &rarr; Edit &rarr; Scripted Actions &rarr; Manage</dd>
-       <dt>Editor Hooks/Callbacks</dt><dd>Menu &rarr; Edit &rarr; Scripted Actions &rarr; Manage</dd>
-       <dt>Session Scripts</dt><dd>Menu &rarr; Session &rarr; Scripting &rarr; Add/Remove Script</dd>
-       <dt>DSP Scripts</dt><dd>Mixer-strip &rarr; context menu (right click) &rarr; New Lua Proc</dd>
-       <dt>Script Console</dt><dd>Menu &rarr; Window &rarr; Scripting</dd>
-</dl>
-
-<h2>Script Layout</h2>
-<ul>
-       <li>Every script must include an <code>ardour</code> descriptor table. Required fields are "Name" and "Type".</li>
-       <li>A script must provide a <em>Factory method</em>: A function with optional instantiation parameters which returns the actual script.</li>
-       <li>[optional]: list of parameters for the "factory".</li>
-       <li>in case of DSP scripts, an optional list of automatable parameters and possible audio/midi port configurations, and a <code>dsp_run</code> function, more on that later.</li>
-</ul>
-
-
-<p>A minimal example script looks like:</p>
-<div>
-<pre><code class="lua">
-       ardour {
-         ["type"]    = "EditorAction",
-         name        = "Rewind",
-       }
-
-       function factory (unused_params)
-         return function ()
-          Session:goto_start()  -- rewind the transport
-         end
-       end
-</code></pre>
-</div>
-
-<p>
-The common part for all scripts is the "Descriptor". It's a Lua function which returns a table (key/values) with the following keys (the keys are case-sensitive):
-</p>
-<dl>
-       <dt>type [required]</dt><dd>one of "<code>DSP</code>", "<code>Session</code>", "<code>EditorHook</code>", "<code>EditorAction</code>" (the type is not case-sensitive)</dd>
-       <dt>name [required]</dt><dd>Name/Title of the script</dd>
-       <dt>author</dt><dd>Your Name</dd>
-       <dt>license</dt><dd>The license of the script (e.g. "GPL" or "MIT")</dd>
-       <dt>description</dt><dd>A longer text explaining to the user what the script does</dd>
-</dl>
-
-<p class="note">
-Scripts that come with Ardour (currently mostly examples) can be found in the <a href="https://github.com/Ardour/ardour/tree/master/scripts">Source Tree</a>.
-</p>
-
-<h3>Action Scripts</h3>
-<p>Action scripts are the simplest form. An anonymous Lua function is called whenever the action is triggered. A simple action script is shown above.</p>
-<p>There are 10 action script slots available, each of which is a standard GUI action available from the menu and hence can be bound to a keyboard shortcut</p>
-
-<h3>Session Scripts</h3>
-<p>Session scripts similar to Actions Scripts, except the anonymous function is called periodically every process cycle.
-The function receives a single parameter - the number of audio samples which are processed in the given cycle</p>
-<div>
-<pre><code class="lua">
-ardour {
-  ["type"]    = "session",
-  name        = "Example Session Script",
-  description = [[
-  An Example Ardour Session Script.
-  This example stops the transport after rolling for a specific time.]]
-}
-
-
--- instantiation options, these are passed to the "factory" method below
-function sess_params ()
-  return
-  {
-    ["print"]  = { title = "Debug Print (yes/no)", default = "no", optional = true },
-    ["time"] = { title = "Timeout (sec)", default = "90", optional = false },
-  }
-end
-
-function factory (params)
-  return function (n_samples)
-    local p = params["print"] or "no"
-    local timeout = params["time"] or 90
-    a = a or 0
-    if p ~= "no" then print (a, n_samples, Session:frame_rate (), Session:transport_rolling ()) end -- debug output (not rt safe)
-    if (not Session:transport_rolling()) then
-      a = 0
-      return
-    end
-    a = a + n_samples
-    if (a &gt; timeout * Session:frame_rate()) then
-      Session:request_transport_speed(0.0, true)
-    end
-  end
-end
-</code></pre>
-</div>
-
-<h3>Action Hooks</h3>
-<p>Action hook scripts must define an additional function which returns a <em>Set</em> of Signal that which trigger the callback (documenting available slots and their parameters remains to be done).</p>
-<div>
-<pre><code class="lua">
-ardour {
-  ["type"]    = "EditorHook",
-  name        = "Hook Example",
-  description = "Rewind On Solo Change, Write a file when regions are moved.",
-}
-
-function signals ()
-  s = LuaSignal.Set()
-  s:add (
-    {
-      [LuaSignal.SoloActive] = true,
-      [LuaSignal.RegionPropertyChanged] = true
-    }
-  )
-  return s
-end
-
-function factory (params)
-  return function (signal, ref, ...)
-    -- print (signal, ref, ...)
-
-    if (signal == LuaSignal.SoloActive) then
-      Session:goto_start()
-    end
-
-    if (signal == LuaSignal.RegionPropertyChanged) then
-      obj,pch = ...
-      file = io.open ("/tmp/test" ,"a")
-      io.output (file
-      io.write (string.format ("Region: '%s' pos-changed: %s, length-changed: %s\n",
-        obj:name (),
-        tostring (pch:containsFramePos (ARDOUR.Properties.Start)),
-        tostring (pch:containsFramePos (ARDOUR.Properties.Length))
-        ))
-      io.close (file)
-    end
-  end
-end
-</code></pre>
-</div>
-
-<h3>DSP Scripts</h3>
-<p>See the scripts folder for examples for now.</p>
-<p>Some notes for further doc:</p>
-<ul>
-       <li>required function: <code>dsp_ioconfig ()</code>: return a list of possible audio I/O configurations - follows Audio Unit conventions.</li>
-       <li>optional function: <code>dsp_dsp_midi_input ()</code>: return true if the plugin can receive midi input</li>
-       <li>optional function: <code>dsp_params ()</code>: return a table of possible parameters (automatable)</li>
-       <li>optional function: <code>dsp_init (samplerate)</code>: called when instantiation the plugin with given samplerate.</li>
-       <li>optional function: <code>dsp_configure (in, out)</code>: called after instantiation with configured plugin i/o.</li>
-       <li>required function: <code>dsp_run (ins, outs, n_samples)</code> OR <code>dsp_runmap (bufs, in_map, out_map, n_samples, offset)</code>: DSP process callback. The former is a convenient abstraction that passes mapped buffers (as table). The latter is a direct pass-through matching Ardour's internal <code>::connect_and_run()</code> API, which requires the caller to map and offset raw buffers.</li>
-       <li>plugin parameters are handled via the global variable <code>CtrlPorts</code>.</li>
-       <li>midi data is passed via the global variable <code>mididata</code> which is valid during <code>dsp_run</code> only. (dsp_runmap requires the script to pass raw data from the buffers according to in_map)</li>
-       <li>The script has access to the current session via the global variable Session, but access to the session methods are limited to realtime safe functions</li>
-</ul>
-
-<h2>Accessing Ardour Objects</h2>
-<p>
-The top most object in Ardour is the <code>ARDOUR::Session</code>.
-Fundamentally, a Session is just a collection of other things:
-Routes (tracks, busses), Sources (Audio/Midi), Regions, Playlists, Locations, Tempo map, Undo/Redo history, Ports, Transport state &amp; controls, etc.
-</p><p>
-Every Lua interpreter can access it via the global variable <code>Session</code>.
-</p><p>
-GUI context interpreters also have an additional object in the global environment: The Ardour <code>Editor</code>. The Editor provides access to high level functionality which is otherwise triggered via GUI interaction such as undo/redo, open/close windows, select objects, drag/move regions. It also holds the current UI state: snap-mode, zoom-range, etc.
-The Editor also provides complex operations such as "import audio" which under the hood, creates a new Track, adds a new Source Objects (for every channel) with optional resampling, creates both playlist and regions and loads the region onto the Track all the while displaying a progress information to the user.
-</p>
-
-<p class="note">
-Documenting the bound C++ methods and class hierarchy is somewhere on the ToDo list.
-Meanwhile <a href="https://github.com/Ardour/ardour/blob/master/libs/ardour/luabindings.cc">luabindings.cc</a> is the best we can offer.
-</p>
-
-<h2>Concepts</h2>
-<ul>
-       <li>There are no bound constructors: Lua asks Ardour to create objects (e.g. add a new track), then receives a reference to the object to modify it.</li>
-       <li>Scripts, once loaded, are saved with the Session (no reference to external files). This provides for portable Sessions.</li>
-       <li>Lua Scripts are never executed directly. They provide a "factory" method which can have optional instantiation parameters, which returns a lua closure.</li>
-       <li>No external lua modules/libraries can be used, scripts need to be self contained (portable across different systems (libs written in Lua can be used, and important c-libs/functions can be included with ardour if needed).</li>
-</ul>
-<p>
-Ardour is a highly multithreaded application and interaction between the different threads, particularly real-time threads, needs to to be done with care.
-This part has been abstracted away by providing separate Lua interpreters in different contexts and restricting available interaction:
-</p>
-<ul>
-       <li>Editor Actions run in a single instance interpreter in the GUI thread.</li>
-       <li>Editor Hooks connect to libardour signals. Every Callback uses a dedicated lua interpreter which is in the GUI thread context.</li>
-       <li>All Session scripts run in a single instance in the main real-time thread (audio callback)</li>
-       <li>DSP scripts have a separate instance per script and run in one of the DSP threads.</li>
-</ul>
-<p>
-The available interfaces differ between contexts. e.g. it is not possible to create new tracks or import audio from real-time context; while it is not possible to modify audio buffers from the GUI thread.
-</p>
-
-<h2>Current State</h2>
-Fully functional, yet still in a prototyping stage:
-
-<ul>
-       <li>The GUI to add/configure scripts is rather minimalistic.</li>
-       <li>The interfaces may change (particularly DSP, and Session script <code>run()</code>.</li>
-       <li>Further planned work includes:
-               <ul>
-                       <li>Built-in Script editor (customize/modify Scripts in-place)</li>
-                       <li>convenience methods (wrap more complex Ardour actions into a library). e.g set plugin parameters, write automation lists from a lua table</li>
-                       <li>Add some useful scripts and more examples</li>
-                       <li>Documentation (Ardour API), also usable for tab-exansion, syntax highlighting</li>
-                       <li>bindings for GUI Widgets (plugin UIs, message boxes, etc)</li>
-               </ul>
-               <li>
-</ul>
-
-
-<h2>Examples</h2>
-<p>Apart from the <a href="https://github.com/Ardour/ardour/tree/master/scripts">scripts included with the source-code</a> here are a few examples without further comments...
-
-<h3>Editor Console Examples</h3>
-<div>
-<pre><code class="lua">
-print (Session:route_by_remote_id(1):name())
-
-a = Session:route_by_remote_id(1);
-print (a:name());
-
-print(Session:get_tracks():size())
-
-for i, v in ipairs(Session:unknown_processors():table()) do print(v) end
-for i, v in ipairs(Session:get_tracks():table()) do print(v:name()) end
-
-for t in Session:get_tracks():iter() do print(t:name()) end
-for r in Session:get_routes():iter() do print(r:name()) end
-
-
-Session:tempo_map():add_tempo(ARDOUR.Tempo(100,4), Timecode.BBT_TIME(4,1,0))
-
-
-Editor:set_zoom_focus(Editing.ZoomFocusRight)
-print(Editing.ZoomFocusRight);
-Editor:set_zoom_focus(1)
-
-
-files = C.StringVector();
-files:push_back("/home/rgareus/data/coding/ltc-tools/smpte.wav")
-pos = -1
-Editor:do_import(files, Editing.ImportDistinctFiles, Editing.ImportAsTrack, ARDOUR.SrcQuality.SrcBest, pos, ARDOUR.PluginInfo())
-
-#or in one line:
-Editor:do_import(C.StringVector():add({"/path/to/file.wav"}), Editing.ImportDistinctFiles, Editing.ImportAsTrack, ARDOUR.SrcQuality.SrcBest, -1, ARDOUR.PluginInfo())
-
-# called when a new session is loaded:
-function new_session (name) print("NEW SESSION:", name) end
-
-
-# read/set/describe a plugin parameter
-route = Session:route_by_remote_id(1)
-processor = route:nth_plugin(0)
-plugininsert = processor:to_insert()
-
-plugin = plugininsert:plugin(0)
-print (plugin:label())
-print (plugin:parameter_count())
-
-x = ARDOUR.ParameterDescriptor ()
-_, t = plugin:get_parameter_descriptor(2, x) -- port #2
-paramdesc = t[2]
-print (paramdesc.lower)
-
-ctrl = Evoral.Parameter(ARDOUR.AutomationType.PluginAutomation, 0, 2)
-ac = plugininsert:automation_control(ctrl, false)
-print (ac:get_value ())
-ac:set_value(1.0, PBD.GroupControlDisposition.NoGroup)
-
-# the same using a convenience wrapper:
-route = Session:route_by_remote_id(1)
-proc = t:nth_plugin (i)
-ARDOUR.LuaAPI.set_processor_param (proc, 2, 1.0)
-
-</code></pre>
-</div>
-
-<h3>Commandline Session</h3>
-<p>The standalone tool <code>luasession</code> allows one to access an Ardour session directly from the commandline.
-Interaction is limited by the fact that most actions in Ardour are provided by the Editor GUI.
-</p><p>
-<code>luasession</code> provides only two special functions <code>load_session</code> and <code>close_session</code> and exposes the <code>AudioEngine</code> instance as global variable.
-</p>
-
-<div>
-<pre><code class="lua">
-for i,_ in AudioEngine:available_backends():iter() do print (i.name) end
-
-backend = AudioEngine:set_backend("ALSA", "", "")
-print (AudioEngine:current_backend_name())
-
-for i,_ in backend:enumerate_devices():iter() do print (i.name) end
-
-backend:set_input_device_name("HDA Intel PCH")
-backend:set_output_device_name("HDA Intel PCH")
-
-print (backend:buffer_size())
-print (AudioEngine:get_last_backend_error())
-
-s = load_session ("/home/rgareus/Documents/ArdourSessions/lua2/", "lua2")
-s:request_transport_speed (1.0)
-print (s:transport_rolling())
-s:goto_start()
-close_session()
-
-</code></pre>
-</div>
diff --git a/_manual/27_lua-scripting/02_class_reference.html b/_manual/27_lua-scripting/02_class_reference.html
deleted file mode 100644 (file)
index f21f6ae..0000000
+++ /dev/null
@@ -1,5424 +0,0 @@
----
-layout: default
-style: luadoc
-title: Class Reference
----
-
-<p class="warning">
-This documentation is far from complete may be inaccurate and subject to change.
-</p>
-
-
-<div id="luaref">
-
-
-<h2 id="h_intro">Overview</h2>
-<p>
-The top-level entry point are <a class="" href="#ARDOUR:Session">ARDOUR:Session</a> and <a class="" href="#ArdourUI:Editor">ArdourUI:Editor</a>.
-Most other Classes are used indirectly starting with a Session function. e.g. Session:get_routes().
-</p>
-<p>
-A few classes are dedicated to certain script types, e.g. Lua DSP processors have exclusive access to
-<a class="" href="#ARDOUR:DSP">ARDOUR.DSP</a> and <a class="" href="#ARDOUR:ChanMapping">ARDOUR:ChanMapping</a>. Action Hooks Scripts to
-<a class="" href="#LuaSignal:Set">LuaSignal:Set</a> etc.
-</p>
-<p>
-Detailed documentation (parameter names, method description) is not yet available. Please stay tuned.
-</p>
-<h3>Short introduction to Ardour classes</h3>
-<p>
-Ardour's structure is object oriented. The main object is the Session. A Session contains Audio Tracks, Midi Tracks and Busses.
-Audio and Midi tracks are derived from a more general "Track" Object,  which in turn is derived from a "Route" (aka Bus).
-(We say "An Audio Track <em>is-a</em> Track <em>is-a</em> Route").
-Tracks contain specifics. For Example a track <em>has-a</em> diskstream (for file i/o).
-</p>
-<p>
-Operations are performed on objects. One gets a reference to an object and then calls a method.
-e.g <code>obj = Session:route_by_name("Audio")   obj:set_name("Guitar")</code>.
-</p>
-<p>
-Lua automatically follows C++ class inheritance. e.g one can directly call all SessionObject and Route methods on Track object. However lua does not automatically promote objects. A Route object which just happens to be a Track needs to be explicily cast to a Track. Methods for casts are provided with each class. Note that the cast may fail and return a <em>nil</em> reference.
-</p>
-<p>
-Likewise multiple inheritance is a <a href="http://www.lua.org/pil/16.3.html">non-trivial issue</a> in lua. To avoid performance penalties involved with lookups, explicit casts are required in this case. One example is <a class="" href="#ARDOUR:SessionObject">ARDOUR:SessionObject</a> which is-a StatefulDestructible which inhertis from both Stateful and Destructible.
-</p>
-<p>
-Object lifetimes are managed by the Session. Most Objects cannot be directly created, but one asks the Session to create or destroy them. This is mainly due to realtime constrains:
-you cannot simply remove a track that is currently processing audio. There are various <em>factory</em> methods for object creation or removal.
-</p>
-<h3>Pass by Reference</h3>
-<p>
-Since lua functions are closures, C++ methods that pass arguments by reference cannot be used as-is.
-All parameters passed to a C++ method which uses references are returned as Lua Table.
-If the C++ method also returns a value it is prefixed. Two parameters are returned: the value and a Lua Table holding the parameters.
-</p>
-
-<div class="code">
-       <div style="float:left;">C++
-
-<pre><code class="cxx">void set_ref (int&amp; var, long&amp; val)
-{
-       printf ("%d %ld\n", var, val);
-       var = 5;
-       val = 7;
-}
-</code></pre>
-
-       </div>
-       <div style="float:right;">Lua
-
-<pre><code class="lua">local var = 0;
-ref = set_ref (var, 2);
--- output from C++ printf()
-</code><samp class="lua">0 2</samp><code>
--- var is still 0 here
-print (ref[1], ref[2])
-</code><samp class="lua">5 7</samp></pre>
-
-       </div>
-</div>
-<div class="clear"></div>
-<div class="code">
-       <div style="float:left;">
-
-<pre><code class="cxx">int set_ref2 (int &amp;var, std::string unused)
-{
-       var = 5;
-       return 3;
-}
-</code></pre>
-
-       </div>
-       <div style="float:right;">
-<pre><code class="lua">rv, ref = set_ref2 (0, "hello");
-print (rv, ref[1], ref[2])
-</code><samp class="lua">3 5 hello</samp></pre>
-       </div>
-</div>
-<div class="clear"></div>
-
-<h3>Pointer Classes</h3>
-<p>
-Libardour makes extensive use of reference counted <code>boost::shared_ptr</code> to manage lifetimes.
-The Lua bindings provide a complete abstration of this. There are no pointers in lua.
-For example a <a class="" href="#ARDOUR:Route">ARDOUR:Route</a> is a pointer in C++, but lua functions operate on it like it was a class instance.
-</p>
-<p>
-<code>shared_ptr</code> are reference counted. Once assigned to a lua variable, the C++ object will be kept and remains valid.
-It is good practice to assign references to lua <code>local</code> variables or reset the variable to <code>nil</code> to drop the ref.
-</p>
-<p>
-All pointer classes have a <code>isnil ()</code> method. This is for two cases:
-Construction may fail. e.g. <code><a class="" href="#ARDOUR:LuaAPI">ARDOUR.LuaAPI</a>.newplugin()</code>
-may not be able to find the given plugin and hence cannot create an object.
-</p>
-<p>
-The second case if for <code>boost::weak_ptr</code>. As opposed to <code>boost::shared_ptr</code> weak-pointers are not reference counted.
-The object may vanish at any time.
-If lua code calls a method on a nil object, the interpreter will raise an exception and the script will not continue.
-This is not unlike <code>a = nil a:test()</code> which results in en error "<em>attempt to index a nil value</em>".
-</p>
-<p>
-From the lua side of things there is no distinction between weak and shared pointers. They behave identically.
-Below they're inidicated in orange and have an arrow to indicate the pointer type.
-Pointer Classes cannot be created in lua scripts. It always requires a call to C++ to create the Object and obtain a reference to it.
-</p>
-
-
-<h2 id="h_classes">Class Documentation</h2>
-<h3 id="ARDOUR:Amp" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Amp</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Amp &gt;, boost::weak_ptr&lt; ARDOUR::Amp &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Processor">ARDOUR:Processor</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Applies a declick operation to all audio inputs, passing the same number of audio outputs, and passing through any other types unchanged.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Amp::*)()">gain_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Amp)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Amp">Amp</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Processor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">activate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Processor::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">deactivate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Processor::*)() const">display_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Amp (ARDOUR::Processor::*)()">to_amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Processor::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInsert">PluginInsert</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginInsert (ARDOUR::Processor::*)()">to_insert</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IOProcessor">IOProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::IOProcessor (ARDOUR::Processor::*)()">to_ioprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MonitorProcessor (ARDOUR::Processor::*)()">to_monitorprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_peakmeter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SideChain">SideChain</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SideChain (ARDOUR::Processor::*)()">to_sidechain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:UnknownProcessor">UnknownProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::UnknownProcessor (ARDOUR::Processor::*)()">to_unknownprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:AudioBackend" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AudioBackend</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AudioBackend &gt;, boost::weak_ptr&lt; ARDOUR::AudioBackend &gt;</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> AudioBackend is an high-level abstraction for interacting with the operating system&#39;s audio and midi I&#47;O.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::AudioBackend::*)() const">buffer_size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::AudioBackend::*)() const">device_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::AudioBackend::*)() const">driver_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> override this if this implementation returns true from requires_driver_selection()</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::AudioBackend::*)() const">dsp_load</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> return the fraction of the time represented by the current buffer size that is being used for each buffer process cycle, as a value from 0.0 to 1.0</p><p> E.g. if the buffer size represents 5msec and current processing takes 1msec, the returned value should be 0.2.</p><p> Implementations can feel free to smooth the values returned over time (e.g. high pass filtering, or its equivalent).</p></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DeviceStatusVector">DeviceStatusVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;ARDOUR::AudioBackend::DeviceStatus &gt; (ARDOUR::AudioBackend::*)() const">enumerate_devices</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Returns a collection of DeviceStatuses identifying devices discovered by this backend since the start of the process.</p><p> Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#C:StringVector">StringVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;std::string &gt; (ARDOUR::AudioBackend::*)() const">enumerate_drivers</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> If the return value of requires_driver_selection() is true, then this function can return the list of known driver names.</p><p> If the return value of requires_driver_selection() is false, then this function should not be called. If it is called its return value is an empty vector of strings.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DeviceStatusVector">DeviceStatusVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;ARDOUR::AudioBackend::DeviceStatus &gt; (ARDOUR::AudioBackend::*)() const">enumerate_input_devices</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Returns a collection of DeviceStatuses identifying input devices discovered by this backend since the start of the process.</p><p> Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DeviceStatusVector">DeviceStatusVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;ARDOUR::AudioBackend::DeviceStatus &gt; (ARDOUR::AudioBackend::*)() const">enumerate_output_devices</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Returns a collection of DeviceStatuses identifying output devices discovered by this backend since the start of the process.</p><p> Any of the names in each DeviceStatus may be used to identify a device in other calls to the backend, though any of them may become invalid at any time.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioBackendInfo">AudioBackendInfo</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioBackendInfo&amp; (ARDOUR::AudioBackend::*)() const">info</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Return the AudioBackendInfo object from which this backend    was constructed.</p></div></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::AudioBackend::*)() const">input_channels</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::AudioBackend::*)() const">input_device_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::AudioBackend::*)() const">output_channels</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::AudioBackend::*)() const">output_device_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::AudioBackend::*)() const">period_size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AudioBackend)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioBackend">AudioBackend</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::AudioBackend::*)() const">sample_rate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioBackend::*)(unsigned int)">set_buffer_size</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the buffer size to be used.</p><p> The device is assumed to use a double buffering scheme, so that one buffer&#39;s worth of data can be processed by hardware while software works on the other buffer. All known suitable audio APIs support this model (though ALSA allows for alternate numbers of buffers, and CoreAudio doesn&#39;t directly expose the concept).</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioBackend::*)(std::string const&amp;)">set_device_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the name of the device to be used</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioBackend::*)(std::string const&amp;)">set_driver</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Returns zero if the backend can successfully use </p><p> Should not be used unless the backend returns true from requires_driver_selection()</p><dl><dt class="param-name-index-invalid">name</dt><dd class="param-descr-index-invalid"> as the driver, non-zero otherwise.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioBackend::*)(std::string const&amp;)">set_input_device_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the name of the input device to be used if using separate input&#47;output devices.</p><p> use_separate_input_and_output_devices()</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioBackend::*)(std::string const&amp;)">set_output_device_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the name of the output device to be used if using separate input&#47;output devices.</p><p> use_separate_input_and_output_devices()</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioBackend::*)(unsigned int)">set_peridod_size</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the period size to be used. must be called before starting the backend.</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioBackend::*)(float)">set_sample_rate</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the sample rate to be used</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AudioBackend::*)() const">use_separate_input_and_output_devices</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> An optional alternate interface for backends to provide a facility to select separate input and output devices.</p><p> If a backend returns true then enumerate_input_devices() and enumerate_output_devices() will be used instead of enumerate_devices() to enumerate devices. Similarly set_input&#47;output_device_name() should be used to set devices instead of set_device_name().</p></div></td></tr>
- </table>
-<h3 id="ARDOUR:AudioBackendInfo" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:AudioBackendInfo</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::AudioBackendInfo</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">char*</span></td><td class="decl"><span class="functionname">name</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:AudioBuffer" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:AudioBuffer</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::AudioBuffer</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Buffer containing audio data. </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AudioBuffer::*)(float, long)">apply_gain</abbr></span><span class="functionargs"> (<span class="em">float</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AudioBuffer::*)(unsigned int, unsigned int&amp;) const">check_silence</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">unsigned int&amp;</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> check buffer for silence </p><dl><dt class="param-name-index-0">nframes</dt><dd class="param-descr-index-0">  number of frames to check </dd><dt class="param-name-index-1">n</dt><dd class="param-descr-index-1"> first non zero sample (if any) </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if all samples are zero</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#C:FloatArray">FloatArray</a></td><td class="decl"><span class="functionname"><abbr title="float* (ARDOUR::AudioBuffer::*)(long)">data</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AudioBuffer::*)(float const*, long, long, long)">read_from</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AudioBuffer)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioBuffer">AudioBuffer</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AudioBuffer::*)(long, long)">silence</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> silence buffer </p><dl><dt class="param-name-index-0">len</dt><dd class="param-descr-index-0"> number of samples to clear </dd><dt class="param-name-index-1">offset</dt><dd class="param-descr-index-1"> start offset</dd></dl></div></td></tr>
- </table>
-<h3 id="ARDOUR:AudioEngine" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:AudioEngine</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::AudioEngine</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:PortManager">ARDOUR:PortManager</a></p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:BackendVector">BackendVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;ARDOUR::AudioBackendInfo const* &gt; (ARDOUR::AudioEngine::*)() const">available_backends</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::AudioEngine::*)() const">current_backend_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::AudioEngine::*)() const">get_dsp_load</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::AudioEngine::*)() const">get_last_backend_error</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioBackend">AudioBackend</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AudioBackend&gt; (ARDOUR::AudioEngine::*)(std::string const&amp;, std::string const&amp;, std::string const&amp;)">set_backend</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">std::string</span>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioEngine::*)(unsigned int)">set_buffer_size</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioEngine::*)(std::string const&amp;)">set_device_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioEngine::*)(float)">set_sample_rate</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AudioEngine::*)() const">setup_required</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioEngine::*)(bool)">start</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::AudioEngine::*)(bool)">stop</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:PortManager</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, std::string const&amp;)">connect</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PortManager::*)(std::string const&amp;)">connected</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, std::string const&amp;)">disconnect</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(boost::shared_ptr&lt;ARDOUR::Port&gt;)">disconnect_port</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, ARDOUR::DataType, ARDOUR::PortFlags, std::vector&lt;std::string &gt;&amp;)">get_backend_ports</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#ARDOUR.PortFlags">PortFlags</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, std::vector&lt;std::string &gt;&amp;)">get_connections</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#C:StringVector">StringVector&amp;</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_inputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_outputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Port">Port</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Port&gt; (ARDOUR::PortManager::*)(std::string const&amp;)">get_port_by_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-invalid">name</dt><dd class="param-descr-index-invalid"> Full or short name of port  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Corresponding Port or 0.</p></div></div></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(ARDOUR::DataType, std::list&lt;boost::shared_ptr&lt;ARDOUR::Port&gt; &gt;&amp;)">get_ports</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#ARDOUR:PortList">PortList&amp;</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::PortManager::*)(std::string const&amp;) const">get_pretty_name_by_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PortManager::*)() const">n_physical_inputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PortManager::*)() const">n_physical_outputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PortManager::*)(std::string const&amp;)">physically_connected</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PortEngine">PortEngine</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PortEngine&amp; (ARDOUR::PortManager::*)()">port_engine</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PortManager::*)(std::string const&amp;) const">port_is_physical</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:AudioPlaylist" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AudioPlaylist</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AudioPlaylist &gt;, boost::weak_ptr&lt; ARDOUR::AudioPlaylist &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Playlist">ARDOUR:Playlist</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::AudioPlaylist::*)(float*, float*, float*, long, long, unsigned int)">read</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <a class="" href="#C:FloatArray">FloatArray</a>, <a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AudioPlaylist)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioPlaylist">AudioPlaylist</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Playlist</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, float, bool, int)">add_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">float</span>, <span class="em">bool</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; const&amp;)">combine</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:RegionList">RegionList</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Playlist::*)(long) const">count_regions_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Playlist">Playlist</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Playlist&gt; (ARDOUR::Playlist::*)(std::list&lt;ARDOUR::AudioRange &gt;&amp;, bool)">cut</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRangeList">AudioRangeList&amp;</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::DataType const&amp; (ARDOUR::Playlist::*)() const">data_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, long, float)">duplicate</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-2">gap</dt><dd class="param-descr-index-2"> from the beginning of the region to the next beginning </dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(ARDOUR::AudioRange&amp;, float)">duplicate_range</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRange">AudioRange&amp;</a>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, long, long)">duplicate_until</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-2">gap</dt><dd class="param-descr-index-2"> from the beginning of the region to the next beginning </dd><dt class="param-name-index-3">end</dt><dd class="param-descr-index-3"> the first frame that does _not_ contain a duplicated frame </dd></dl></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long, ARDOUR::RegionPoint, int)">find_next_region</abbr></span><span class="functionargs"> (<span class="em">long</span>, <a class="" href="#ARDOUR.RegionPoint">RegionPoint</a>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Playlist::*)(long, int)">find_next_region_boundary</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">lower_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">lower_region_to_bottom</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Playlist::*)() const">n_regions</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">raise_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">raise_region_to_top</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(PBD::ID const&amp;) const">region_by_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)()">region_list</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(long)">regions_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(long, long)">regions_touched</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> Range start.  </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> Range end.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  regions which have some part within this range.</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(Evoral::Range&lt;long&gt;)">regions_with_end_within</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Range">Range</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(Evoral::Range&lt;long&gt;)">regions_with_start_within</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Range">Range</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">remove_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(long)">split</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, int)">split_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long)">top_region_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long)">top_unmuted_region_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">uncombine</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioPlaylist">AudioPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioPlaylist (ARDOUR::Playlist::*)()">to_audioplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiPlaylist">MidiPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiPlaylist (ARDOUR::Playlist::*)()">to_midiplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:AudioPort" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AudioPort</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AudioPort &gt;, boost::weak_ptr&lt; ARDOUR::AudioPort &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Port">ARDOUR:Port</a></p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AudioPort)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioPort">AudioPort</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Port</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Port::*)(std::string const&amp;)">connect</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)() const">connected</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this port is connected to anything </p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)(std::string const&amp;) const">connected_to</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-0">o</dt><dd class="param-descr-index-0"> Port name </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this port is connected to o, otherwise false.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Port::*)(std::string const&amp;)">disconnect</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Port::*)()">disconnect_all</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Port::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Port short name </p></div></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Port::*)(bool) const">pretty_name</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Port human readable name </p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)() const">receives_input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this Port receives input, otherwise false </p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)() const">sends_output</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this Port sends output, otherwise false </p></div></div></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioPort">AudioPort</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioPort (ARDOUR::Port::*)()">to_audioport</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiPort">MidiPort</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiPort (ARDOUR::Port::*)()">to_midiport</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:AudioRange" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:AudioRange</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::AudioRange</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.AudioRange</span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AudioRange::*)(ARDOUR::AudioRange const&amp;) const">equal</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRange">AudioRange</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::AudioRange::*)() const">length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname">end</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">id</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname">start</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:AudioRangeList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:AudioRangeList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;ARDOUR::AudioRange &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.AudioRangeList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;ARDOUR::AudioRange &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;ARDOUR::AudioRange &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;ARDOUR::AudioRange &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:AudioRegion" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AudioRegion</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AudioRegion &gt;, boost::weak_ptr&lt; ARDOUR::AudioRegion &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Region">ARDOUR:Region</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioSource">AudioSource</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AudioSource&gt; (ARDOUR::AudioRegion::*)(unsigned int) const">audio_source</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AudioRegion)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRegion">AudioRegion</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::AudioRegion::*)() const">scale_amplitude</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AudioRegion::*)(float)">set_scale_amplitude</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Region</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">at_natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">automatic</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">can_move</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">captured</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">clear_sync_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)(long) const">covers</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">cut_end</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">cut_front</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::DataType const&amp; (ARDOUR::Region::*)() const">data_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">external</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">import</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">is_compound</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Region::*)() const">layer</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">lower</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">lower_to_bottom</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#C:StringVector">StringVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;std::string &gt; (ARDOUR::Region::*)()">master_source_names</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SourceList">SourceList</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;boost::shared_ptr&lt;ARDOUR::Source&gt; &gt; const&amp; (ARDOUR::Region::*)() const">master_sources</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">move_start</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">move_to_natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">muted</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Region::*)() const">n_channels</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">nudge_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">opaque</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> How the region parameters play together:</p><p> POSITION: first frame of the region along the timeline START:    first frame of the region within its source(s) LENGTH:   number of frames the region represents</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">position_locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Region::*)() const">quarter_note</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">raise</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">raise_to_top</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_hidden</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_initial_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A gui may need to create a region, then place it in an initial  position determined by the user.  When this takes place within one gui operation, we have to reset  _last_position to prevent an implied move.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">set_length</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_muted</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_opaque</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">set_position</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_position_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_start</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_sync_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the region&#39;s sync point.  </p><dl><dt class="param-name-index-0">absolute_pos</dt><dd class="param-descr-index-0"> Session time.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_video_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::Region::*)() const">shift</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Source">Source</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Source&gt; (ARDOUR::Region::*)(unsigned int) const">source</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">start</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::Region::*)() const">stretch</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">sync_marked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">long</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)(int&amp;) const">sync_offset</abbr></span><span class="functionargs"> (<span class="em">int&amp;</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">sync_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Sync position in session time </p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">trim_end</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">trim_front</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, long, int)">trim_to</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">video_locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">whole_file</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioRegion">AudioRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioRegion (ARDOUR::Region::*)()">to_audioregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiRegion">MidiRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiRegion (ARDOUR::Region::*)()">to_midiregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Readable">Readable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Readable (ARDOUR::Region::*)()">to_readable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:AudioSource" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AudioSource</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AudioSource &gt;, boost::weak_ptr&lt; ARDOUR::AudioSource &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Source">ARDOUR:Source</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::AudioSource::*)() const">captured_for</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)(long) const">length</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::AudioSource::*)() const">n_channels</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::AudioSource::*)() const">n_channels</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::AudioSource::*)(float*, long, long, int) const">read</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::AudioSource::*)() const">readable_length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::AudioSource::*)() const">readable_length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AudioSource)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioSource">AudioSource</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AudioSource)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioSource">AudioSource</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::AudioSource::*)() const">sample_rate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Readable">Readable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Readable (ARDOUR::AudioSource::*)()">to_readable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Source</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Source::*)()">ancestor_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">can_be_analysed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">destructive</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">has_been_analysed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)() const">natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)() const">timeline_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)() const">timestamp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Source::*)() const">use_count</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">used</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioSource">AudioSource</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioSource (ARDOUR::Source::*)()">to_audiosource</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiSource">MidiSource</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiSource (ARDOUR::Source::*)()">to_midisource</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:AudioTrack" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AudioTrack</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AudioTrack &gt;, boost::weak_ptr&lt; ARDOUR::AudioTrack &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Track">ARDOUR:Track</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A track is an route (bus) with a recordable diskstream and related objects relevant to tracking, playback and editing.</p><p> Specifically a track has regions and playlist objects.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AudioTrack)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioTrack">AudioTrack</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Track</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(ARDOUR::InterThreadInfo&amp;)">bounce</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> bounce track from session start to session end to new region</p><dl><dt class="param-name-index-0">itt</dt><dd class="param-descr-index-0"> asynchronous progress report and cancel </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(long, long, ARDOUR::InterThreadInfo&amp;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool)">bounce_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Bounce the given range to a new audio region. </p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start time (in samples) </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end time (in samples) </dd><dt class="param-name-index-2">itt</dt><dd class="param-descr-index-2"> asynchronous progress report and cancel </dd><dt class="param-name-index-3">endpoint</dt><dd class="param-descr-index-3"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-4">include_endpoint</dt><dd class="param-descr-index-4"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool) const">bounceable</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Test if the track can be bounced with the given settings. If sends&#47;inserts&#47;returns are present in the signal path or the given track has no audio outputs bouncing is not possible.</p><dl><dt class="param-name-index-0">endpoint</dt><dd class="param-descr-index-0"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-1">include_endpoint</dt><dd class="param-descr-index-1"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if the track can be bounced, or false otherwise.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)()">can_record</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Playlist">Playlist</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Playlist&gt; (ARDOUR::Track::*)()">playlist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)(std::string const&amp;)">set_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioTrack">AudioTrack</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioTrack (ARDOUR::Track::*)()">to_audio_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiTrack">MidiTrack</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiTrack (ARDOUR::Track::*)()">to_midi_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:Route</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, int, ARDOUR::Route::ProcessorStreams*, bool)">add_processor_by_index</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">int</span>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Add a processor to a route such that it ends up with a given index into the visible processors.  </p><dl><dt class="param-name-index-1">index</dt><dd class="param-descr-index-1"> Index to add the processor at, or -1 to add at the end of the list.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success, non-0 on failure.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">add_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Route::*)()">comment</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, unsigned int, ARDOUR::ChanCount, ARDOUR::ChanCount)">customize_plugin_insert</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">unsigned int</span>, <a class="" href="#ARDOUR:ChanCount">ChanCount</a>, <a class="" href="#ARDOUR:ChanCount">ChanCount</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> enable custom plugin-insert configuration </p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Processor to customize </dd><dt class="param-name-index-1">count</dt><dd class="param-descr-index-1"> number of plugin instances to use (if zero, reset to default) </dd><dt class="param-name-index-2">outs</dt><dd class="param-descr-index-2"> output port customization </dd><dt class="param-name-index-3">sinks</dt><dd class="param-descr-index-3"> input pins for variable-I&#47;O plugins </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if successful</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::Route::*)() const">input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Delivery">Delivery</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Delivery&gt; (ARDOUR::Route::*)() const">main_outs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> the signal processorat at end of the processing chain which produces output </p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">muted</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::Route::*)() const">n_inputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::Route::*)() const">n_outputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int) const">nth_plugin</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int)">nth_processor</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int) const">nth_send</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::Route::*)() const">output</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PannerShell">PannerShell</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PannerShell&gt; (ARDOUR::Route::*)() const">panner_shell</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PeakMeter&gt; (ARDOUR::Route::*)()">peak_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief">************************************************************* Pure interface begins here*************************************************************</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, ARDOUR::Route::ProcessorStreams*, bool)">remove_processor</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> remove plugin&#47;processor</p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> processor to remove </dd><dt class="param-name-index-1">err</dt><dd class="param-descr-index-1"> error report (index where removal vailed, channel-count why it failed) may be nil </dd><dt class="param-name-index-2">need_process_lock</dt><dd class="param-descr-index-2"> if locking is required (set to true, unless called from RT context with lock) </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">remove_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, ARDOUR::Route::ProcessorStreams*)">replace_processor</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> replace plugin&#47;processor with another</p><dl><dt class="param-name-index-0">old</dt><dd class="param-descr-index-0"> processor to remove </dd><dt class="param-name-index-1">sub</dt><dd class="param-descr-index-1"> processor to substitute the old one with </dd><dt class="param-name-index-2">err</dt><dd class="param-descr-index-2"> error report (index where removal vailed, channel-count why it failed) may be nil </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">reset_plugin_insert</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> reset plugin-insert configuration to default, disable customizations.</p><p> This is equivalent to calling </p><pre> customize_plugin_insert (proc, 0, unused)</pre><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Processor to reset </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if successful</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(bool, void*)">set_active</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(std::string, void*)">set_comment</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(ARDOUR::MeterPoint, bool)">set_meter_point</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.MeterPoint">MeterPoint</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(bool)">set_strict_io</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">soloed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">strict_io</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)() const">the_instrument</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief">          Return the first processor that accepts has at least one MIDI input     and at least one audio output. In the vast majority of cases, this      will be &quot;the instrument&quot;. This does not preclude other MIDI-&gt;audio         processors later in the processing chain, but that would be a           special case not covered by this utility function.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">trim</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Route::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Track">Track</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Track (ARDOUR::Route::*)()">to_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:Stripable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_makeup_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_mode_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">comp_mode_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_redux_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_speed_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">comp_speed_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_threshold_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Stripable::*)() const">eq_band_cnt</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">eq_band_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">eq_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_freq_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_gain_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">eq_hpf_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_q_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_shape_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Stripable::*)() const">gain_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_auditioner</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_master</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_monitor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_selected</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">master_send_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MonitorProcessor&gt; (ARDOUR::Stripable::*)() const">monitor_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MuteControl">MuteControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MuteControl&gt; (ARDOUR::Stripable::*)() const">mute_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_azimuth_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_elevation_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_frontback_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_lfe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_width_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PhaseControl">PhaseControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PhaseControl&gt; (ARDOUR::Stripable::*)() const">phase_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresentationInfo">PresentationInfo</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PresentationInfo* (ARDOUR::Stripable::*)()">presentation_info_ptr</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">rec_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">rec_safe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">send_enable_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">send_level_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">send_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Stripable::*)(unsigned int, bool)">set_presentation_order</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloControl">SoloControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloControl&gt; (ARDOUR::Stripable::*)() const">solo_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloIsolateControl">SoloIsolateControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloIsolateControl&gt; (ARDOUR::Stripable::*)() const">solo_isolate_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloSafeControl">SoloSafeControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloSafeControl&gt; (ARDOUR::Stripable::*)() const">solo_safe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Stripable::*)() const">trim_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Route (ARDOUR::Stripable::*)()">to_route</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:AudioTrackList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:AudioTrackList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;boost::shared_ptr&lt;ARDOUR::AudioTrack&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.AudioTrackList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#ARDOUR:AudioTrack">AudioTrack</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;boost::shared_ptr&lt;ARDOUR::AudioTrack&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::AudioTrack&gt; &gt;::*)(boost::shared_ptr&lt;ARDOUR::AudioTrack&gt; const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioTrack">AudioTrack</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::AudioTrack&gt; &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;boost::shared_ptr&lt;ARDOUR::AudioTrack&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::AudioTrack&gt; &gt;::*)()">unique</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:Automatable" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Automatable</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Automatable &gt;, boost::weak_ptr&lt; ARDOUR::Automatable &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#Evoral:ControlSet">Evoral:ControlSet</a></p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Automatable::*)(Evoral::Parameter const&amp;, bool)">automation_control</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Parameter">Parameter</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Automatable)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Automatable">Automatable</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:AutomatableSequence" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AutomatableSequence</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AutomatableSequence&lt;Evoral::Beats&gt; &gt;, boost::weak_ptr&lt; ARDOUR::AutomatableSequence&lt;Evoral::Beats&gt; &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Automatable">ARDOUR:Automatable</a></p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AutomatableSequence&lt;Evoral::Beats&gt;)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomatableSequence">AutomatableSequence</a>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Sequence">Sequence</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Sequence&lt;Evoral::Beats&gt; (ARDOUR::AutomatableSequence&lt;Evoral::Beats&gt;::*)()">to_sequence</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Automatable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Automatable::*)(Evoral::Parameter const&amp;, bool)">automation_control</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Parameter">Parameter</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:AutomationControl" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AutomationControl</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AutomationControl &gt;, boost::weak_ptr&lt; ARDOUR::AutomationControl &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:Controllable">PBD:Controllable</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A PBD::Controllable with associated automation data (AutomationList)</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationList">AutomationList</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationList&gt; (ARDOUR::AutomationControl::*)() const">alist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoState">AutoState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoState (ARDOUR::AutomationControl::*)() const">automation_state</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoStyle">AutoStyle</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoStyle (ARDOUR::AutomationControl::*)() const">automation_style</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::AutomationControl::*)() const">get_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current effective `user&#39; value based on automation state </p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AutomationControl)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoState)">set_automation_state</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoState">AutoState</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoStyle)">set_automation_style</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoStyle">AutoStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double, PBD::Controllable::GroupControlDisposition)">set_value</abbr></span><span class="functionargs"> (<span class="em">double</span>, <a class="" href="#PBD.Controllable.GroupControlDisposition">GroupControlDisposition</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get and Set `internal&#39; value</p><p> All derived classes must implement this.</p><p> Basic derived classes will ignore </p><dl><dt class="param-name-index-invalid">group_override,</dt><dd class="param-descr-index-invalid"> but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double)">start_touch</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(bool, double)">stop_touch</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationControl::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Control">Control</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Control (ARDOUR::AutomationControl::*)()">to_ctrl</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:Controllable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::Controllable::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:AutomationList" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AutomationList</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AutomationList &gt;, boost::weak_ptr&lt; ARDOUR::AutomationList &gt;</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> AutomationList is a stateful wrapper around Evoral::ControlList. It includes session-specifics (such as automation state), control logic (e.g. touch, signals) and acts as proxy to the underlying ControlList which holds the actual data.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#PBD:XMLNode">XMLNode</a></td><td class="decl"><span class="functionname"><abbr title="XMLNode&amp; (ARDOUR::AutomationList::*)()">get_state</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Command">Command</a></td><td class="decl"><span class="functionname"><abbr title="Command* (ARDOUR::AutomationList::*)(XMLNode*, XMLNode*)">memento_command</abbr></span><span class="functionargs"> (<a class="" href="#PBD:XMLNode">XMLNode</a>, <a class="" href="#PBD:XMLNode">XMLNode</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AutomationList)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationList">AutomationList</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationList::*)() const">touch_enabled</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationList::*)() const">touching</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationList::*)() const">writing</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:ControlList">ControlList</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::ControlList (ARDOUR::AutomationList::*)()">list</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::AutomationList::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::AutomationList::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:BackendVector" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:BackendVector</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;ARDOUR::AudioBackendInfo const* &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.BackendVector</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<span>ARDOUR::AudioBackendInfo* </span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioBackendInfo">AudioBackendInfo</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioBackendInfo const*&amp; (std::vector&lt;ARDOUR::AudioBackendInfo const* &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;ARDOUR::AudioBackendInfo const* &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;ARDOUR::AudioBackendInfo const* &gt;::*)(ARDOUR::AudioBackendInfo const* const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioBackendInfo">AudioBackendInfo</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;ARDOUR::AudioBackendInfo const* &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:BufferSet" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:BufferSet</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::BufferSet</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A set of buffers of various types.</p><p> These are mainly accessed from Session and passed around as scratch buffers (eg as parameters to run() methods) to do in-place signal processing.</p><p> There are two types of counts associated with a BufferSet - available, and the &#39;use count&#39;.  Available is the actual number of allocated buffers (and so is the maximum acceptable value for the use counts).</p><p> The use counts are how things determine the form of their input and inform others the form of their output (eg what they did to the BufferSet). Setting the use counts is realtime safe.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount const&amp; (ARDOUR::BufferSet::*)() const">count</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioBuffer">AudioBuffer</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioBuffer&amp; (ARDOUR::BufferSet::*)(unsigned long)">get_audio</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiBuffer">MidiBuffer</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiBuffer&amp; (ARDOUR::BufferSet::*)(unsigned long)">get_midi</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::BufferSet)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:BufferSet">BufferSet</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:ChanCount" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:ChanCount</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::ChanCount</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A count of channels, possibly with many types.</p><p> Operators are defined so this may safely be used as if it were a simple (single-typed) integer count of channels.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.ChanCount</span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Convenience constructor for making single-typed streams (mono, stereo, midi, etc) </p><dl><dt class="param-name-index-0">type</dt><dd class="param-descr-index-0"> data type </dd><dt class="param-name-index-1">count</dt><dd class="param-descr-index-1"> number of channels</dd></dl></div></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::ChanCount::*)(ARDOUR::DataType) const">get</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> query channel count for given type </p><dl><dt class="param-name-index-invalid">type</dt><dd class="param-descr-index-invalid"> data type </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  channel count for given type</p></div></div></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::ChanCount::*)() const">n_audio</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> query number of audio channels </p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  number of audio channels</p></div></div></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::ChanCount::*)() const">n_midi</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> query number of midi channels </p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  number of midi channels</p></div></div></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::ChanCount::*)() const">n_total</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> query total channel count of all data types </p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  total channel count (audio + midi)</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::ChanCount::*)()">reset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> zero count of all data types </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::ChanCount::*)(ARDOUR::DataType, unsigned int)">set</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> set channel count for given type </p><dl><dt class="param-name-index-1">count</dt><dd class="param-descr-index-1"> number of channels</dd><dt class="param-name-index-invalid">type</dt><dd class="param-descr-index-invalid"> data type </dd></dl></div></td></tr>
- </table>
-<h3 id="ARDOUR:ChanMapping" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:ChanMapping</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::ChanMapping</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A mapping from one set of channels to another. The general form is  1 source (from), many sinks (to). numeric IDs are used to identify sources and sinks.</p><p> for plugins this is used to map &quot;plugin-pin&quot; to &quot;audio-buffer&quot;</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.ChanMapping</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::ChanMapping::*)() const">count</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::ChanMapping::*)(ARDOUR::DataType, unsigned int) const">get</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> get buffer mapping for given data type and pin </p><dl><dt class="param-name-index-1">from</dt><dd class="param-descr-index-1"> numeric source id </dd><dt class="param-name-index-invalid">type</dt><dd class="param-descr-index-invalid"> data type </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  mapped buffer number (or ChanMapping::Invalid)</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::ChanMapping::*)() const">is_monotonic</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Test if this mapping is monotonic (useful to see if inplace processing is feasible) </p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if the map is a strict monotonic set</p></div></div></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::ChanMapping::*)() const">n_total</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::ChanMapping::*)(ARDOUR::DataType, unsigned int, unsigned int)">set</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <span class="em">unsigned int</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> set buffer mapping for given data type </p><dl><dt class="param-name-index-1">from</dt><dd class="param-descr-index-1"> numeric source id </dd><dt class="param-name-index-2">to</dt><dd class="param-descr-index-2"> buffer</dd><dt class="param-name-index-invalid">type</dt><dd class="param-descr-index-invalid"> data type </dd></dl></div></td></tr>
- </table>
-<h3 id="ARDOUR:DSP" class="cls freeclass"><abbr title="Namespace">&Nopf;</abbr>&nbsp;ARDOUR.DSP</h3>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (*)(float)">accurate_coefficient_to_dB</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(float*, unsigned int, float)">apply_gain_to_buffer</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (*)(float const*, unsigned int, float)">compute_peak</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(float*, float const*, unsigned int)">copy_vector</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (*)(float)">dB_to_coefficient</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (*)(float)">fast_coefficient_to_dB</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(float const*, unsigned int, float*, float*)">find_peaks</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>, <a class="" href="#C:FloatArray">FloatArray</a>, <a class="" href="#C:FloatArray">FloatArray</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (*)(float)">log_meter</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> non-linear power-scale meter deflection</p><dl><dt class="param-name-index-0">power</dt><dd class="param-descr-index-0"> signal power (dB) </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  deflected value</p></div></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (*)(float)">log_meter_coeff</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> non-linear power-scale meter deflection</p><dl><dt class="param-name-index-0">coeff</dt><dd class="param-descr-index-0"> signal value </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  deflected value</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(float*, float, unsigned int)">memset</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">float</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> lua wrapper to memset() </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(float*, float const*, unsigned int)">mix_buffers_no_gain</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(float*, float const*, unsigned int, float)">mix_buffers_with_gain</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(float*, float*, unsigned int)">mmult</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> matrix multiply multiply every sample of `data&#39; with the corresponding sample at `mult&#39;.</p><dl><dt class="param-name-index-0">data</dt><dd class="param-descr-index-0"> multiplicand </dd><dt class="param-name-index-1">mult</dt><dd class="param-descr-index-1"> multiplicand </dd><dt class="param-name-index-2">n_samples</dt><dd class="param-descr-index-2"> number of samples in data and mmult</dd></dl></div></td></tr>
- <tr><td class="def"><em>LuaTable</em>(...)</td><td class="decl"><span class="functionname"><abbr title="void (*)(float const*, float&amp;, float&amp;, unsigned int)">peaks</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">float&amp;</span>, <span class="em">float&amp;</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::BufferSet*, ARDOUR::ChanMapping const&amp;, ARDOUR::ChanMapping const&amp;, unsigned int, long, ARDOUR::DataType const&amp;)">process_map</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:BufferSet">BufferSet</a>, <a class="" href="#ARDOUR:ChanMapping">ChanMapping</a>, <a class="" href="#ARDOUR:ChanMapping">ChanMapping</a>, <span class="em">unsigned int</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:DataType">DataType</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:DSP:Biquad" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:DSP:Biquad</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::DSP::Biquad</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Biquad Filter </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.DSP.Biquad</span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Instantiate Biquad Filter</p><dl><dt class="param-name-index-0">samplerate</dt><dd class="param-descr-index-0"> Samplerate</dd></dl></div></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::Biquad::*)(ARDOUR::DSP::Biquad::Type, double, double, double)">compute</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.DSP.Biquad.Type">Type</a>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> setup filter, compute coefficients</p><dl><dt class="param-name-index-0">type</dt><dd class="param-descr-index-0"> filter type (LowPass, HighPass, etc) </dd><dt class="param-name-index-1">freq</dt><dd class="param-descr-index-1"> filter frequency </dd><dt class="param-name-index-2">Q</dt><dd class="param-descr-index-2"> filter quality </dd><dt class="param-name-index-3">gain</dt><dd class="param-descr-index-3"> filter gain</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::Biquad::*)(double, double, double, double, double)">configure</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> setup filter, set coefficients directly </p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::DSP::Biquad::*)(float) const">dB_at_freq</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> filter transfer function (filter response for spectrum visualization) </p><dl><dt class="param-name-index-0">freq</dt><dd class="param-descr-index-0"> frequency </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  gain at given frequency in dB (clamped to -120..+120)</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::Biquad::*)()">reset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> reset filter state </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::Biquad::*)(float*, unsigned int)">run</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> process audio data</p><dl><dt class="param-name-index-0">data</dt><dd class="param-descr-index-0"> pointer to audio-data </dd><dt class="param-name-index-1">n_samples</dt><dd class="param-descr-index-1"> number of samples to process</dd></dl></div></td></tr>
- </table>
-<h3 id="ARDOUR:DSP:DspShm" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:DSP:DspShm</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::DSP::DspShm</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> C&#47;C++ Shared Memory</p><p> A convenience class representing a C array of float[] or int32_t[] data values. This is useful for lua scripts to perform DSP operations directly using C&#47;C++ with CPU Hardware acceleration.</p><p> Access to this memory area is always 4 byte aligned. The data is interpreted either as float or as int.</p><p> This memory area can also be shared between different instances or the same lua plugin (DSP, GUI).</p><p> Since memory allocation is not realtime safe it should be allocated during dsp_init() or dsp_configure(). The memory is free()ed automatically when the lua instance is destroyed.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.DSP.DspShm</span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::DspShm::*)(unsigned long)">allocate</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> [re] allocate memory in host&#39;s memory space</p><dl><dt class="param-name-index-0">s</dt><dd class="param-descr-index-0"> size, total number of float or integer elements to store.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::DSP::DspShm::*)(unsigned long)">atomic_get_int</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> atomically read integer at offset</p><p> This involves a memory barrier. This call is intended for buffers which are shared with another instance.</p><dl><dt class="param-name-index-0">off</dt><dd class="param-descr-index-0"> offset in shared memory region </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  value at offset</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::DspShm::*)(unsigned long, int)">atomic_set_int</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> atomically set integer at offset</p><p> This involves a memory barrier. This call is intended for buffers which are shared with another instance.</p><dl><dt class="param-name-index-0">off</dt><dd class="param-descr-index-0"> offset in shared memory region </dd><dt class="param-name-index-1">val</dt><dd class="param-descr-index-1"> value to set</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::DspShm::*)()">clear</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> clear memory (set to zero) </p></div></td></tr>
- <tr><td class="def"><a class="" href="#C:FloatArray">FloatArray</a></td><td class="decl"><span class="functionname"><abbr title="float* (ARDOUR::DSP::DspShm::*)(unsigned long)">to_float</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> access memory as float array</p><dl><dt class="param-name-index-0">off</dt><dd class="param-descr-index-0"> offset in shared memory region </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  float[]</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#C:IntArray">IntArray</a></td><td class="decl"><span class="functionname"><abbr title="int* (ARDOUR::DSP::DspShm::*)(unsigned long)">to_int</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> access memory as integer array</p><dl><dt class="param-name-index-0">off</dt><dd class="param-descr-index-0"> offset in shared memory region </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  int_32_t[]</p></div></div></td></tr>
- </table>
-<h3 id="ARDOUR:DSP:FFTSpectrum" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:DSP:FFTSpectrum</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::DSP::FFTSpectrum</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.DSP.FFTSpectrum</span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::FFTSpectrum::*)()">execute</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> process current data in buffer </p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::DSP::FFTSpectrum::*)(unsigned int) const">freq_at_bin</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::DSP::FFTSpectrum::*)(unsigned int, float) const">power_at_bin</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> query </p><dl><dt class="param-name-index-0">b</dt><dd class="param-descr-index-0"> the frequency bin 0 .. window_size &#47; 2 </dd><dt class="param-name-index-1">norm</dt><dd class="param-descr-index-1"> gain factor (set equal to  for 1&#47;f normalization) </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  signal power at given bin (in dBFS)</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::FFTSpectrum::*)(float const*, unsigned int, unsigned int)">set_data_hann</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:DSP:LowPass" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:DSP:LowPass</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::DSP::LowPass</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> 1st order Low Pass filter </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.DSP.LowPass</span><span class="functionargs"> (<span class="em">double</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> instantiate a LPF</p><dl><dt class="param-name-index-0">samplerate</dt><dd class="param-descr-index-0"> samplerate </dd><dt class="param-name-index-1">freq</dt><dd class="param-descr-index-1"> cut-off frequency</dd></dl></div></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::LowPass::*)(float*, float, unsigned int)">ctrl</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">float</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> filter control data</p><p> This is useful for parameter smoothing.</p><dl><dt class="param-name-index-0">data</dt><dd class="param-descr-index-0"> pointer to control-data array </dd><dt class="param-name-index-1">val</dt><dd class="param-descr-index-1"> target value </dd><dt class="param-name-index-invalid">array</dt><dd class="param-descr-index-invalid"> length</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::LowPass::*)(float*, unsigned int)">proc</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> process audio data</p><dl><dt class="param-name-index-0">data</dt><dd class="param-descr-index-0"> pointer to audio-data </dd><dt class="param-name-index-1">n_samples</dt><dd class="param-descr-index-1"> number of samples to process</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::LowPass::*)()">reset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> reset filter state </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::DSP::LowPass::*)(float)">set_cutoff</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> update filter cut-off frequency</p><dl><dt class="param-name-index-0">freq</dt><dd class="param-descr-index-0"> cut-off frequency</dd></dl></div></td></tr>
- </table>
-<h3 id="ARDOUR:DataType" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:DataType</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::DataType</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A type of Data Ardour is capable of processing.</p><p> The majority of this class is dedicated to conversion to and from various other type representations, simple comparison between then, etc.  This code is deliberately &#39;ugly&#39; so other code doesn&#39;t have to be.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.DataType</span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">audio</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> convenience constructor for DataType::AUDIO with managed lifetime </p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  DataType::AUDIO</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">midi</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> convenience constructor for DataType::MIDI with managed lifetime </p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  DataType::MIDI</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">null</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> convenience constructor for DataType::NIL with managed lifetime </p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  DataType::NIL</p></div></div></td></tr>
- <tr><td class="def"><span class="em">char*</span></td><td class="decl"><span class="functionname"><abbr title="char const* (ARDOUR::DataType::*)() const">to_string</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Inverse of the from-string constructor </p></div></td></tr>
- </table>
-<h3 id="ARDOUR:Delivery" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Delivery</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Delivery &gt;, boost::weak_ptr&lt; ARDOUR::Delivery &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:IOProcessor">ARDOUR:IOProcessor</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A mixer strip element (Processor) with 1 or 2 IO elements.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PannerShell">PannerShell</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PannerShell&gt; (ARDOUR::Route::*)() const">panner_shell</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Delivery)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Delivery">Delivery</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:IOProcessor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::IOProcessor::*)()">input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::IOProcessor::*)() const">natural_input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::IOProcessor::*)() const">natural_output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::IOProcessor::*)()">output</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:Processor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">activate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Processor::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">deactivate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Processor::*)() const">display_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Amp (ARDOUR::Processor::*)()">to_amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Processor::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInsert">PluginInsert</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginInsert (ARDOUR::Processor::*)()">to_insert</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IOProcessor">IOProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::IOProcessor (ARDOUR::Processor::*)()">to_ioprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MonitorProcessor (ARDOUR::Processor::*)()">to_monitorprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_peakmeter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SideChain">SideChain</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SideChain (ARDOUR::Processor::*)()">to_sidechain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:UnknownProcessor">UnknownProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::UnknownProcessor (ARDOUR::Processor::*)()">to_unknownprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:DeviceStatus" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:DeviceStatus</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::AudioBackend::DeviceStatus</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> used to list device names along with whether or not they are currently  available.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">available</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">name</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:DeviceStatusVector" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:DeviceStatusVector</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;ARDOUR::AudioBackend::DeviceStatus &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.DeviceStatusVector</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#ARDOUR:DeviceStatus">DeviceStatus</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DeviceStatus">DeviceStatus</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioBackend::DeviceStatus&amp; (std::vector&lt;ARDOUR::AudioBackend::DeviceStatus &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;ARDOUR::AudioBackend::DeviceStatus &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;ARDOUR::AudioBackend::DeviceStatus &gt;::*)(ARDOUR::AudioBackend::DeviceStatus const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DeviceStatus">DeviceStatus</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;ARDOUR::AudioBackend::DeviceStatus &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:FluidSynth" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:FluidSynth</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::FluidSynth</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.FluidSynth</span><span class="functionargs"> (<span class="em">float</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> instantiate a Synth</p><dl><dt class="param-name-index-0">samplerate</dt><dd class="param-descr-index-0"> samplerate</dd></dl></div></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::FluidSynth::*)(std::string const&amp;)">load_sf2</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::FluidSynth::*)(unsigned char const*, unsigned long)">midi_event</abbr></span><span class="functionargs"> (<span class="em">unsigned char*</span>, <span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::FluidSynth::*)()">panic</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::FluidSynth::*)() const">program_count</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::FluidSynth::*)(unsigned int) const">program_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::FluidSynth::*)(unsigned int, unsigned char)">select_program</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">unsigned char</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::FluidSynth::*)(float*, float*, unsigned int)">synth</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:GainControl" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:GainControl</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::GainControl &gt;, boost::weak_ptr&lt; ARDOUR::GainControl &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SlavableAutomationControl,">ARDOUR:SlavableAutomationControl,</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A PBD::Controllable with associated automation data (AutomationList)</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::GainControl)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:GainControl">GainControl</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SlavableAutomationControl,</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">add_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)()">clear_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::SlavableAutomationControl::*)() const">get_boolean_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::SlavableAutomationControl::*)() const">get_masters_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">remove_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)() const">slaved</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;) const">slaved_to</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:AutomationControl</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationList">AutomationList</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationList&gt; (ARDOUR::AutomationControl::*)() const">alist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoState">AutoState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoState (ARDOUR::AutomationControl::*)() const">automation_state</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoStyle">AutoStyle</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoStyle (ARDOUR::AutomationControl::*)() const">automation_style</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::AutomationControl::*)() const">get_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current effective `user&#39; value based on automation state </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoState)">set_automation_state</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoState">AutoState</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoStyle)">set_automation_style</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoStyle">AutoStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double, PBD::Controllable::GroupControlDisposition)">set_value</abbr></span><span class="functionargs"> (<span class="em">double</span>, <a class="" href="#PBD.Controllable.GroupControlDisposition">GroupControlDisposition</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get and Set `internal&#39; value</p><p> All derived classes must implement this.</p><p> Basic derived classes will ignore </p><dl><dt class="param-name-index-invalid">group_override,</dt><dd class="param-descr-index-invalid"> but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double)">start_touch</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(bool, double)">stop_touch</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationControl::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Control">Control</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Control (ARDOUR::AutomationControl::*)()">to_ctrl</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Controllable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::Controllable::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:IO" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:IO</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::IO &gt;, boost::weak_ptr&lt; ARDOUR::IO &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SessionObject">ARDOUR:SessionObject</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A collection of ports (all input or all output) with connections.</p><p> An IO can contain ports of varying types, making routes&#47;inserts&#47;etc with varied combinations of types (eg MIDI and audio) possible.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::IO::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::IO::*)(std::string, void*, ARDOUR::DataType)">add_port</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">void*</span>, <a class="" href="#ARDOUR:DataType">DataType</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Add a port.</p><dl><dt class="param-name-index-0">destination</dt><dd class="param-descr-index-0"> Name of port to connect new port to. </dd><dt class="param-name-index-1">src</dt><dd class="param-descr-index-1"> Source for emitted ConfigurationChanged signal. </dd><dt class="param-name-index-2">type</dt><dd class="param-descr-index-2"> Data type of port.  Default value (NIL) will use this IO&#39;s default type.</dd></dl></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioPort">AudioPort</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AudioPort&gt; (ARDOUR::IO::*)(unsigned int) const">audio</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::IO::*)(boost::shared_ptr&lt;ARDOUR::Port&gt;, std::string, void*)">connect</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>, <span class="em">std::string</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::IO::*)(boost::shared_ptr&lt;ARDOUR::Port&gt;, std::string, void*)">disconnect</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>, <span class="em">std::string</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::IO::*)(void*)">disconnect_all</abbr></span><span class="functionargs"> (<span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::IO::*)(boost::shared_ptr&lt;ARDOUR::Port&gt;) const">has_port</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiPort">MidiPort</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MidiPort&gt; (ARDOUR::IO::*)(unsigned int) const">midi</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount const&amp; (ARDOUR::IO::*)() const">n_ports</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Port">Port</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Port&gt; (ARDOUR::IO::*)(unsigned int) const">nth</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::IO::*)() const">physically_connected</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Port">Port</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Port&gt; (ARDOUR::IO::*)(unsigned int) const">port_by_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::IO::*)(boost::shared_ptr&lt;ARDOUR::Port&gt;, void*)">remove_port</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::IO)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:IO">IO</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:IOProcessor" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:IOProcessor</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::IOProcessor &gt;, boost::weak_ptr&lt; ARDOUR::IOProcessor &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Processor">ARDOUR:Processor</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A mixer strip element (Processor) with 1 or 2 IO elements.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::IOProcessor::*)()">input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::IOProcessor::*)() const">natural_input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::IOProcessor::*)() const">natural_output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::IOProcessor::*)()">output</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::IOProcessor)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:IOProcessor">IOProcessor</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Processor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">activate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Processor::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">deactivate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Processor::*)() const">display_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Amp (ARDOUR::Processor::*)()">to_amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Processor::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInsert">PluginInsert</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginInsert (ARDOUR::Processor::*)()">to_insert</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IOProcessor">IOProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::IOProcessor (ARDOUR::Processor::*)()">to_ioprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MonitorProcessor (ARDOUR::Processor::*)()">to_monitorprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_peakmeter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SideChain">SideChain</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SideChain (ARDOUR::Processor::*)()">to_sidechain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:UnknownProcessor">UnknownProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::UnknownProcessor (ARDOUR::Processor::*)()">to_unknownprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:InterThreadInfo" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:InterThreadInfo</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::InterThreadInfo</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.InterThreadInfo</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">done</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">progress</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:Location" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:Location</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::Location</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:StatefulDestructible">PBD:StatefulDestructible</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Location on Timeline - abstract representation for Markers, Loop&#47;Punch Ranges, CD-Markers etc. </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Location::*)() const">end</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.Location.Flags">Flags</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Location::Flags (ARDOUR::Location::*)() const">flags</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Location::*)() const">is_auto_loop</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Location::*)() const">is_auto_punch</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Location::*)() const">is_cd_marker</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Location::*)() const">is_hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Location::*)() const">is_mark</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Location::*)() const">is_range_marker</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Location::*)() const">is_session_range</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Location::*)() const">length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Location::*)()">lock</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Location::*)() const">locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Location::*)(ARDOUR::Location::Flags) const">matches</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.Location.Flags">Flags</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Location::*)(long)">move_to</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string const&amp; (ARDOUR::Location::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Location::*)(long, bool, bool)">set_end</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">bool</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set end position.  </p><dl><dt class="param-name-index-1">force</dt><dd class="param-descr-index-1"> true to force setting, even if the given new end is before the current start.  </dd><dt class="param-name-index-2">allow_bbt_recompute</dt><dd class="param-descr-index-2"> True to recompute BBT end time from the new given end time.</dd><dt class="param-name-index-invalid">s</dt><dd class="param-descr-index-invalid"> New end.  </dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Location::*)(long, long, bool)">set_length</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Location::*)(long, bool, bool)">set_start</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">bool</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set start position.  </p><dl><dt class="param-name-index-0">s</dt><dd class="param-descr-index-0"> New start.  </dd><dt class="param-name-index-1">force</dt><dd class="param-descr-index-1"> true to force setting, even if the given new start is after the current end.  </dd><dt class="param-name-index-2">allow_bbt_recompute</dt><dd class="param-descr-index-2"> True to recompute BBT start time from the new given start time.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Location::*)() const">start</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Location::*)()">unlock</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:Stateful</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:LocationList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:LocationList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;ARDOUR::Location* &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.LocationList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;ARDOUR::Location* &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;ARDOUR::Location* &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;ARDOUR::Location* &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:Locations" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:Locations</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::Locations</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:StatefulDestructible">PBD:StatefulDestructible</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A collection of session locations including unique dedicated locations (loop, punch, etc) </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Location">Location</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Location* (ARDOUR::Locations::*)() const">auto_loop_location</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Location">Location</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Location* (ARDOUR::Locations::*)() const">auto_punch_location</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(...)</td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Locations::*)(long, long, std::list&lt;ARDOUR::Location* &gt;&amp;, ARDOUR::Location::Flags)">find_all_between</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:LocationList">LocationList&amp;</a>, <a class="" href="#ARDOUR.Location.Flags">Flags</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Locations::*)(long, bool)">first_mark_after</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Location">Location</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Location* (ARDOUR::Locations::*)(long, long) const">first_mark_at</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Locations::*)(long, bool)">first_mark_before</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:LocationList">LocationList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;ARDOUR::Location* &gt; (ARDOUR::Locations::*)()">list</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(...)</td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Locations::*)(long, long&amp;, long&amp;) const">marks_either_side</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long&amp;</span>, <span class="em">long&amp;</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Look for the `marks&#39; (either locations which are marks, or start&#47;end points of range markers) either  side of a frame.  Note that if frame is exactly on a `mark&#39;, that mark will not be considered for returning  as before&#47;after.  </p><dl><dt class="param-name-index-0">frame</dt><dd class="param-descr-index-0"> Frame to look for.  </dd><dt class="param-name-index-1">before</dt><dd class="param-descr-index-1"> Filled in with the position of the last `mark&#39; before `frame&#39; (or max_framepos if none exists)  </dd><dt class="param-name-index-2">after</dt><dd class="param-descr-index-2"> Filled in with the position of the next `mark&#39; after `frame&#39; (or max_framepos if none exists)</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Locations::*)(ARDOUR::Location*)">remove</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Location">Location</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Location">Location</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Location* (ARDOUR::Locations::*)() const">session_range_location</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:Stateful</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:LuaAPI" class="cls freeclass"><abbr title="Namespace">&Nopf;</abbr>&nbsp;ARDOUR.LuaAPI</h3>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">...</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">build_filename</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Creates a filename from a series of elements using the correct separator for filenames.</p><p> No attempt is made to force the resulting filename to be an absolute path. If the first element is a relative path, the result will be a relative path.</p></div></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">float</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="float (*)(boost::shared_ptr&lt;ARDOUR::PluginInsert&gt;, unsigned int, bool&amp;)">get_plugin_insert_param</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PluginInsert">PluginInsert</a>, <span class="em">unsigned int</span>, <span class="em">bool&amp;</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> get a plugin control parameter value</p><dl><dt class="param-name-index-1">which</dt><dd class="param-descr-index-1"> control port to query (starting at 0, including ports of type input and output) </dd><dt class="param-name-index-2">ok</dt><dd class="param-descr-index-2"> boolean variable contains true or false after call returned. to be checked by caller before using value. </dd><dt class="param-name-index-invalid">proc</dt><dd class="param-descr-index-invalid"> Plugin-Insert </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  value</p></div></div></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">float</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="float (*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, unsigned int, bool&amp;)">get_processor_param</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">unsigned int</span>, <span class="em">bool&amp;</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> get a plugin control parameter value</p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Plugin-Processor </dd><dt class="param-name-index-1">which</dt><dd class="param-descr-index-1"> control port to set (starting at 0, including ports of type input and output)) </dd><dt class="param-name-index-2">ok</dt><dd class="param-descr-index-2"> boolean variable contains true or false after call returned. to be checked by caller before using value. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  value</p></div></div></td></tr>
- <tr><td class="def"><span class="em">...</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">hsla_to_rgba</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A convenience function for colorspace HSL to RGB conversion. All ranges are 0..1</p><p> Example: </p><pre> local r, g, b, a = ARDOUR.LuaAPI.hsla_to_rgba (hue, saturation, luminosity, alpha)</pre><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  4 parameters: red, green, blue, alpha (in range 0..1)</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (*)(ARDOUR::Session*, std::string const&amp;)">new_luaproc</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Session">Session</a>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> create a new Lua Processor (Plugin)</p><dl><dt class="param-name-index-0">s</dt><dd class="param-descr-index-0"> Session Handle </dd><dt class="param-name-index-1">p</dt><dd class="param-descr-index-1"> Identifier or Name of the Processor </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Processor object (may be nil)</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#Evoral:NotePtr">NotePtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;Evoral::Note&lt;Evoral::Beats&gt; &gt; (*)(unsigned char, Evoral::Beats, Evoral::Beats, unsigned char, unsigned char)">new_noteptr</abbr></span><span class="functionargs"> (<span class="em">unsigned char</span>, <a class="" href="#Evoral:Beats">Beats</a>, <a class="" href="#Evoral:Beats">Beats</a>, <span class="em">unsigned char</span>, <span class="em">unsigned char</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (*)(ARDOUR::Session*, std::string const&amp;, ARDOUR::PluginType, std::string const&amp;)">new_plugin</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Session">Session</a>, <span class="em">std::string</span>, <a class="" href="#ARDOUR.PluginType">PluginType</a>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> create a new Plugin Instance</p><dl><dt class="param-name-index-0">s</dt><dd class="param-descr-index-0"> Session Handle </dd><dt class="param-name-index-1">id</dt><dd class="param-descr-index-1"> Plugin Name, ID or URI </dd><dt class="param-name-index-2">type</dt><dd class="param-descr-index-2"> Plugin Type </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Processor or nil</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInfo">PluginInfo</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PluginInfo&gt; (*)(std::string const&amp;, ARDOUR::PluginType)">new_plugin_info</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#ARDOUR.PluginType">PluginType</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> search a Plugin</p><dl><dt class="param-name-index-0">id</dt><dd class="param-descr-index-0"> Plugin Name, ID or URI </dd><dt class="param-name-index-1">type</dt><dd class="param-descr-index-1"> Plugin Type </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  PluginInfo or nil if not found</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (*)()">nil_proc</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">...</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">plugin_automation</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A convenience function to get a Automation Lists and ParamaterDescriptor for a given plugin control.</p><p> This is equivalent to the following lua code </p><pre> function (processor, param_id)
-  local plugininsert = processor:to_insert ()
-  local plugin = plugininsert:plugin(0)
-  local _, t = plugin:get_parameter_descriptor(param_id, ARDOUR.ParameterDescriptor ())
-  local ctrl = Evoral.Parameter (ARDOUR.AutomationType.PluginAutomation, 0, param_id)
-  local ac = pi:automation_control (ctrl, false)
-  local acl = ac:alist()
-  return ac:alist(), ac:to_ctrl():list(), t[2]
- end</pre><p> Example usage: get the third input parameter of first plugin on the given route (Ardour starts counting at zero). </p><pre> local al, cl, pd = ARDOUR.LuaAPI.plugin_automation (route:nth_plugin (0), 3)</pre><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  3 parameters: AutomationList, ControlList, ParamaterDescriptor</p></div></div></td></tr>
- <tr><td class="def"><span class="em">...</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">sample_to_timecode</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Generic conversion from audio sample count to timecode. (TimecodeType, sample-rate, sample-pos)</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (*)(boost::shared_ptr&lt;ARDOUR::PluginInsert&gt;, unsigned int, float)">set_plugin_insert_param</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PluginInsert">PluginInsert</a>, <span class="em">unsigned int</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> set a plugin control-input parameter value</p><p> This is a wrapper around set_processor_param which looks up the Processor by plugin-insert.</p><dl><dt class="param-name-index-1">which</dt><dd class="param-descr-index-1"> control-input to set (starting at 0) </dd><dt class="param-name-index-invalid">proc</dt><dd class="param-descr-index-invalid"> Plugin-Insert </dd><dt class="param-name-index-invalid">value</dt><dd class="param-descr-index-invalid"> value to set </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true on success, false on error or out-of-bounds value</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, unsigned int, float)">set_processor_param</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">unsigned int</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> set a plugin control-input parameter value</p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Plugin-Processor </dd><dt class="param-name-index-1">which</dt><dd class="param-descr-index-1"> control-input to set (starting at 0) </dd><dt class="param-name-index-invalid">value</dt><dd class="param-descr-index-invalid"> value to set </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true on success, false on error or out-of-bounds value</p></div></div></td></tr>
- <tr><td class="def"><span class="em">...</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">timecode_to_sample</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Generic conversion from timecode to audio sample count. (TimecodeType, sample-rate, hh, mm, ss, ff)</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(unsigned long)">usleep</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:LuaAPI:Vamp" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:LuaAPI:Vamp</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::LuaAPI::Vamp</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.LuaAPI.Vamp</span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::LuaAPI::Vamp::*)(boost::shared_ptr&lt;ARDOUR::Readable&gt;, unsigned int, luabridge::LuaRef)">analyze</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Readable">Readable</a>, <span class="em">unsigned int</span>, <span>Lua-Function</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> high-level abstraction to process a single channel of the given Readable.</p><p> If the plugin is not yet initialized, initialize() is called.</p><p> if  is not nil, it is called with the immediate Vamp::Plugin::Features on every process call.</p><dl><dt class="param-name-index-0">r</dt><dd class="param-descr-index-0"> readable </dd><dt class="param-name-index-1">channel</dt><dd class="param-descr-index-1"> channel to process </dd><dt class="param-name-index-2">fn</dt><dd class="param-descr-index-2"> lua callback function </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::LuaAPI::Vamp::*)()">initialize</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> initialize the plugin for use with analyze().</p><p> This is equivalent to plugin():initialise (1, ssiz, bsiz) and prepares a plugin for analyze. (by preferred step and block sizes are used. if the plugin does not specify them or they&#39;re larger than 8K, both are set to 1024)</p><p> Manual initialization is only required to set plugin-parameters which depend on prior initialization of the plugin.</p><pre> vamp:reset ()
- vamp:initialize ()
- vamp:plugin():setParameter (0, 1.5, nil)
- vamp:analyze (r, 0)</pre></div></td></tr>
- <tr><td class="def"><a class="" href="#C:StringVector">StringVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;std::string &gt; (*)()">list_plugins</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Vamp:Plugin">Plugin</a></td><td class="decl"><span class="functionname"><abbr title="Vamp::Plugin* (ARDOUR::LuaAPI::Vamp::*)()">plugin</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Vamp:Plugin:FeatureSet">FeatureSet</a></td><td class="decl"><span class="functionname"><abbr title="std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt; (ARDOUR::LuaAPI::Vamp::*)(std::vector&lt;float* &gt; const&amp;, Vamp::RealTime)">process</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArrayVector">FloatArrayVector</a>, <a class="" href="#Vamp:RealTime">RealTime</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> process given array of audio-samples.</p><p> This is a lua-binding for vamp:plugin():process ()</p><dl><dt class="param-name-index-0">d</dt><dd class="param-descr-index-0"> audio-data, the vector must match the configured channel count    and hold a complete buffer for every channel as set during    plugin():initialise() </dd><dt class="param-name-index-1">rt</dt><dd class="param-descr-index-1"> timestamp matching the provided buffer. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  features extracted from that data (if the plugin is causal)</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::LuaAPI::Vamp::*)()">reset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> call plugin():reset() and clear intialization flag </p></div></td></tr>
- </table>
-<h3 id="ARDOUR:LuaOSC:Address" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:LuaOSC:Address</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::LuaOSC::Address</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> OSC transmitter</p><p> A Class to send OSC messages.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.LuaOSC.Address</span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Construct a new OSC transmitter object </p><dl><dt class="param-name-index-0">uri</dt><dd class="param-descr-index-0"> the destination uri e.g. &quot;osc.udp:&#47;&#47;localhost:7890&quot;</dd></dl></div></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>...</em></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::LuaOSC::Address::*)(lua_State*)">send</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Transmit an OSC message</p><p> Path (string) and type (string) must always be given. The number of following args must match the type. Supported types are:</p><p>  &#39;i&#39;: integer (lua number)</p><p>  &#39;f&#39;: float (lua number)</p><p>  &#39;d&#39;: double (lua number)</p><p>  &#39;h&#39;: 64bit integer (lua number)</p><p>  &#39;s&#39;: string (lua string)</p><p>  &#39;c&#39;: character (lua string)</p><p>  &#39;T&#39;: boolean (lua bool) -- this is not implicily True, a lua true&#47;false must be given</p><p>  &#39;F&#39;: boolean (lua bool) -- this is not implicily False, a lua true&#47;false must be given</p><dl><dt class="param-name-index-invalid">lua:</dt><dd class="param-descr-index-invalid"> lua arguments: path, types, ... </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  boolean true if successful, false on error.</p></div></div></td></tr>
- </table>
-<h3 id="ARDOUR:LuaProc" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:LuaProc</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::LuaProc &gt;, boost::weak_ptr&lt; ARDOUR::LuaProc &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Plugin">ARDOUR:Plugin</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A plugin is an external module (usually 3rd party provided) loaded into Ardour for the purpose of digital signal processing.</p><p> This class provides an abstraction for methords provided by all supported plugin standards such as presets, name, parameters etc.</p><p> Plugins are not used directly in Ardour but always wrapped by a PluginInsert.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::LuaProc)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:LuaProc">LuaProc</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DSP:DspShm">DspShm</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::DSP::DspShm* (ARDOUR::LuaProc::*)()">shmem</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:LuaTableRef">LuaTableRef</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::LuaTableRef* (ARDOUR::LuaProc::*)()">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Plugin</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Plugin:IOPortDescription">IOPortDescription</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Plugin::IOPortDescription (ARDOUR::Plugin::*)(ARDOUR::DataType, bool, unsigned int) const">describe_io_port</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <span class="em">bool</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Plugin::*)() const">get_docs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInfo">PluginInfo</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PluginInfo&gt; (ARDOUR::Plugin::*)() const">get_info</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Plugin::*)(unsigned int, ARDOUR::ParameterDescriptor&amp;) const">get_parameter_descriptor</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <a class="" href="#ARDOUR:ParameterDescriptor">ParameterDescriptor&amp;</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Plugin::*)(unsigned int) const">get_parameter_docs</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">char*</span></td><td class="decl"><span class="functionname"><abbr title="char const* (ARDOUR::Plugin::*)() const">label</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Plugin::*)(ARDOUR::Plugin::PresetRecord)">load_preset</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PresetRecord">PresetRecord</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set parameters using a preset </p></div></td></tr>
- <tr><td class="def"><span class="em">char*</span></td><td class="decl"><span class="functionname"><abbr title="char const* (ARDOUR::Plugin::*)() const">maker</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">char*</span></td><td class="decl"><span class="functionname"><abbr title="char const* (ARDOUR::Plugin::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">unsigned int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Plugin::*)(unsigned int, bool&amp;) const">nth_parameter</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool&amp;</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Plugin::*)() const">parameter_count</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Plugin::*)(unsigned int) const">parameter_is_input</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresetRecord">PresetRecord</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Plugin::PresetRecord const* (ARDOUR::Plugin::*)(std::string const&amp;)">preset_by_label</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresetRecord">PresetRecord</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Plugin::PresetRecord const* (ARDOUR::Plugin::*)(std::string const&amp;)">preset_by_uri</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Plugin::*)() const">unique_id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:LuaProc">LuaProc</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::LuaProc (ARDOUR::Plugin::*)()">to_luaproc</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:LuaTableRef" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:LuaTableRef</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::LuaTableRef</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>...</em></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::LuaTableRef::*)(lua_State*)">get</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>...</em></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::LuaTableRef::*)(lua_State*)">set</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:Meter" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:Meter</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::Meter</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Meter, or time signature (beats per bar, and which note type is a beat). </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.Meter</span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Meter::*)() const">divisions_per_bar</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Meter::*)(ARDOUR::Tempo const&amp;, long) const">frames_per_bar</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Tempo">Tempo</a>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Meter::*)(ARDOUR::Tempo const&amp;, long) const">frames_per_grid</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Tempo">Tempo</a>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Meter::*)() const">note_divisor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:MeterSection" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:MeterSection</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::MeterSection</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:MetricSection">ARDOUR:MetricSection</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A section of timeline with a certain Meter. </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MeterSection::*)(double)">set_beat</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MetricSection::*)(double)">set_pulse</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Meter">Meter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Meter (ARDOUR::MeterSection::*)()">to_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:MetricSection</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double const&amp; (ARDOUR::MetricSection::*)() const">pulse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:MetricSection" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:MetricSection</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::MetricSection</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A section of timeline with a certain Tempo or Meter. </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double const&amp; (ARDOUR::MetricSection::*)() const">pulse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MetricSection::*)(double)">set_pulse</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:MidiBuffer" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:MidiBuffer</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::MidiBuffer</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Buffer containing 8-bit unsigned char (MIDI) data. </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiBuffer::*)(ARDOUR::MidiBuffer const*)">copy</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiBuffer">MidiBuffer</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MidiBuffer::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MidiBuffer::*)(long, unsigned long, unsigned char const*)">push_back</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">unsigned long</span>, <span class="em">unsigned char*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MidiBuffer::*)(Evoral::Event&lt;long&gt; const&amp;)">push_event</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Event">Event</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiBuffer::*)(unsigned long)">resize</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Reallocate the buffer used internally to handle at least <em>size_t</em> units of data.</p><p> The buffer is not silent after this operation. the <em>capacity</em> argument passed to the constructor must have been non-zero.</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiBuffer)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiBuffer">MidiBuffer</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiBuffer::*)(long, long)">silence</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Clear (eg zero, or empty) buffer </p></div></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (ARDOUR::MidiBuffer::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>...</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:MidiModel" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiModel</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiModel &gt;, boost::weak_ptr&lt; ARDOUR::MidiModel &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:AutomatableSequence">ARDOUR:AutomatableSequence</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> This is a higher level (than MidiBuffer) model of MIDI data, with separate representations for notes (instead of just unassociated note on&#47;off events) and controller data.  Controller data is represented as part of the Automatable base (i.e. in a map of AutomationList, keyed by Parameter). Because of this MIDI controllers and automatable controllers&#47;widgets&#47;etc are easily interchangeable.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiModel::*)(ARDOUR::Session*, Command*)">apply_command</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Session">Session</a>, <a class="" href="#PBD:Command">Command</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiModel:NoteDiffCommand">NoteDiffCommand</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiModel::NoteDiffCommand* (ARDOUR::MidiModel::*)(std::string const&amp;)">new_note_diff_command</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Start a new NoteDiff command.</p><p> This has no side-effects on the model or Session, the returned command can be held on to for as long as the caller wishes, or discarded without formality, until apply_command is called and ownership is taken.</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiModel)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiModel">MidiModel</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:AutomatableSequence</h4>
-<table class="classmembers">
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Sequence">Sequence</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Sequence&lt;Evoral::Beats&gt; (ARDOUR::AutomatableSequence&lt;Evoral::Beats&gt;::*)()">to_sequence</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:Automatable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Automatable::*)(Evoral::Parameter const&amp;, bool)">automation_control</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Parameter">Parameter</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:MidiModel:DiffCommand" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ARDOUR:MidiModel:DiffCommand</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::MidiModel::DiffCommand</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:Command">PBD:Command</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class for Undo&#47;Redo commands and changesets </p></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h4 class="cls">Inherited from PBD:Command</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string const&amp; (Command::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Command::*)(std::string const&amp;)">set_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Stateful</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:MidiModel:NoteDiffCommand" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:MidiModel:NoteDiffCommand</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::MidiModel::NoteDiffCommand</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:MidiModel:DiffCommand">ARDOUR:MidiModel:DiffCommand</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class for Undo&#47;Redo commands and changesets </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiModel::NoteDiffCommand::*)(boost::shared_ptr&lt;Evoral::Note&lt;Evoral::Beats&gt; &gt;)">add</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:NotePtr">NotePtr</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiModel::NoteDiffCommand::*)(boost::shared_ptr&lt;Evoral::Note&lt;Evoral::Beats&gt; &gt;)">remove</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:NotePtr">NotePtr</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:Command</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string const&amp; (Command::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Command::*)(std::string const&amp;)">set_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Stateful</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:MidiPlaylist" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiPlaylist</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiPlaylist &gt;, boost::weak_ptr&lt; ARDOUR::MidiPlaylist &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Playlist">ARDOUR:Playlist</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiPlaylist)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiPlaylist">MidiPlaylist</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiPlaylist::*)(ARDOUR::NoteMode)">set_note_mode</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.NoteMode">NoteMode</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Playlist</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, float, bool, int)">add_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">float</span>, <span class="em">bool</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; const&amp;)">combine</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:RegionList">RegionList</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Playlist::*)(long) const">count_regions_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Playlist">Playlist</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Playlist&gt; (ARDOUR::Playlist::*)(std::list&lt;ARDOUR::AudioRange &gt;&amp;, bool)">cut</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRangeList">AudioRangeList&amp;</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::DataType const&amp; (ARDOUR::Playlist::*)() const">data_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, long, float)">duplicate</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-2">gap</dt><dd class="param-descr-index-2"> from the beginning of the region to the next beginning </dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(ARDOUR::AudioRange&amp;, float)">duplicate_range</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRange">AudioRange&amp;</a>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, long, long)">duplicate_until</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-2">gap</dt><dd class="param-descr-index-2"> from the beginning of the region to the next beginning </dd><dt class="param-name-index-3">end</dt><dd class="param-descr-index-3"> the first frame that does _not_ contain a duplicated frame </dd></dl></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long, ARDOUR::RegionPoint, int)">find_next_region</abbr></span><span class="functionargs"> (<span class="em">long</span>, <a class="" href="#ARDOUR.RegionPoint">RegionPoint</a>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Playlist::*)(long, int)">find_next_region_boundary</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">lower_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">lower_region_to_bottom</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Playlist::*)() const">n_regions</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">raise_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">raise_region_to_top</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(PBD::ID const&amp;) const">region_by_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)()">region_list</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(long)">regions_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(long, long)">regions_touched</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> Range start.  </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> Range end.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  regions which have some part within this range.</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(Evoral::Range&lt;long&gt;)">regions_with_end_within</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Range">Range</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(Evoral::Range&lt;long&gt;)">regions_with_start_within</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Range">Range</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">remove_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(long)">split</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, int)">split_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long)">top_region_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long)">top_unmuted_region_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">uncombine</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioPlaylist">AudioPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioPlaylist (ARDOUR::Playlist::*)()">to_audioplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiPlaylist">MidiPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiPlaylist (ARDOUR::Playlist::*)()">to_midiplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:MidiPort" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiPort</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiPort &gt;, boost::weak_ptr&lt; ARDOUR::MidiPort &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Port">ARDOUR:Port</a></p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiBuffer">MidiBuffer</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiBuffer&amp; (ARDOUR::MidiPort::*)(unsigned int)">get_midi_buffer</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MidiPort::*)() const">input_active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiPort)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiPort">MidiPort</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiPort::*)(bool)">set_input_active</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Port</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Port::*)(std::string const&amp;)">connect</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)() const">connected</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this port is connected to anything </p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)(std::string const&amp;) const">connected_to</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-0">o</dt><dd class="param-descr-index-0"> Port name </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this port is connected to o, otherwise false.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Port::*)(std::string const&amp;)">disconnect</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Port::*)()">disconnect_all</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Port::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Port short name </p></div></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Port::*)(bool) const">pretty_name</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Port human readable name </p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)() const">receives_input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this Port receives input, otherwise false </p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)() const">sends_output</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this Port sends output, otherwise false </p></div></div></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioPort">AudioPort</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioPort (ARDOUR::Port::*)()">to_audioport</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiPort">MidiPort</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiPort (ARDOUR::Port::*)()">to_midiport</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:MidiRegion" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiRegion</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiRegion &gt;, boost::weak_ptr&lt; ARDOUR::MidiRegion &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Region">ARDOUR:Region</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MidiRegion::*)(std::string) const">do_export</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Export the MIDI data of the MidiRegion to a new MIDI file (SMF).</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::MidiRegion::*)() const">length_beats</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiSource">MidiSource</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MidiSource&gt; (ARDOUR::MidiRegion::*)(unsigned int) const">midi_source</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiModel">MidiModel</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MidiModel&gt; (ARDOUR::MidiRegion::*)()">model</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiRegion)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiRegion">MidiRegion</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::MidiRegion::*)() const">start_beats</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Region</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">at_natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">automatic</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">can_move</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">captured</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">clear_sync_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)(long) const">covers</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">cut_end</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">cut_front</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::DataType const&amp; (ARDOUR::Region::*)() const">data_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">external</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">import</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">is_compound</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Region::*)() const">layer</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">lower</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">lower_to_bottom</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#C:StringVector">StringVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;std::string &gt; (ARDOUR::Region::*)()">master_source_names</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SourceList">SourceList</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;boost::shared_ptr&lt;ARDOUR::Source&gt; &gt; const&amp; (ARDOUR::Region::*)() const">master_sources</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">move_start</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">move_to_natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">muted</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Region::*)() const">n_channels</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">nudge_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">opaque</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> How the region parameters play together:</p><p> POSITION: first frame of the region along the timeline START:    first frame of the region within its source(s) LENGTH:   number of frames the region represents</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">position_locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Region::*)() const">quarter_note</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">raise</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">raise_to_top</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_hidden</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_initial_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A gui may need to create a region, then place it in an initial  position determined by the user.  When this takes place within one gui operation, we have to reset  _last_position to prevent an implied move.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">set_length</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_muted</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_opaque</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">set_position</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_position_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_start</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_sync_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the region&#39;s sync point.  </p><dl><dt class="param-name-index-0">absolute_pos</dt><dd class="param-descr-index-0"> Session time.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_video_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::Region::*)() const">shift</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Source">Source</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Source&gt; (ARDOUR::Region::*)(unsigned int) const">source</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">start</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::Region::*)() const">stretch</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">sync_marked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">long</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)(int&amp;) const">sync_offset</abbr></span><span class="functionargs"> (<span class="em">int&amp;</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">sync_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Sync position in session time </p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">trim_end</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">trim_front</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, long, int)">trim_to</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">video_locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">whole_file</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioRegion">AudioRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioRegion (ARDOUR::Region::*)()">to_audioregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiRegion">MidiRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiRegion (ARDOUR::Region::*)()">to_midiregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Readable">Readable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Readable (ARDOUR::Region::*)()">to_readable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:MidiSource" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiSource</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiSource &gt;, boost::weak_ptr&lt; ARDOUR::MidiSource &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Source">ARDOUR:Source</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Source for MIDI data </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MidiSource::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::MidiSource::*)(long) const">length</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiModel">MidiModel</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MidiModel&gt; (ARDOUR::MidiSource::*)()">model</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiSource)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiSource">MidiSource</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Source</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Source::*)()">ancestor_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">can_be_analysed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">destructive</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">has_been_analysed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)() const">natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)() const">timeline_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)() const">timestamp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Source::*)() const">use_count</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">used</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioSource">AudioSource</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioSource (ARDOUR::Source::*)()">to_audiosource</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiSource">MidiSource</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiSource (ARDOUR::Source::*)()">to_midisource</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:MidiTrack" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiTrack</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiTrack &gt;, boost::weak_ptr&lt; ARDOUR::MidiTrack &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Track">ARDOUR:Track</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A track is an route (bus) with a recordable diskstream and related objects relevant to tracking, playback and editing.</p><p> Specifically a track has regions and playlist objects.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiTrack)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiTrack">MidiTrack</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Track</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(ARDOUR::InterThreadInfo&amp;)">bounce</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> bounce track from session start to session end to new region</p><dl><dt class="param-name-index-0">itt</dt><dd class="param-descr-index-0"> asynchronous progress report and cancel </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(long, long, ARDOUR::InterThreadInfo&amp;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool)">bounce_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Bounce the given range to a new audio region. </p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start time (in samples) </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end time (in samples) </dd><dt class="param-name-index-2">itt</dt><dd class="param-descr-index-2"> asynchronous progress report and cancel </dd><dt class="param-name-index-3">endpoint</dt><dd class="param-descr-index-3"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-4">include_endpoint</dt><dd class="param-descr-index-4"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool) const">bounceable</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Test if the track can be bounced with the given settings. If sends&#47;inserts&#47;returns are present in the signal path or the given track has no audio outputs bouncing is not possible.</p><dl><dt class="param-name-index-0">endpoint</dt><dd class="param-descr-index-0"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-1">include_endpoint</dt><dd class="param-descr-index-1"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if the track can be bounced, or false otherwise.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)()">can_record</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Playlist">Playlist</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Playlist&gt; (ARDOUR::Track::*)()">playlist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)(std::string const&amp;)">set_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioTrack">AudioTrack</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioTrack (ARDOUR::Track::*)()">to_audio_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiTrack">MidiTrack</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiTrack (ARDOUR::Track::*)()">to_midi_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:Route</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, int, ARDOUR::Route::ProcessorStreams*, bool)">add_processor_by_index</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">int</span>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Add a processor to a route such that it ends up with a given index into the visible processors.  </p><dl><dt class="param-name-index-1">index</dt><dd class="param-descr-index-1"> Index to add the processor at, or -1 to add at the end of the list.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success, non-0 on failure.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">add_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Route::*)()">comment</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, unsigned int, ARDOUR::ChanCount, ARDOUR::ChanCount)">customize_plugin_insert</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">unsigned int</span>, <a class="" href="#ARDOUR:ChanCount">ChanCount</a>, <a class="" href="#ARDOUR:ChanCount">ChanCount</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> enable custom plugin-insert configuration </p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Processor to customize </dd><dt class="param-name-index-1">count</dt><dd class="param-descr-index-1"> number of plugin instances to use (if zero, reset to default) </dd><dt class="param-name-index-2">outs</dt><dd class="param-descr-index-2"> output port customization </dd><dt class="param-name-index-3">sinks</dt><dd class="param-descr-index-3"> input pins for variable-I&#47;O plugins </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if successful</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::Route::*)() const">input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Delivery">Delivery</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Delivery&gt; (ARDOUR::Route::*)() const">main_outs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> the signal processorat at end of the processing chain which produces output </p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">muted</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::Route::*)() const">n_inputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::Route::*)() const">n_outputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int) const">nth_plugin</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int)">nth_processor</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int) const">nth_send</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::Route::*)() const">output</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PannerShell">PannerShell</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PannerShell&gt; (ARDOUR::Route::*)() const">panner_shell</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PeakMeter&gt; (ARDOUR::Route::*)()">peak_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief">************************************************************* Pure interface begins here*************************************************************</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, ARDOUR::Route::ProcessorStreams*, bool)">remove_processor</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> remove plugin&#47;processor</p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> processor to remove </dd><dt class="param-name-index-1">err</dt><dd class="param-descr-index-1"> error report (index where removal vailed, channel-count why it failed) may be nil </dd><dt class="param-name-index-2">need_process_lock</dt><dd class="param-descr-index-2"> if locking is required (set to true, unless called from RT context with lock) </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">remove_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, ARDOUR::Route::ProcessorStreams*)">replace_processor</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> replace plugin&#47;processor with another</p><dl><dt class="param-name-index-0">old</dt><dd class="param-descr-index-0"> processor to remove </dd><dt class="param-name-index-1">sub</dt><dd class="param-descr-index-1"> processor to substitute the old one with </dd><dt class="param-name-index-2">err</dt><dd class="param-descr-index-2"> error report (index where removal vailed, channel-count why it failed) may be nil </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">reset_plugin_insert</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> reset plugin-insert configuration to default, disable customizations.</p><p> This is equivalent to calling </p><pre> customize_plugin_insert (proc, 0, unused)</pre><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Processor to reset </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if successful</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(bool, void*)">set_active</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(std::string, void*)">set_comment</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(ARDOUR::MeterPoint, bool)">set_meter_point</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.MeterPoint">MeterPoint</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(bool)">set_strict_io</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">soloed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">strict_io</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)() const">the_instrument</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief">          Return the first processor that accepts has at least one MIDI input     and at least one audio output. In the vast majority of cases, this      will be &quot;the instrument&quot;. This does not preclude other MIDI-&gt;audio         processors later in the processing chain, but that would be a           special case not covered by this utility function.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">trim</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Route::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Track">Track</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Track (ARDOUR::Route::*)()">to_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:Stripable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_makeup_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_mode_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">comp_mode_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_redux_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_speed_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">comp_speed_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_threshold_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Stripable::*)() const">eq_band_cnt</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">eq_band_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">eq_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_freq_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_gain_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">eq_hpf_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_q_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_shape_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Stripable::*)() const">gain_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_auditioner</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_master</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_monitor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_selected</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">master_send_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MonitorProcessor&gt; (ARDOUR::Stripable::*)() const">monitor_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MuteControl">MuteControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MuteControl&gt; (ARDOUR::Stripable::*)() const">mute_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_azimuth_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_elevation_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_frontback_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_lfe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_width_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PhaseControl">PhaseControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PhaseControl&gt; (ARDOUR::Stripable::*)() const">phase_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresentationInfo">PresentationInfo</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PresentationInfo* (ARDOUR::Stripable::*)()">presentation_info_ptr</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">rec_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">rec_safe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">send_enable_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">send_level_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">send_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Stripable::*)(unsigned int, bool)">set_presentation_order</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloControl">SoloControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloControl&gt; (ARDOUR::Stripable::*)() const">solo_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloIsolateControl">SoloIsolateControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloIsolateControl&gt; (ARDOUR::Stripable::*)() const">solo_isolate_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloSafeControl">SoloSafeControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloSafeControl&gt; (ARDOUR::Stripable::*)() const">solo_safe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Stripable::*)() const">trim_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Route (ARDOUR::Stripable::*)()">to_route</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:MidiTrackList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:MidiTrackList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;boost::shared_ptr&lt;ARDOUR::MidiTrack&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.MidiTrackList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#ARDOUR:MidiTrack">MidiTrack</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;boost::shared_ptr&lt;ARDOUR::MidiTrack&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::MidiTrack&gt; &gt;::*)(boost::shared_ptr&lt;ARDOUR::MidiTrack&gt; const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiTrack">MidiTrack</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::MidiTrack&gt; &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;boost::shared_ptr&lt;ARDOUR::MidiTrack&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::MidiTrack&gt; &gt;::*)()">unique</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:MonitorProcessor" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MonitorProcessor</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MonitorProcessor &gt;, boost::weak_ptr&lt; ARDOUR::MonitorProcessor &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Processor">ARDOUR:Processor</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A mixer strip element - plugin, send, meter, etc </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Controllable">Controllable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;PBD::Controllable&gt; (ARDOUR::MonitorProcessor::*)(unsigned int) const">channel_cut_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Controllable">Controllable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;PBD::Controllable&gt; (ARDOUR::MonitorProcessor::*)(unsigned int) const">channel_dim_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Controllable">Controllable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;PBD::Controllable&gt; (ARDOUR::MonitorProcessor::*)(unsigned int) const">channel_polarity_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Controllable">Controllable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;PBD::Controllable&gt; (ARDOUR::MonitorProcessor::*)(unsigned int) const">channel_solo_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MonitorProcessor::*)(unsigned int) const">cut</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MonitorProcessor::*)() const">cut_all</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Controllable">Controllable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;PBD::Controllable&gt; (ARDOUR::MonitorProcessor::*)() const">cut_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MonitorProcessor::*)() const">dim_all</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Controllable">Controllable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;PBD::Controllable&gt; (ARDOUR::MonitorProcessor::*)() const">dim_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::MonitorProcessor::*)() const">dim_level</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Controllable">Controllable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;PBD::Controllable&gt; (ARDOUR::MonitorProcessor::*)() const">dim_level_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MonitorProcessor::*)(unsigned int) const">dimmed</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MonitorProcessor::*)(unsigned int) const">inverted</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MonitorProcessor::*)() const">monitor_active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MonitorProcessor::*)() const">mono</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Controllable">Controllable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;PBD::Controllable&gt; (ARDOUR::MonitorProcessor::*)() const">mono_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MonitorProcessor)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MonitorProcessor::*)(unsigned int, bool)">set_cut</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MonitorProcessor::*)(bool)">set_cut_all</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MonitorProcessor::*)(unsigned int, bool)">set_dim</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MonitorProcessor::*)(bool)">set_dim_all</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MonitorProcessor::*)(bool)">set_mono</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MonitorProcessor::*)(unsigned int, bool)">set_polarity</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MonitorProcessor::*)(unsigned int, bool)">set_solo</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Controllable">Controllable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;PBD::Controllable&gt; (ARDOUR::MonitorProcessor::*)() const">solo_boost_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::MonitorProcessor::*)() const">solo_boost_level</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MonitorProcessor::*)(unsigned int) const">soloed</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Processor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">activate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Processor::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">deactivate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Processor::*)() const">display_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Amp (ARDOUR::Processor::*)()">to_amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Processor::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInsert">PluginInsert</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginInsert (ARDOUR::Processor::*)()">to_insert</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IOProcessor">IOProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::IOProcessor (ARDOUR::Processor::*)()">to_ioprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MonitorProcessor (ARDOUR::Processor::*)()">to_monitorprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_peakmeter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SideChain">SideChain</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SideChain (ARDOUR::Processor::*)()">to_sidechain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:UnknownProcessor">UnknownProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::UnknownProcessor (ARDOUR::Processor::*)()">to_unknownprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:MuteControl" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MuteControl</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MuteControl &gt;, boost::weak_ptr&lt; ARDOUR::MuteControl &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SlavableAutomationControl,">ARDOUR:SlavableAutomationControl,</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A PBD::Controllable with associated automation data (AutomationList)</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MuteControl::*)() const">muted</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MuteControl::*)() const">muted_by_self</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MuteControl)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MuteControl">MuteControl</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SlavableAutomationControl,</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">add_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)()">clear_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::SlavableAutomationControl::*)() const">get_boolean_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::SlavableAutomationControl::*)() const">get_masters_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">remove_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)() const">slaved</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;) const">slaved_to</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:AutomationControl</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationList">AutomationList</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationList&gt; (ARDOUR::AutomationControl::*)() const">alist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoState">AutoState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoState (ARDOUR::AutomationControl::*)() const">automation_state</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoStyle">AutoStyle</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoStyle (ARDOUR::AutomationControl::*)() const">automation_style</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::AutomationControl::*)() const">get_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current effective `user&#39; value based on automation state </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoState)">set_automation_state</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoState">AutoState</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoStyle)">set_automation_style</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoStyle">AutoStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double, PBD::Controllable::GroupControlDisposition)">set_value</abbr></span><span class="functionargs"> (<span class="em">double</span>, <a class="" href="#PBD.Controllable.GroupControlDisposition">GroupControlDisposition</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get and Set `internal&#39; value</p><p> All derived classes must implement this.</p><p> Basic derived classes will ignore </p><dl><dt class="param-name-index-invalid">group_override,</dt><dd class="param-descr-index-invalid"> but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double)">start_touch</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(bool, double)">stop_touch</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationControl::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Control">Control</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Control (ARDOUR::AutomationControl::*)()">to_ctrl</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Controllable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::Controllable::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:OwnedPropertyList" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ARDOUR:OwnedPropertyList</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::OwnedPropertyList</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:PropertyList">ARDOUR:PropertyList</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A variant of PropertyList that does not delete its  property list in its destructor. Objects with their  own Properties store them in an OwnedPropertyList  to avoid having them deleted at the wrong time.</p></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h3 id="ARDOUR:PannerShell" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:PannerShell</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::PannerShell &gt;, boost::weak_ptr&lt; ARDOUR::PannerShell &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SessionObject">ARDOUR:SessionObject</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Class to manage panning by instantiating and controlling  an appropriate Panner object for a given in&#47;out configuration.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PannerShell::*)() const">bypassed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::PannerShell)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PannerShell">PannerShell</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PannerShell::*)(bool)">set_bypassed</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:ParameterDescriptor" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:ParameterDescriptor</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::ParameterDescriptor</p>
- <p class="classinfo">is-a: <a class="" href="#Evoral:ParameterDescriptor">Evoral:ParameterDescriptor</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Descriptor of a parameter or control.</p><p> Essentially a union of LADSPA, VST and LV2 info.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.ParameterDescriptor</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (*)(unsigned char)">midi_note_name</abbr></span><span class="functionargs"> (<span class="em">unsigned char</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">label</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">logarithmic</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from Evoral:ParameterDescriptor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Evoral.ParameterDescriptor</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">lower</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Minimum value (in Hz, for frequencies)</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">normal</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Default value</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">toggled</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> True iff parameter is boolean</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">upper</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Maximum value (in Hz, for frequencies)</p></div></td></tr>
-</table>
-<h3 id="ARDOUR:PeakMeter" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:PeakMeter</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::PeakMeter &gt;, boost::weak_ptr&lt; ARDOUR::PeakMeter &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Processor">ARDOUR:Processor</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Meters peaks on the input and stores them for access.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::PeakMeter::*)(unsigned int, ARDOUR::MeterType)">meter_level</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <a class="" href="#ARDOUR.MeterType">MeterType</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PeakMeter::*)()">reset_max</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::PeakMeter)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PeakMeter">PeakMeter</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PeakMeter::*)(ARDOUR::MeterType)">set_type</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.MeterType">MeterType</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Processor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">activate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Processor::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">deactivate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Processor::*)() const">display_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Amp (ARDOUR::Processor::*)()">to_amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Processor::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInsert">PluginInsert</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginInsert (ARDOUR::Processor::*)()">to_insert</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IOProcessor">IOProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::IOProcessor (ARDOUR::Processor::*)()">to_ioprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MonitorProcessor (ARDOUR::Processor::*)()">to_monitorprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_peakmeter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SideChain">SideChain</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SideChain (ARDOUR::Processor::*)()">to_sidechain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:UnknownProcessor">UnknownProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::UnknownProcessor (ARDOUR::Processor::*)()">to_unknownprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:PhaseControl" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:PhaseControl</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::PhaseControl &gt;, boost::weak_ptr&lt; ARDOUR::PhaseControl &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:AutomationControl">ARDOUR:AutomationControl</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A PBD::Controllable with associated automation data (AutomationList)</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PhaseControl::*)(unsigned int) const">inverted</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::PhaseControl)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PhaseControl">PhaseControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PhaseControl::*)(unsigned int, bool)">set_phase_invert</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-0">c</dt><dd class="param-descr-index-0"> Audio channel index.  </dd><dt class="param-name-index-1">yn</dt><dd class="param-descr-index-1"> true to invert phase, otherwise false.</dd></dl></div></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:AutomationControl</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationList">AutomationList</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationList&gt; (ARDOUR::AutomationControl::*)() const">alist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoState">AutoState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoState (ARDOUR::AutomationControl::*)() const">automation_state</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoStyle">AutoStyle</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoStyle (ARDOUR::AutomationControl::*)() const">automation_style</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::AutomationControl::*)() const">get_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current effective `user&#39; value based on automation state </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoState)">set_automation_state</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoState">AutoState</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoStyle)">set_automation_style</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoStyle">AutoStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double, PBD::Controllable::GroupControlDisposition)">set_value</abbr></span><span class="functionargs"> (<span class="em">double</span>, <a class="" href="#PBD.Controllable.GroupControlDisposition">GroupControlDisposition</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get and Set `internal&#39; value</p><p> All derived classes must implement this.</p><p> Basic derived classes will ignore </p><dl><dt class="param-name-index-invalid">group_override,</dt><dd class="param-descr-index-invalid"> but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double)">start_touch</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(bool, double)">stop_touch</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationControl::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Control">Control</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Control (ARDOUR::AutomationControl::*)()">to_ctrl</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Controllable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::Controllable::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:Playlist" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Playlist</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Playlist &gt;, boost::weak_ptr&lt; ARDOUR::Playlist &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SessionObject">ARDOUR:SessionObject</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, float, bool, int)">add_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">float</span>, <span class="em">bool</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; const&amp;)">combine</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:RegionList">RegionList</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Playlist::*)(long) const">count_regions_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Playlist">Playlist</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Playlist&gt; (ARDOUR::Playlist::*)(std::list&lt;ARDOUR::AudioRange &gt;&amp;, bool)">cut</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRangeList">AudioRangeList&amp;</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::DataType const&amp; (ARDOUR::Playlist::*)() const">data_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, long, float)">duplicate</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-2">gap</dt><dd class="param-descr-index-2"> from the beginning of the region to the next beginning </dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(ARDOUR::AudioRange&amp;, float)">duplicate_range</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRange">AudioRange&amp;</a>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, long, long)">duplicate_until</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-2">gap</dt><dd class="param-descr-index-2"> from the beginning of the region to the next beginning </dd><dt class="param-name-index-3">end</dt><dd class="param-descr-index-3"> the first frame that does _not_ contain a duplicated frame </dd></dl></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long, ARDOUR::RegionPoint, int)">find_next_region</abbr></span><span class="functionargs"> (<span class="em">long</span>, <a class="" href="#ARDOUR.RegionPoint">RegionPoint</a>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Playlist::*)(long, int)">find_next_region_boundary</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">lower_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">lower_region_to_bottom</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Playlist::*)() const">n_regions</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">raise_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">raise_region_to_top</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(PBD::ID const&amp;) const">region_by_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)()">region_list</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(long)">regions_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(long, long)">regions_touched</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> Range start.  </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> Range end.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  regions which have some part within this range.</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(Evoral::Range&lt;long&gt;)">regions_with_end_within</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Range">Range</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(Evoral::Range&lt;long&gt;)">regions_with_start_within</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Range">Range</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">remove_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Playlist)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Playlist">Playlist</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(long)">split</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, int)">split_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long)">top_region_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long)">top_unmuted_region_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">uncombine</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioPlaylist">AudioPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioPlaylist (ARDOUR::Playlist::*)()">to_audioplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiPlaylist">MidiPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiPlaylist (ARDOUR::Playlist::*)()">to_midiplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:Plugin" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Plugin</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Plugin &gt;, boost::weak_ptr&lt; ARDOUR::Plugin &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:StatefulDestructiblePtr">PBD:StatefulDestructiblePtr</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A plugin is an external module (usually 3rd party provided) loaded into Ardour for the purpose of digital signal processing.</p><p> This class provides an abstraction for methords provided by all supported plugin standards such as presets, name, parameters etc.</p><p> Plugins are not used directly in Ardour but always wrapped by a PluginInsert.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Plugin:IOPortDescription">IOPortDescription</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Plugin::IOPortDescription (ARDOUR::Plugin::*)(ARDOUR::DataType, bool, unsigned int) const">describe_io_port</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <span class="em">bool</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Plugin::*)() const">get_docs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInfo">PluginInfo</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PluginInfo&gt; (ARDOUR::Plugin::*)() const">get_info</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Plugin::*)(unsigned int, ARDOUR::ParameterDescriptor&amp;) const">get_parameter_descriptor</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <a class="" href="#ARDOUR:ParameterDescriptor">ParameterDescriptor&amp;</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Plugin::*)(unsigned int) const">get_parameter_docs</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">char*</span></td><td class="decl"><span class="functionname"><abbr title="char const* (ARDOUR::Plugin::*)() const">label</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Plugin::*)(ARDOUR::Plugin::PresetRecord)">load_preset</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PresetRecord">PresetRecord</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set parameters using a preset </p></div></td></tr>
- <tr><td class="def"><span class="em">char*</span></td><td class="decl"><span class="functionname"><abbr title="char const* (ARDOUR::Plugin::*)() const">maker</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">char*</span></td><td class="decl"><span class="functionname"><abbr title="char const* (ARDOUR::Plugin::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">unsigned int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Plugin::*)(unsigned int, bool&amp;) const">nth_parameter</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool&amp;</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Plugin::*)() const">parameter_count</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Plugin::*)(unsigned int) const">parameter_is_input</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresetRecord">PresetRecord</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Plugin::PresetRecord const* (ARDOUR::Plugin::*)(std::string const&amp;)">preset_by_label</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresetRecord">PresetRecord</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Plugin::PresetRecord const* (ARDOUR::Plugin::*)(std::string const&amp;)">preset_by_uri</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Plugin)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Plugin">Plugin</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Plugin::*)() const">unique_id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:LuaProc">LuaProc</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::LuaProc (ARDOUR::Plugin::*)()">to_luaproc</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:Plugin:IOPortDescription" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:Plugin:IOPortDescription</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::Plugin::IOPortDescription</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">group_channel</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">group_name</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">is_sidechain</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">name</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:PluginControl" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:PluginControl</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::PluginInsert::PluginControl &gt;, boost::weak_ptr&lt; ARDOUR::PluginInsert::PluginControl &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:AutomationControl">ARDOUR:AutomationControl</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A control that manipulates a plugin parameter (control port). </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::PluginInsert::PluginControl)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PluginControl">PluginControl</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:AutomationControl</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationList">AutomationList</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationList&gt; (ARDOUR::AutomationControl::*)() const">alist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoState">AutoState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoState (ARDOUR::AutomationControl::*)() const">automation_state</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoStyle">AutoStyle</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoStyle (ARDOUR::AutomationControl::*)() const">automation_style</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::AutomationControl::*)() const">get_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current effective `user&#39; value based on automation state </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoState)">set_automation_state</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoState">AutoState</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoStyle)">set_automation_style</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoStyle">AutoStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double, PBD::Controllable::GroupControlDisposition)">set_value</abbr></span><span class="functionargs"> (<span class="em">double</span>, <a class="" href="#PBD.Controllable.GroupControlDisposition">GroupControlDisposition</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get and Set `internal&#39; value</p><p> All derived classes must implement this.</p><p> Basic derived classes will ignore </p><dl><dt class="param-name-index-invalid">group_override,</dt><dd class="param-descr-index-invalid"> but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double)">start_touch</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(bool, double)">stop_touch</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationControl::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Control">Control</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Control (ARDOUR::AutomationControl::*)()">to_ctrl</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Controllable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::Controllable::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:PluginInfo" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:PluginInfo</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::PluginInfo &gt;, boost::weak_ptr&lt; ARDOUR::PluginInfo &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.PluginInfo</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresetVector">PresetVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;ARDOUR::Plugin::PresetRecord &gt; (ARDOUR::PluginInfo::*)(bool) const">get_presets</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PluginInfo::*)() const">is_instrument</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::PluginInfo)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PluginInfo">PluginInfo</a>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">category</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">creator</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ARDOUR:ChanCount</a></td><td class="decl"><span class="functionname">n_inputs</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ARDOUR:ChanCount</a></td><td class="decl"><span class="functionname">n_outputs</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">name</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">path</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.PluginType">ARDOUR.PluginType</a></td><td class="decl"><span class="functionname">type</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">unique_id</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:PluginInsert" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:PluginInsert</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::PluginInsert &gt;, boost::weak_ptr&lt; ARDOUR::PluginInsert &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Processor">ARDOUR:Processor</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Plugin inserts: send data through a plugin</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PluginInsert::*)()">activate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PluginInsert::*)()">deactivate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanMapping">ChanMapping</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanMapping (ARDOUR::PluginInsert::*)(unsigned int) const">input_map</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">natural_input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">natural_output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanMapping">ChanMapping</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanMapping (ARDOUR::PluginInsert::*)(unsigned int) const">output_map</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Plugin">Plugin</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Plugin&gt; (ARDOUR::PluginInsert::*)(unsigned int) const">plugin</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PluginInsert::*)()">reset_parameters_to_default</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::PluginInsert)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PluginInsert">PluginInsert</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PluginInsert::*)(unsigned int, ARDOUR::ChanMapping)">set_input_map</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <a class="" href="#ARDOUR:ChanMapping">ChanMapping</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PluginInsert::*)(unsigned int, ARDOUR::ChanMapping)">set_output_map</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <a class="" href="#ARDOUR:ChanMapping">ChanMapping</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PluginInsert::*)() const">strict_io_configured</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Processor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Processor::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Processor::*)() const">display_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Amp (ARDOUR::Processor::*)()">to_amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Processor::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInsert">PluginInsert</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginInsert (ARDOUR::Processor::*)()">to_insert</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IOProcessor">IOProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::IOProcessor (ARDOUR::Processor::*)()">to_ioprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MonitorProcessor (ARDOUR::Processor::*)()">to_monitorprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_peakmeter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SideChain">SideChain</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SideChain (ARDOUR::Processor::*)()">to_sidechain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:UnknownProcessor">UnknownProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::UnknownProcessor (ARDOUR::Processor::*)()">to_unknownprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:Port" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Port</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Port &gt;, boost::weak_ptr&lt; ARDOUR::Port &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Port::*)(std::string const&amp;)">connect</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)() const">connected</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this port is connected to anything </p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)(std::string const&amp;) const">connected_to</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-0">o</dt><dd class="param-descr-index-0"> Port name </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this port is connected to o, otherwise false.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Port::*)(std::string const&amp;)">disconnect</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Port::*)()">disconnect_all</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Port::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Port short name </p></div></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Port::*)(bool) const">pretty_name</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Port human readable name </p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)() const">receives_input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this Port receives input, otherwise false </p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Port)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Port::*)() const">sends_output</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if this Port sends output, otherwise false </p></div></div></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioPort">AudioPort</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioPort (ARDOUR::Port::*)()">to_audioport</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiPort">MidiPort</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiPort (ARDOUR::Port::*)()">to_midiport</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:PortEngine" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ARDOUR:PortEngine</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::PortEngine</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> PortEngine is an abstract base class that defines the functionality required by Ardour.</p><p> A Port is basically an endpoint for a datastream (which can either be continuous, like audio, or event-based, like MIDI). Ports have buffers associated with them into which data can be written (if they are output ports) and from which data can be read (if they input ports). Ports can be connected together so that data written to an output port can be read from an input port. These connections can be 1:1, 1:N OR N:1.</p><p> Ports may be associated with software only, or with hardware.  Hardware related ports are often referred to as physical, and correspond to some relevant physical entity on a hardware device, such as an audio jack or a MIDI connector. Physical ports may be potentially asked to monitor their inputs, though some implementations may not support this.</p><p> Most physical ports will also be considered &quot;terminal&quot;, which means that data delivered there or read from there will go to or comes from a system outside of the PortEngine implementation&#39;s control (e.g. the analog domain for audio, or external MIDI devices for MIDI). Non-physical ports can also be considered &quot;terminal&quot;. For example, the output port of a software synthesizer is a terminal port, because the data contained in its buffer does not and cannot be considered to come from any other port - it is synthesized by its owner.</p><p> Ports also have latency associated with them. Each port has a playback latency and a capture latency:</p><p> <b>capture latency</b>: how long since the data read from the buffer of a                  port arrived at at a terminal port.  The data will have                  come from the &quot;outside world&quot; if the terminal port is also                  physical, or will have been synthesized by the entity that                  owns the terminal port.</p><p> <b>playback latency</b>: how long until the data written to the buffer of                   port will reach a terminal port.</p><p> For more detailed questions about the PortEngine API, consult the JACK API documentation, on which this entire object is based.</p></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h3 id="ARDOUR:PortList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:PortList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;boost::shared_ptr&lt;ARDOUR::Port&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.PortList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;boost::shared_ptr&lt;ARDOUR::Port&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::Port&gt; &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;boost::shared_ptr&lt;ARDOUR::Port&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:PortManager" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:PortManager</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::PortManager</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, std::string const&amp;)">connect</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PortManager::*)(std::string const&amp;)">connected</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, std::string const&amp;)">disconnect</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(boost::shared_ptr&lt;ARDOUR::Port&gt;)">disconnect_port</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, ARDOUR::DataType, ARDOUR::PortFlags, std::vector&lt;std::string &gt;&amp;)">get_backend_ports</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#ARDOUR.PortFlags">PortFlags</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, std::vector&lt;std::string &gt;&amp;)">get_connections</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#C:StringVector">StringVector&amp;</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_inputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_outputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Port">Port</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Port&gt; (ARDOUR::PortManager::*)(std::string const&amp;)">get_port_by_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-invalid">name</dt><dd class="param-descr-index-invalid"> Full or short name of port  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Corresponding Port or 0.</p></div></div></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(ARDOUR::DataType, std::list&lt;boost::shared_ptr&lt;ARDOUR::Port&gt; &gt;&amp;)">get_ports</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#ARDOUR:PortList">PortList&amp;</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::PortManager::*)(std::string const&amp;) const">get_pretty_name_by_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PortManager::*)() const">n_physical_inputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PortManager::*)() const">n_physical_outputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PortManager::*)(std::string const&amp;)">physically_connected</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PortEngine">PortEngine</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PortEngine&amp; (ARDOUR::PortManager::*)()">port_engine</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PortManager::*)(std::string const&amp;) const">port_is_physical</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:PortSet" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:PortSet</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::PortSet &gt;, boost::weak_ptr&lt; ARDOUR::PortSet &gt;</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> An ordered list of Ports, possibly of various types.</p><p> This allows access to all the ports as a list, ignoring type, or accessing the nth port of a given type.  Note that port(n) and nth_audio_port(n) may NOT return the same port.</p><p> Each port is held twice; once in a per-type vector of vectors (_ports) and once in a vector of all port (_all_ports).  This is to speed up the fairly common case of iterating over all ports.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PortSet::*)(boost::shared_ptr&lt;ARDOUR::Port&gt;)">add</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PortSet::*)()">clear</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Remove all ports from the PortSet.  Ports are not deregistered with the engine, it&#39;s the caller&#39;s responsibility to not leak here!</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PortSet::*)(boost::shared_ptr&lt;ARDOUR::Port const&gt;) const">contains</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PortSet::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (ARDOUR::PortSet::*)(ARDOUR::DataType) const">num_ports</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Port">Port</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Port&gt; (ARDOUR::PortSet::*)(ARDOUR::DataType, unsigned long) const">port</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> nth port of type <em>t,</em> or nth port if t = NIL </p><dl><dt class="param-name-index-0">t</dt><dd class="param-descr-index-0"> data type </dd><dt class="param-name-index-1">index</dt><dd class="param-descr-index-1"> port index</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::PortSet::*)(boost::shared_ptr&lt;ARDOUR::Port&gt;)">remove</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::PortSet)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PortSet">PortSet</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:PresentationInfo" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:PresentationInfo</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::PresentationInfo</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:Stateful">PBD:Stateful</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class for objects with saveable and undoable state </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::PresentationInfo::*)() const">color</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::PresentationInfo::*)() const">order</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::PresentationInfo::*)(unsigned int)">set_color</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:Stateful</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:PresetRecord" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:PresetRecord</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::Plugin::PresetRecord</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.PresetRecord</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">label</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">uri</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">user</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">valid</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:PresetVector" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:PresetVector</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;ARDOUR::Plugin::PresetRecord &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.PresetVector</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#ARDOUR:PresetRecord">PresetRecord</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresetRecord">PresetRecord</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Plugin::PresetRecord&amp; (std::vector&lt;ARDOUR::Plugin::PresetRecord &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;ARDOUR::Plugin::PresetRecord &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;ARDOUR::Plugin::PresetRecord &gt;::*)(ARDOUR::Plugin::PresetRecord const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PresetRecord">PresetRecord</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;ARDOUR::Plugin::PresetRecord &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:Processor" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Processor</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Processor &gt;, boost::weak_ptr&lt; ARDOUR::Processor &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SessionObject">ARDOUR:SessionObject</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A mixer strip element - plugin, send, meter, etc </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">activate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Processor::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">deactivate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Processor::*)() const">display_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Processor)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Amp (ARDOUR::Processor::*)()">to_amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Processor::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInsert">PluginInsert</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginInsert (ARDOUR::Processor::*)()">to_insert</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IOProcessor">IOProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::IOProcessor (ARDOUR::Processor::*)()">to_ioprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MonitorProcessor (ARDOUR::Processor::*)()">to_monitorprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_peakmeter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SideChain">SideChain</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SideChain (ARDOUR::Processor::*)()">to_sidechain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:UnknownProcessor">UnknownProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::UnknownProcessor (ARDOUR::Processor::*)()">to_unknownprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:ProcessorVector" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:ProcessorVector</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;boost::shared_ptr&lt;ARDOUR::Processor&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.ProcessorVector</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#ARDOUR:Processor">Processor</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt;&amp; (std::vector&lt;boost::shared_ptr&lt;ARDOUR::Processor&gt; &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;boost::shared_ptr&lt;ARDOUR::Processor&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;boost::shared_ptr&lt;ARDOUR::Processor&gt; &gt;::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt; const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;boost::shared_ptr&lt;ARDOUR::Processor&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:Properties:BoolProperty" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ARDOUR:Properties:BoolProperty</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::PropertyDescriptor&lt;bool&gt;</p>
-<div class="clear"></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h3 id="ARDOUR:Properties:FloatProperty" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ARDOUR:Properties:FloatProperty</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::PropertyDescriptor&lt;float&gt;</p>
-<div class="clear"></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h3 id="ARDOUR:Properties:FrameposProperty" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ARDOUR:Properties:FrameposProperty</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::PropertyDescriptor&lt;long&gt;</p>
-<div class="clear"></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h3 id="ARDOUR:PropertyChange" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:PropertyChange</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::PropertyChange</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A list of IDs of Properties that have changed in some situation or other </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PBD::PropertyChange::*)(PBD::PropertyDescriptor&lt;bool&gt;) const">containsBool</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Properties:BoolProperty">BoolProperty</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PBD::PropertyChange::*)(PBD::PropertyDescriptor&lt;float&gt;) const">containsFloat</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Properties:FloatProperty">FloatProperty</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PBD::PropertyChange::*)(PBD::PropertyDescriptor&lt;long&gt;) const">containsFramePos</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Properties:FrameposProperty">FrameposProperty</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:PropertyList" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ARDOUR:PropertyList</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::PropertyList</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A list of properties, mapped using their ID </p></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h3 id="ARDOUR:Readable" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Readable</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Readable &gt;, boost::weak_ptr&lt; ARDOUR::Readable &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Readable::*)() const">n_channels</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Readable::*)(float*, long, long, int) const">read</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Readable::*)() const">readable_length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Readable)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Readable">Readable</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:Region" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Region</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Region &gt;, boost::weak_ptr&lt; ARDOUR::Region &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SessionObject">ARDOUR:SessionObject</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">at_natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">automatic</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">can_move</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">captured</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">clear_sync_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)(long) const">covers</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">cut_end</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">cut_front</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::DataType const&amp; (ARDOUR::Region::*)() const">data_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">external</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">import</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">is_compound</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Region::*)() const">layer</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">lower</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">lower_to_bottom</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#C:StringVector">StringVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;std::string &gt; (ARDOUR::Region::*)()">master_source_names</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SourceList">SourceList</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;boost::shared_ptr&lt;ARDOUR::Source&gt; &gt; const&amp; (ARDOUR::Region::*)() const">master_sources</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">move_start</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">move_to_natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">muted</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Region::*)() const">n_channels</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">nudge_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">opaque</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> How the region parameters play together:</p><p> POSITION: first frame of the region along the timeline START:    first frame of the region within its source(s) LENGTH:   number of frames the region represents</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">position_locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Region::*)() const">quarter_note</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">raise</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">raise_to_top</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Region)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_hidden</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_initial_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A gui may need to create a region, then place it in an initial  position determined by the user.  When this takes place within one gui operation, we have to reset  _last_position to prevent an implied move.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">set_length</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_muted</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_opaque</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">set_position</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_position_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_start</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_sync_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the region&#39;s sync point.  </p><dl><dt class="param-name-index-0">absolute_pos</dt><dd class="param-descr-index-0"> Session time.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_video_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::Region::*)() const">shift</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Source">Source</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Source&gt; (ARDOUR::Region::*)(unsigned int) const">source</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">start</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::Region::*)() const">stretch</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">sync_marked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">long</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)(int&amp;) const">sync_offset</abbr></span><span class="functionargs"> (<span class="em">int&amp;</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">sync_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Sync position in session time </p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">trim_end</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">trim_front</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, long, int)">trim_to</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">video_locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">whole_file</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioRegion">AudioRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioRegion (ARDOUR::Region::*)()">to_audioregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiRegion">MidiRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiRegion (ARDOUR::Region::*)()">to_midiregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Readable">Readable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Readable (ARDOUR::Region::*)()">to_readable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:RegionFactory" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:RegionFactory</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::RegionFactory</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (*)(PBD::ID const&amp;)">region_by_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:RegionList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:RegionList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.RegionList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:RegionListPtr" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:RegionListPtr</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.RegionListPtr</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#ARDOUR:Region">Region</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt;::*)(boost::shared_ptr&lt;ARDOUR::Region&gt; const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt;::*)()">unique</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:Route" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Route</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Route &gt;, boost::weak_ptr&lt; ARDOUR::Route &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Stripable">ARDOUR:Stripable</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, int, ARDOUR::Route::ProcessorStreams*, bool)">add_processor_by_index</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">int</span>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Add a processor to a route such that it ends up with a given index into the visible processors.  </p><dl><dt class="param-name-index-1">index</dt><dd class="param-descr-index-1"> Index to add the processor at, or -1 to add at the end of the list.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success, non-0 on failure.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">add_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Route::*)()">comment</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, unsigned int, ARDOUR::ChanCount, ARDOUR::ChanCount)">customize_plugin_insert</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">unsigned int</span>, <a class="" href="#ARDOUR:ChanCount">ChanCount</a>, <a class="" href="#ARDOUR:ChanCount">ChanCount</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> enable custom plugin-insert configuration </p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Processor to customize </dd><dt class="param-name-index-1">count</dt><dd class="param-descr-index-1"> number of plugin instances to use (if zero, reset to default) </dd><dt class="param-name-index-2">outs</dt><dd class="param-descr-index-2"> output port customization </dd><dt class="param-name-index-3">sinks</dt><dd class="param-descr-index-3"> input pins for variable-I&#47;O plugins </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if successful</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::Route::*)() const">input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Delivery">Delivery</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Delivery&gt; (ARDOUR::Route::*)() const">main_outs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> the signal processorat at end of the processing chain which produces output </p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">muted</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::Route::*)() const">n_inputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::Route::*)() const">n_outputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int) const">nth_plugin</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int)">nth_processor</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int) const">nth_send</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::Route::*)() const">output</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PannerShell">PannerShell</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PannerShell&gt; (ARDOUR::Route::*)() const">panner_shell</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PeakMeter&gt; (ARDOUR::Route::*)()">peak_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief">************************************************************* Pure interface begins here*************************************************************</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, ARDOUR::Route::ProcessorStreams*, bool)">remove_processor</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> remove plugin&#47;processor</p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> processor to remove </dd><dt class="param-name-index-1">err</dt><dd class="param-descr-index-1"> error report (index where removal vailed, channel-count why it failed) may be nil </dd><dt class="param-name-index-2">need_process_lock</dt><dd class="param-descr-index-2"> if locking is required (set to true, unless called from RT context with lock) </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">remove_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, ARDOUR::Route::ProcessorStreams*)">replace_processor</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> replace plugin&#47;processor with another</p><dl><dt class="param-name-index-0">old</dt><dd class="param-descr-index-0"> processor to remove </dd><dt class="param-name-index-1">sub</dt><dd class="param-descr-index-1"> processor to substitute the old one with </dd><dt class="param-name-index-2">err</dt><dd class="param-descr-index-2"> error report (index where removal vailed, channel-count why it failed) may be nil </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">reset_plugin_insert</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> reset plugin-insert configuration to default, disable customizations.</p><p> This is equivalent to calling </p><pre> customize_plugin_insert (proc, 0, unused)</pre><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Processor to reset </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if successful</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Route)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(bool, void*)">set_active</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(std::string, void*)">set_comment</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(ARDOUR::MeterPoint, bool)">set_meter_point</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.MeterPoint">MeterPoint</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(std::string const&amp;)">set_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(bool)">set_strict_io</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">soloed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">strict_io</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)() const">the_instrument</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief">          Return the first processor that accepts has at least one MIDI input     and at least one audio output. In the vast majority of cases, this      will be &quot;the instrument&quot;. This does not preclude other MIDI-&gt;audio         processors later in the processing chain, but that would be a           special case not covered by this utility function.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">trim</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Route::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Track">Track</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Track (ARDOUR::Route::*)()">to_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Stripable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_makeup_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_mode_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">comp_mode_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_redux_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_speed_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">comp_speed_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_threshold_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Stripable::*)() const">eq_band_cnt</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">eq_band_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">eq_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_freq_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_gain_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">eq_hpf_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_q_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_shape_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Stripable::*)() const">gain_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_auditioner</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_master</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_monitor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_selected</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">master_send_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MonitorProcessor&gt; (ARDOUR::Stripable::*)() const">monitor_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MuteControl">MuteControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MuteControl&gt; (ARDOUR::Stripable::*)() const">mute_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_azimuth_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_elevation_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_frontback_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_lfe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_width_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PhaseControl">PhaseControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PhaseControl&gt; (ARDOUR::Stripable::*)() const">phase_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresentationInfo">PresentationInfo</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PresentationInfo* (ARDOUR::Stripable::*)()">presentation_info_ptr</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">rec_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">rec_safe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">send_enable_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">send_level_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">send_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Stripable::*)(unsigned int, bool)">set_presentation_order</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloControl">SoloControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloControl&gt; (ARDOUR::Stripable::*)() const">solo_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloIsolateControl">SoloIsolateControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloIsolateControl&gt; (ARDOUR::Stripable::*)() const">solo_isolate_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloSafeControl">SoloSafeControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloSafeControl&gt; (ARDOUR::Stripable::*)() const">solo_safe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Stripable::*)() const">trim_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Route (ARDOUR::Stripable::*)()">to_route</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:Route:ProcessorStreams" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:Route:ProcessorStreams</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::Route::ProcessorStreams</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A record of the stream configuration at some point in the processor list. Used to return where and why an processor list configuration request failed.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.Route.ProcessorStreams</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:RouteGroup" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:RouteGroup</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::RouteGroup</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A group identifier for routes.</p><p> RouteGroups permit to define properties which are shared among all Routes that use the given identifier.</p><p> A route can at most be in one group.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::RouteGroup::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;)">add</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Add a route to a group.  Adding a route which is already in the group is allowed; nothing will happen.  </p><dl><dt class="param-name-index-0">r</dt><dd class="param-descr-index-0"> Route to add.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)()">clear</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)()">destroy_subgroup</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::RouteGroup::*)() const">group_master_number</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">has_subgroup</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_color</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_gain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_monitoring</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_mute</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_recenable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_relative</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_route_active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_select</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RouteGroup::*)() const">is_solo</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool, ARDOUR::Placement)">make_subgroup</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <a class="" href="#ARDOUR.Placement">Placement</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::RouteGroup::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;)">remove</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RouteListPtr">RouteListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; &gt; (ARDOUR::RouteGroup::*)()">route_list</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool, void*)">set_active</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool)">set_color</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool)">set_gain</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool, void*)">set_hidden</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool)">set_monitoring</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool)">set_mute</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool)">set_recenable</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool, void*)">set_relative</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool)">set_route_active</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool)">set_select</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::RouteGroup::*)(bool)">set_solo</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (ARDOUR::RouteGroup::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:RouteGroupList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:RouteGroupList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;ARDOUR::RouteGroup* &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.RouteGroupList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;ARDOUR::RouteGroup* &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;ARDOUR::RouteGroup* &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;ARDOUR::RouteGroup* &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:RouteList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:RouteList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.RouteList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:RouteListPtr" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:RouteListPtr</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.RouteListPtr</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#ARDOUR:Route">Route</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt;::*)(boost::shared_ptr&lt;ARDOUR::Route&gt; const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt;::*)()">unique</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:Session" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:Session</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::Session</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Ardour Session </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)()">abort_reversible_command</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> abort an open undo command This must only be called after begin_reversible_command ()</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Session::*)() const">actively_recording</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)(Command*)">add_command</abbr></span><span class="functionargs"> (<a class="" href="#PBD:Command">Command</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDiffCommand">StatefulDiffCommand</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDiffCommand* (ARDOUR::Session::*)(boost::shared_ptr&lt;PBD::StatefulDestructible&gt;)">add_stateful_diff_command</abbr></span><span class="functionargs"> (<a class="" href="#PBD:StatefulDestructiblePtr">StatefulDestructiblePtr</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> create an StatefulDiffCommand from the given object and add it to the stack.</p><p> This function must only be called after  begin_reversible_command. Failing to do so may lead to a crash.</p><dl><dt class="param-name-index-0">sfd</dt><dd class="param-descr-index-0"> the object to diff </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  the allocated StatefulDiffCommand (already added via add_command)</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)(std::string const&amp;)">begin_reversible_command</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> begin collecting undo information</p><p> This call must always be followed by either begin_reversible_command() or commit_reversible_command()</p><dl><dt class="param-name-index-0">cmd_name</dt><dd class="param-descr-index-0"> human readable name for the undo operation</dd></dl></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SessionConfiguration">SessionConfiguration</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SessionConfiguration* (ARDOUR::Session::*)()">cfg</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)(Command*)">commit_reversible_command</abbr></span><span class="functionargs"> (<a class="" href="#PBD:Command">Command</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> finalize an undo command and commit pending transactions</p><p> This must only be called after begin_reversible_command () </p><dl><dt class="param-name-index-0">cmd</dt><dd class="param-descr-index-0"> (additional) command to add</dd></dl></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:Controllable">Controllable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;PBD::Controllable&gt; (ARDOUR::Session::*)(PBD::ID const&amp;)">controllable_by_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">current_end_frame</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">current_start_frame</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)(bool, bool)">disable_record</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioEngine">AudioEngine</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioEngine&amp; (ARDOUR::Session::*)()">engine</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">frame_rate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> &quot;actual&quot; sample rate of session, set by current audioengine rate, pullup&#47;down etc. </p></div></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Session::*)() const">get_block_size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Session::*)() const">get_play_loop</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Route&gt; (ARDOUR::Session::*)(unsigned int) const">get_remote_nth_route</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Stripable">Stripable</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Stripable&gt; (ARDOUR::Session::*)(unsigned int, ARDOUR::PresentationInfo::Flag) const">get_remote_nth_stripable</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <a class="" href="#ARDOUR.PresentationInfo.Flag">Flag</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RouteListPtr">RouteListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; &gt; (ARDOUR::Session::*)() const">get_routes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:BufferSet">BufferSet</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::BufferSet&amp; (ARDOUR::Session::*)(ARDOUR::ChanCount, bool)">get_scratch_buffers</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:ChanCount">ChanCount</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:BufferSet">BufferSet</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::BufferSet&amp; (ARDOUR::Session::*)(ARDOUR::ChanCount)">get_silent_buffers</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:ChanCount">ChanCount</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RouteListPtr">RouteListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; &gt; (ARDOUR::Session::*)() const">get_tracks</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)()">goto_end</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)(bool)">goto_start</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">last_transport_start</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Locations">Locations</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Locations* (ARDOUR::Session::*)()">locations</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Route&gt; (ARDOUR::Session::*)() const">master_out</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)()">maybe_enable_record</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Route&gt; (ARDOUR::Session::*)() const">monitor_out</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Session::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RouteList">RouteList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; (ARDOUR::Session::*)(int, int, ARDOUR::RouteGroup*, unsigned int, std::string, ARDOUR::PresentationInfo::Flag, unsigned int)">new_audio_route</abbr></span><span class="functionargs"> (<span class="em">int</span>, <span class="em">int</span>, <a class="" href="#ARDOUR:RouteGroup">RouteGroup</a>, <span class="em">unsigned int</span>, <span class="em">std::string</span>, <a class="" href="#ARDOUR.PresentationInfo.Flag">Flag</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioTrackList">AudioTrackList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::AudioTrack&gt; &gt; (ARDOUR::Session::*)(int, int, ARDOUR::RouteGroup*, unsigned int, std::string, unsigned int, ARDOUR::TrackMode)">new_audio_track</abbr></span><span class="functionargs"> (<span class="em">int</span>, <span class="em">int</span>, <a class="" href="#ARDOUR:RouteGroup">RouteGroup</a>, <span class="em">unsigned int</span>, <span class="em">std::string</span>, <span class="em">unsigned int</span>, <a class="" href="#ARDOUR.TrackMode">TrackMode</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RouteList">RouteList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; (ARDOUR::Session::*)(ARDOUR::RouteGroup*, unsigned int, std::string, boost::shared_ptr&lt;ARDOUR::PluginInfo&gt;, ARDOUR::Plugin::PresetRecord*, ARDOUR::PresentationInfo::Flag, unsigned int)">new_midi_route</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:RouteGroup">RouteGroup</a>, <span class="em">unsigned int</span>, <span class="em">std::string</span>, <a class="" href="#ARDOUR:PluginInfo">PluginInfo</a>, <a class="" href="#ARDOUR:PresetRecord">PresetRecord</a>, <a class="" href="#ARDOUR.PresentationInfo.Flag">Flag</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiTrackList">MidiTrackList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::MidiTrack&gt; &gt; (ARDOUR::Session::*)(ARDOUR::ChanCount const&amp;, ARDOUR::ChanCount const&amp;, boost::shared_ptr&lt;ARDOUR::PluginInfo&gt;, ARDOUR::Plugin::PresetRecord*, ARDOUR::RouteGroup*, unsigned int, std::string, unsigned int, ARDOUR::TrackMode)">new_midi_track</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:ChanCount">ChanCount</a>, <a class="" href="#ARDOUR:ChanCount">ChanCount</a>, <a class="" href="#ARDOUR:PluginInfo">PluginInfo</a>, <a class="" href="#ARDOUR:PresetRecord">PresetRecord</a>, <a class="" href="#ARDOUR:RouteGroup">RouteGroup</a>, <span class="em">unsigned int</span>, <span class="em">std::string</span>, <span class="em">unsigned int</span>, <a class="" href="#ARDOUR.TrackMode">TrackMode</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RouteList">RouteList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; (ARDOUR::Session::*)(unsigned int, unsigned int, std::string const&amp;, std::string const&amp;, ARDOUR::PlaylistDisposition)">new_route_from_template</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">unsigned int</span>, <span class="em">std::string</span>, <span class="em">std::string</span>, <a class="" href="#ARDOUR.PlaylistDisposition">PlaylistDisposition</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RouteGroup">RouteGroup</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::RouteGroup* (ARDOUR::Session::*)(std::string const&amp;)">new_route_group</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">nominal_frame_rate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> &quot;native&quot; sample rate of session, regardless of current audioengine rate, pullup&#47;down etc </p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Session::*)() const">path</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Session::*)(PBD::ID) const">processor_by_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.Session.RecordState">RecordState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Session::RecordState (ARDOUR::Session::*)() const">record_status</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)(ARDOUR::RouteGroup*)">remove_route_group</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:RouteGroup">RouteGroup</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)(long, bool)">request_locate</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)(bool, bool)">request_play_loop</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)(bool, bool)">request_stop</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)(double, bool)">request_transport_speed</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Route&gt; (ARDOUR::Session::*)(PBD::ID) const">route_by_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Route&gt; (ARDOUR::Session::*)(std::string) const">route_by_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Route&gt; (ARDOUR::Session::*)(unsigned int) const">route_by_selected_count</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RouteGroupList">RouteGroupList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;ARDOUR::RouteGroup* &gt; const&amp; (ARDOUR::Session::*)() const">route_groups</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>...</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">sample_to_timecode_lua</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Session::*)() const">samples_per_timecode_frame</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Session::*)(std::string, bool, bool, bool)">save_state</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">bool</span>, <span class="em">bool</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> save session </p><dl><dt class="param-name-index-0">snapshot_name</dt><dd class="param-descr-index-0"> name of the session (use an empty string for the current name) </dd><dt class="param-name-index-1">pending</dt><dd class="param-descr-index-1"> save a &#39;recovery&#39;, not full state (default: false) </dd><dt class="param-name-index-2">switch_to_snapshot</dt><dd class="param-descr-index-2"> switch to given snapshot after saving (default: false) </dd><dt class="param-name-index-3">template_only</dt><dd class="param-descr-index-3"> save a session template (default: false) </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  zero on success</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)()">scripts_changed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Session::*)()">set_dirty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Session::*)() const">snap_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Source">Source</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Source&gt; (ARDOUR::Session::*)(PBD::ID const&amp;)">source_by_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:TempoMap">TempoMap</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::TempoMap&amp; (ARDOUR::Session::*)()">tempo_map</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Session::*)() const">timecode_drop_frames</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Session::*)() const">timecode_drop_frames</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">timecode_frames_per_hour</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">timecode_frames_per_hour</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Session::*)() const">timecode_frames_per_second</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Session::*)() const">timecode_frames_per_second</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>...</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">timecode_to_sample_lua</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Track">Track</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Track&gt; (ARDOUR::Session::*)(PBD::ID) const">track_by_diskstream_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">transport_frame</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Session::*)() const">transport_rolling</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Session::*)() const">transport_speed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#C:StringList">StringList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;std::string &gt; (ARDOUR::Session::*)() const">unknown_processors</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">worst_input_latency</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">worst_output_latency</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">worst_playback_latency</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Session::*)() const">worst_track_latency</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:SessionConfiguration" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:SessionConfiguration</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::SessionConfiguration</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:Configuration">PBD:Configuration</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class for objects with saveable and undoable state </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionConfiguration::*)() const">get_audio_search_path</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_auto_input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_auto_play</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_auto_return</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::SessionConfiguration::*)() const">get_destructive_xfade_msecs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_external_sync</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_glue_new_markers_to_bars_and_beats</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_glue_new_regions_to_bars_and_beats</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.InsertMergePolicy">InsertMergePolicy</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::InsertMergePolicy (ARDOUR::SessionConfiguration::*)() const">get_insert_merge_policy</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_jack_time_master</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::SessionConfiguration::*)() const">get_meterbridge_label_height</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_midi_copy_is_fork</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionConfiguration::*)() const">get_midi_search_path</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.SampleFormat">SampleFormat</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SampleFormat (ARDOUR::SessionConfiguration::*)() const">get_native_file_data_format</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.HeaderFormat">HeaderFormat</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::HeaderFormat (ARDOUR::SessionConfiguration::*)() const">get_native_file_header_format</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_punch_in</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_punch_out</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionConfiguration::*)() const">get_raid_path</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_realtime_export</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_busses_on_meterbridge</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_group_tabs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_master_on_meterbridge</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_midi_on_meterbridge</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_monitor_on_meterbridge</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_mute_on_meterbridge</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_name_on_meterbridge</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_rec_on_meterbridge</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_region_fades</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_solo_on_meterbridge</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_show_summary</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionConfiguration::*)() const">get_slave_timecode_offset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::SessionConfiguration::*)() const">get_subframes_per_frame</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionConfiguration::*)() const">get_take_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Timecode.TimecodeFormat">TimecodeFormat</a></td><td class="decl"><span class="functionname"><abbr title="Timecode::TimecodeFormat (ARDOUR::SessionConfiguration::*)() const">get_timecode_format</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionConfiguration::*)() const">get_timecode_generator_offset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::SessionConfiguration::*)() const">get_timecode_offset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_timecode_offset_negative</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_track_name_number</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_track_name_take</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_use_monitor_fades</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_use_region_fades</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_use_transport_fades</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_use_video_file_fps</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_use_video_sync</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::SessionConfiguration::*)() const">get_video_pullup</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)() const">get_videotimeline_pullup</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::SessionConfiguration::*)() const">get_wave_amplitude_zoom</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned short</span></td><td class="decl"><span class="functionname"><abbr title="unsigned short (ARDOUR::SessionConfiguration::*)() const">get_wave_zoom_factor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(std::string)">set_audio_search_path</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_auto_input</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_auto_play</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_auto_return</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(unsigned int)">set_destructive_xfade_msecs</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_external_sync</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_glue_new_markers_to_bars_and_beats</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_glue_new_regions_to_bars_and_beats</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(ARDOUR::InsertMergePolicy)">set_insert_merge_policy</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.InsertMergePolicy">InsertMergePolicy</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_jack_time_master</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(unsigned int)">set_meterbridge_label_height</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_midi_copy_is_fork</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(std::string)">set_midi_search_path</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(ARDOUR::SampleFormat)">set_native_file_data_format</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.SampleFormat">SampleFormat</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(ARDOUR::HeaderFormat)">set_native_file_header_format</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.HeaderFormat">HeaderFormat</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_punch_in</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_punch_out</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(std::string)">set_raid_path</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_realtime_export</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_busses_on_meterbridge</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_group_tabs</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_master_on_meterbridge</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_midi_on_meterbridge</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_monitor_on_meterbridge</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_mute_on_meterbridge</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_name_on_meterbridge</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_rec_on_meterbridge</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_region_fades</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_solo_on_meterbridge</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_show_summary</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(std::string)">set_slave_timecode_offset</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(unsigned int)">set_subframes_per_frame</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(std::string)">set_take_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(Timecode::TimecodeFormat)">set_timecode_format</abbr></span><span class="functionargs"> (<a class="" href="#Timecode.TimecodeFormat">TimecodeFormat</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(std::string)">set_timecode_generator_offset</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(long)">set_timecode_offset</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_timecode_offset_negative</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_track_name_number</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_track_name_take</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_use_monitor_fades</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_use_region_fades</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_use_transport_fades</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_use_video_file_fps</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_use_video_sync</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(float)">set_video_pullup</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(bool)">set_videotimeline_pullup</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(double)">set_wave_amplitude_zoom</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SessionConfiguration::*)(unsigned short)">set_wave_zoom_factor</abbr></span><span class="functionargs"> (<span class="em">unsigned short</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Properties</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">audio_search_path</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">auto_input</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">auto_play</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">auto_return</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">destructive_xfade_msecs</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">external_sync</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">glue_new_markers_to_bars_and_beats</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">glue_new_regions_to_bars_and_beats</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.InsertMergePolicy">ARDOUR.InsertMergePolicy</a></td><td class="decl"><span class="functionname">insert_merge_policy</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">jack_time_master</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">meterbridge_label_height</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">midi_copy_is_fork</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">midi_search_path</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.SampleFormat">ARDOUR.SampleFormat</a></td><td class="decl"><span class="functionname">native_file_data_format</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.HeaderFormat">ARDOUR.HeaderFormat</a></td><td class="decl"><span class="functionname">native_file_header_format</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">punch_in</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">punch_out</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">raid_path</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">realtime_export</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_busses_on_meterbridge</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_group_tabs</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_master_on_meterbridge</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_midi_on_meterbridge</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_monitor_on_meterbridge</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_mute_on_meterbridge</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_name_on_meterbridge</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_rec_on_meterbridge</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_region_fades</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_solo_on_meterbridge</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_summary</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">slave_timecode_offset</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">subframes_per_frame</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">take_name</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Timecode.TimecodeFormat">Timecode.TimecodeFormat</a></td><td class="decl"><span class="functionname">timecode_format</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">timecode_generator_offset</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname">timecode_offset</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">timecode_offset_negative</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">track_name_number</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">track_name_take</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_monitor_fades</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_region_fades</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_transport_fades</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_video_file_fps</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_video_sync</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">video_pullup</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">videotimeline_pullup</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname">wave_amplitude_zoom</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned short</span></td><td class="decl"><span class="functionname">wave_zoom_factor</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:Stateful</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:SessionObject" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:SessionObject</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::SessionObject &gt;, boost::weak_ptr&lt; ARDOUR::SessionObject &gt;</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::SessionObject)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:SessionObject">SessionObject</a>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:SideChain" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:SideChain</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::SideChain &gt;, boost::weak_ptr&lt; ARDOUR::SideChain &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:IOProcessor">ARDOUR:IOProcessor</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A mixer strip element (Processor) with 1 or 2 IO elements.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::SideChain)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:SideChain">SideChain</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:IOProcessor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::IOProcessor::*)()">input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::IOProcessor::*)() const">natural_input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::IOProcessor::*)() const">natural_output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::IOProcessor::*)()">output</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:Processor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">activate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Processor::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">deactivate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Processor::*)() const">display_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Amp (ARDOUR::Processor::*)()">to_amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Processor::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInsert">PluginInsert</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginInsert (ARDOUR::Processor::*)()">to_insert</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IOProcessor">IOProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::IOProcessor (ARDOUR::Processor::*)()">to_ioprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MonitorProcessor (ARDOUR::Processor::*)()">to_monitorprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_peakmeter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SideChain">SideChain</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SideChain (ARDOUR::Processor::*)()">to_sidechain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:UnknownProcessor">UnknownProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::UnknownProcessor (ARDOUR::Processor::*)()">to_unknownprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:SlavableAutomationControl," class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:SlavableAutomationControl,</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::SlavableAutomationControl &gt;, boost::weak_ptr&lt; ARDOUR::SlavableAutomationControl &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:AutomationControl">ARDOUR:AutomationControl</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A PBD::Controllable with associated automation data (AutomationList)</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">add_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)()">clear_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::SlavableAutomationControl::*)() const">get_boolean_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::SlavableAutomationControl::*)() const">get_masters_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">remove_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::SlavableAutomationControl)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:SlavableAutomationControl,">SlavableAutomationControl,</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)() const">slaved</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;) const">slaved_to</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:AutomationControl</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationList">AutomationList</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationList&gt; (ARDOUR::AutomationControl::*)() const">alist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoState">AutoState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoState (ARDOUR::AutomationControl::*)() const">automation_state</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoStyle">AutoStyle</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoStyle (ARDOUR::AutomationControl::*)() const">automation_style</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::AutomationControl::*)() const">get_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current effective `user&#39; value based on automation state </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoState)">set_automation_state</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoState">AutoState</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoStyle)">set_automation_style</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoStyle">AutoStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double, PBD::Controllable::GroupControlDisposition)">set_value</abbr></span><span class="functionargs"> (<span class="em">double</span>, <a class="" href="#PBD.Controllable.GroupControlDisposition">GroupControlDisposition</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get and Set `internal&#39; value</p><p> All derived classes must implement this.</p><p> Basic derived classes will ignore </p><dl><dt class="param-name-index-invalid">group_override,</dt><dd class="param-descr-index-invalid"> but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double)">start_touch</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(bool, double)">stop_touch</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationControl::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Control">Control</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Control (ARDOUR::AutomationControl::*)()">to_ctrl</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Controllable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::Controllable::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:SoloControl" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:SoloControl</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::SoloControl &gt;, boost::weak_ptr&lt; ARDOUR::SoloControl &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SlavableAutomationControl,">ARDOUR:SlavableAutomationControl,</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A PBD::Controllable with associated automation data (AutomationList)</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SoloControl::*)() const">can_solo</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::SoloControl)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:SoloControl">SoloControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SoloControl::*)() const">self_soloed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SoloControl::*)() const">soloed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SlavableAutomationControl,</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">add_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)()">clear_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::SlavableAutomationControl::*)() const">get_boolean_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::SlavableAutomationControl::*)() const">get_masters_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">remove_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)() const">slaved</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;) const">slaved_to</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:AutomationControl</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationList">AutomationList</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationList&gt; (ARDOUR::AutomationControl::*)() const">alist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoState">AutoState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoState (ARDOUR::AutomationControl::*)() const">automation_state</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoStyle">AutoStyle</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoStyle (ARDOUR::AutomationControl::*)() const">automation_style</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::AutomationControl::*)() const">get_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current effective `user&#39; value based on automation state </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoState)">set_automation_state</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoState">AutoState</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoStyle)">set_automation_style</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoStyle">AutoStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double, PBD::Controllable::GroupControlDisposition)">set_value</abbr></span><span class="functionargs"> (<span class="em">double</span>, <a class="" href="#PBD.Controllable.GroupControlDisposition">GroupControlDisposition</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get and Set `internal&#39; value</p><p> All derived classes must implement this.</p><p> Basic derived classes will ignore </p><dl><dt class="param-name-index-invalid">group_override,</dt><dd class="param-descr-index-invalid"> but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double)">start_touch</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(bool, double)">stop_touch</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationControl::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Control">Control</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Control (ARDOUR::AutomationControl::*)()">to_ctrl</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Controllable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::Controllable::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:SoloIsolateControl" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:SoloIsolateControl</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::SoloIsolateControl &gt;, boost::weak_ptr&lt; ARDOUR::SoloIsolateControl &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SlavableAutomationControl,">ARDOUR:SlavableAutomationControl,</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A PBD::Controllable with associated automation data (AutomationList)</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::SoloIsolateControl)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:SoloIsolateControl">SoloIsolateControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SoloIsolateControl::*)() const">self_solo_isolated</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SoloIsolateControl::*)() const">solo_isolated</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SlavableAutomationControl,</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">add_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)()">clear_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::SlavableAutomationControl::*)() const">get_boolean_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::SlavableAutomationControl::*)() const">get_masters_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">remove_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)() const">slaved</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;) const">slaved_to</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:AutomationControl</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationList">AutomationList</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationList&gt; (ARDOUR::AutomationControl::*)() const">alist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoState">AutoState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoState (ARDOUR::AutomationControl::*)() const">automation_state</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoStyle">AutoStyle</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoStyle (ARDOUR::AutomationControl::*)() const">automation_style</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::AutomationControl::*)() const">get_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current effective `user&#39; value based on automation state </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoState)">set_automation_state</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoState">AutoState</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoStyle)">set_automation_style</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoStyle">AutoStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double, PBD::Controllable::GroupControlDisposition)">set_value</abbr></span><span class="functionargs"> (<span class="em">double</span>, <a class="" href="#PBD.Controllable.GroupControlDisposition">GroupControlDisposition</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get and Set `internal&#39; value</p><p> All derived classes must implement this.</p><p> Basic derived classes will ignore </p><dl><dt class="param-name-index-invalid">group_override,</dt><dd class="param-descr-index-invalid"> but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double)">start_touch</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(bool, double)">stop_touch</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationControl::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Control">Control</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Control (ARDOUR::AutomationControl::*)()">to_ctrl</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Controllable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::Controllable::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:SoloSafeControl" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:SoloSafeControl</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::SoloSafeControl &gt;, boost::weak_ptr&lt; ARDOUR::SoloSafeControl &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SlavableAutomationControl,">ARDOUR:SlavableAutomationControl,</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A PBD::Controllable with associated automation data (AutomationList)</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::SoloSafeControl)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:SoloSafeControl">SoloSafeControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SoloSafeControl::*)() const">solo_safe</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SlavableAutomationControl,</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">add_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)()">clear_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::SlavableAutomationControl::*)() const">get_boolean_masters</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::SlavableAutomationControl::*)() const">get_masters_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;)">remove_master</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)() const">slaved</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::SlavableAutomationControl::*)(boost::shared_ptr&lt;ARDOUR::AutomationControl&gt;) const">slaved_to</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomationControl">AutomationControl</a>)</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:AutomationControl</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationList">AutomationList</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationList&gt; (ARDOUR::AutomationControl::*)() const">alist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoState">AutoState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoState (ARDOUR::AutomationControl::*)() const">automation_state</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.AutoStyle">AutoStyle</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AutoStyle (ARDOUR::AutomationControl::*)() const">automation_style</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::AutomationControl::*)() const">get_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current effective `user&#39; value based on automation state </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoState)">set_automation_state</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoState">AutoState</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(ARDOUR::AutoStyle)">set_automation_style</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.AutoStyle">AutoStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double, PBD::Controllable::GroupControlDisposition)">set_value</abbr></span><span class="functionargs"> (<span class="em">double</span>, <a class="" href="#PBD.Controllable.GroupControlDisposition">GroupControlDisposition</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get and Set `internal&#39; value</p><p> All derived classes must implement this.</p><p> Basic derived classes will ignore </p><dl><dt class="param-name-index-invalid">group_override,</dt><dd class="param-descr-index-invalid"> but more sophisticated children, notably those that proxy the value setting logic via an object that is aware of group relationships between this control and others, will find it useful.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(double)">start_touch</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::AutomationControl::*)(bool, double)">stop_touch</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::AutomationControl::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#Evoral:Control">Control</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Control (ARDOUR::AutomationControl::*)()">to_ctrl</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Controllable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::Controllable::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:Source" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Source</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Source &gt;, boost::weak_ptr&lt; ARDOUR::Source &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SessionObject">ARDOUR:SessionObject</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Source::*)()">ancestor_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">can_be_analysed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">destructive</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">has_been_analysed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)(long) const">length</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)() const">natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Source)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Source">Source</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)() const">timeline_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Source::*)() const">timestamp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Source::*)() const">use_count</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">used</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Source::*)() const">writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioSource">AudioSource</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioSource (ARDOUR::Source::*)()">to_audiosource</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiSource">MidiSource</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiSource (ARDOUR::Source::*)()">to_midisource</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:SourceList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:SourceList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;boost::shared_ptr&lt;ARDOUR::Source&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.SourceList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#ARDOUR:Source">Source</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Source">Source</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Source&gt;&amp; (std::vector&lt;boost::shared_ptr&lt;ARDOUR::Source&gt; &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;boost::shared_ptr&lt;ARDOUR::Source&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;boost::shared_ptr&lt;ARDOUR::Source&gt; &gt;::*)(boost::shared_ptr&lt;ARDOUR::Source&gt; const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Source">Source</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;boost::shared_ptr&lt;ARDOUR::Source&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:Stripable" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Stripable</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Stripable &gt;, boost::weak_ptr&lt; ARDOUR::Stripable &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:SessionObject">ARDOUR:SessionObject</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are    expected to be destroyed before the session calls drop_references().</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_makeup_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_mode_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">comp_mode_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_redux_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_speed_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">comp_speed_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_threshold_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Stripable::*)() const">eq_band_cnt</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">eq_band_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">eq_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_freq_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_gain_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">eq_hpf_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_q_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_shape_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Stripable::*)() const">gain_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_auditioner</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_master</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_monitor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_selected</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">master_send_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MonitorProcessor&gt; (ARDOUR::Stripable::*)() const">monitor_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MuteControl">MuteControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MuteControl&gt; (ARDOUR::Stripable::*)() const">mute_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_azimuth_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_elevation_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_frontback_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_lfe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_width_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PhaseControl">PhaseControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PhaseControl&gt; (ARDOUR::Stripable::*)() const">phase_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresentationInfo">PresentationInfo</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PresentationInfo* (ARDOUR::Stripable::*)()">presentation_info_ptr</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">rec_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">rec_safe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Stripable)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Stripable">Stripable</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">send_enable_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">send_level_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">send_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Stripable::*)(unsigned int, bool)">set_presentation_order</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloControl">SoloControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloControl&gt; (ARDOUR::Stripable::*)() const">solo_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloIsolateControl">SoloIsolateControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloIsolateControl&gt; (ARDOUR::Stripable::*)() const">solo_isolate_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloSafeControl">SoloSafeControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloSafeControl&gt; (ARDOUR::Stripable::*)() const">solo_safe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Stripable::*)() const">trim_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Route (ARDOUR::Stripable::*)()">to_route</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:Tempo" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:Tempo</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::Tempo</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Tempo, the speed at which musical time progresses (BPM). </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.Tempo</span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-0">npm</dt><dd class="param-descr-index-0"> Note Types per minute </dd><dt class="param-name-index-1">type</dt><dd class="param-descr-index-1"> Note Type (default `4&#39;: quarter note)</dd></dl></div></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Tempo::*)(long) const">frames_per_note_type</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> audio samples per note type. if you want an instantaneous value for this, use TempoMap::frames_per_quarter_note_at() instead. </p><dl><dt class="param-name-index-0">sr</dt><dd class="param-descr-index-0"> samplerate</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Tempo::*)(long) const">frames_per_quarter_note</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> audio samples per quarter note. if you want an instantaneous value for this, use TempoMap::frames_per_quarter_note_at() instead. </p><dl><dt class="param-name-index-0">sr</dt><dd class="param-descr-index-0"> samplerate</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Tempo::*)() const">note_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Tempo::*)() const">note_types_per_minute</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Tempo::*)() const">quarter_notes_per_minute</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:TempoMap" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:TempoMap</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::TempoMap</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Tempo Map - mapping of timecode to musical time. convert audio-samples, sample-rate to Bar&#47;Beat&#47;Tick, Meter&#47;Tempo</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MeterSection">MeterSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MeterSection* (ARDOUR::TempoMap::*)(ARDOUR::Meter const&amp;, double const&amp;, Timecode::BBT_Time const&amp;, ARDOUR::PositionLockStyle)">add_meter</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Meter">Meter</a>, <span class="em">double</span>, <a class="" href="#Timecode:BBT_TIME">BBT_TIME</a>, <a class="" href="#ARDOUR.PositionLockStyle">PositionLockStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:TempoSection">TempoSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::TempoSection* (ARDOUR::TempoMap::*)(ARDOUR::Tempo const&amp;, double const&amp;, long const&amp;, ARDOUR::TempoSection::Type, ARDOUR::PositionLockStyle)">add_tempo</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Tempo">Tempo</a>, <span class="em">double</span>, <span class="em">long</span>, <a class="" href="#ARDOUR.TempoSection.Type">Type</a>, <a class="" href="#ARDOUR.PositionLockStyle">PositionLockStyle</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Timecode:BBT_TIME">BBT_TIME</a></td><td class="decl"><span class="functionname"><abbr title="Timecode::BBT_Time (ARDOUR::TempoMap::*)(long)">bbt_at_frame</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Returns the BBT time corresponding to the supplied frame position. </p><dl><dt class="param-name-index-0">frame</dt><dd class="param-descr-index-0"> the position in audio samples. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  the BBT time at the frame position .</p></div></div></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::TempoMap::*)(long const&amp;, int) const">exact_beat_at_frame</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::TempoMap::*)(long const&amp;, int) const">exact_qn_at_frame</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MeterSection">MeterSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MeterSection const&amp; (ARDOUR::TempoMap::*)(double) const">meter_section_at_beat</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MeterSection">MeterSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MeterSection const&amp; (ARDOUR::TempoMap::*)(long) const">meter_section_at_frame</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:TempoSection">TempoSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::TempoSection const&amp; (ARDOUR::TempoMap::*)(long) const">tempo_section_at_frame</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:TempoSection" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:TempoSection</h3>
-<p class="cdecl"><em>C&#8225;</em>: ARDOUR::TempoSection</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:MetricSection">ARDOUR:MetricSection</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A section of timeline with a certain Tempo. </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::TempoSection::*)() const">c_func</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:MetricSection</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double const&amp; (ARDOUR::MetricSection::*)() const">pulse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MetricSection::*)(double)">set_pulse</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:Track" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:Track</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::Track &gt;, boost::weak_ptr&lt; ARDOUR::Track &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Route">ARDOUR:Route</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A track is an route (bus) with a recordable diskstream and related objects relevant to tracking, playback and editing.</p><p> Specifically a track has regions and playlist objects.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(ARDOUR::InterThreadInfo&amp;)">bounce</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> bounce track from session start to session end to new region</p><dl><dt class="param-name-index-0">itt</dt><dd class="param-descr-index-0"> asynchronous progress report and cancel </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(long, long, ARDOUR::InterThreadInfo&amp;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool)">bounce_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Bounce the given range to a new audio region. </p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start time (in samples) </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end time (in samples) </dd><dt class="param-name-index-2">itt</dt><dd class="param-descr-index-2"> asynchronous progress report and cancel </dd><dt class="param-name-index-3">endpoint</dt><dd class="param-descr-index-3"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-4">include_endpoint</dt><dd class="param-descr-index-4"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool) const">bounceable</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Test if the track can be bounced with the given settings. If sends&#47;inserts&#47;returns are present in the signal path or the given track has no audio outputs bouncing is not possible.</p><dl><dt class="param-name-index-0">endpoint</dt><dd class="param-descr-index-0"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-1">include_endpoint</dt><dd class="param-descr-index-1"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if the track can be bounced, or false otherwise.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)()">can_record</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Playlist">Playlist</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Playlist&gt; (ARDOUR::Track::*)()">playlist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Track)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Track">Track</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)(std::string const&amp;)">set_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AudioTrack">AudioTrack</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioTrack (ARDOUR::Track::*)()">to_audio_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MidiTrack">MidiTrack</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiTrack (ARDOUR::Track::*)()">to_midi_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Route</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, int, ARDOUR::Route::ProcessorStreams*, bool)">add_processor_by_index</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">int</span>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Add a processor to a route such that it ends up with a given index into the visible processors.  </p><dl><dt class="param-name-index-1">index</dt><dd class="param-descr-index-1"> Index to add the processor at, or -1 to add at the end of the list.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success, non-0 on failure.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">add_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Route::*)()">comment</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, unsigned int, ARDOUR::ChanCount, ARDOUR::ChanCount)">customize_plugin_insert</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">unsigned int</span>, <a class="" href="#ARDOUR:ChanCount">ChanCount</a>, <a class="" href="#ARDOUR:ChanCount">ChanCount</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> enable custom plugin-insert configuration </p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Processor to customize </dd><dt class="param-name-index-1">count</dt><dd class="param-descr-index-1"> number of plugin instances to use (if zero, reset to default) </dd><dt class="param-name-index-2">outs</dt><dd class="param-descr-index-2"> output port customization </dd><dt class="param-name-index-3">sinks</dt><dd class="param-descr-index-3"> input pins for variable-I&#47;O plugins </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if successful</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::Route::*)() const">input</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Delivery">Delivery</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Delivery&gt; (ARDOUR::Route::*)() const">main_outs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> the signal processorat at end of the processing chain which produces output </p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">muted</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::Route::*)() const">n_inputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::Route::*)() const">n_outputs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int) const">nth_plugin</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int)">nth_processor</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)(unsigned int) const">nth_send</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IO">IO</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::IO&gt; (ARDOUR::Route::*)() const">output</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PannerShell">PannerShell</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PannerShell&gt; (ARDOUR::Route::*)() const">panner_shell</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PeakMeter&gt; (ARDOUR::Route::*)()">peak_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief">************************************************************* Pure interface begins here*************************************************************</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, ARDOUR::Route::ProcessorStreams*, bool)">remove_processor</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> remove plugin&#47;processor</p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> processor to remove </dd><dt class="param-name-index-1">err</dt><dd class="param-descr-index-1"> error report (index where removal vailed, channel-count why it failed) may be nil </dd><dt class="param-name-index-2">need_process_lock</dt><dd class="param-descr-index-2"> if locking is required (set to true, unless called from RT context with lock) </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">remove_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, ARDOUR::Route::ProcessorStreams*)">replace_processor</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> replace plugin&#47;processor with another</p><dl><dt class="param-name-index-0">old</dt><dd class="param-descr-index-0"> processor to remove </dd><dt class="param-name-index-1">sub</dt><dd class="param-descr-index-1"> processor to substitute the old one with </dd><dt class="param-name-index-2">err</dt><dd class="param-descr-index-2"> error report (index where removal vailed, channel-count why it failed) may be nil </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">reset_plugin_insert</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> reset plugin-insert configuration to default, disable customizations.</p><p> This is equivalent to calling </p><pre> customize_plugin_insert (proc, 0, unused)</pre><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Processor to reset </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if successful</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(bool, void*)">set_active</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(std::string, void*)">set_comment</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">void*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Route::*)(ARDOUR::MeterPoint, bool)">set_meter_point</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.MeterPoint">MeterPoint</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(bool)">set_strict_io</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">soloed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">strict_io</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (ARDOUR::Route::*)() const">the_instrument</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief">          Return the first processor that accepts has at least one MIDI input     and at least one audio output. In the vast majority of cases, this      will be &quot;the instrument&quot;. This does not preclude other MIDI-&gt;audio         processors later in the processing chain, but that would be a           special case not covered by this utility function.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">trim</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Route::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Track">Track</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Track (ARDOUR::Route::*)()">to_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:Stripable</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_makeup_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_mode_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">comp_mode_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_redux_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_speed_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">comp_speed_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">comp_threshold_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Stripable::*)() const">eq_band_cnt</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">eq_band_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">eq_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_freq_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_gain_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">eq_hpf_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_q_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">eq_shape_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Stripable::*)() const">gain_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_auditioner</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_master</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_monitor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Stripable::*)() const">is_selected</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">master_send_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MonitorProcessor&gt; (ARDOUR::Stripable::*)() const">monitor_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MuteControl">MuteControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MuteControl&gt; (ARDOUR::Stripable::*)() const">mute_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_azimuth_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_elevation_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_frontback_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_lfe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">pan_width_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PhaseControl">PhaseControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PhaseControl&gt; (ARDOUR::Stripable::*)() const">phase_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PresentationInfo">PresentationInfo</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PresentationInfo* (ARDOUR::Stripable::*)()">presentation_info_ptr</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">rec_enable_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)() const">rec_safe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">send_enable_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Stripable::*)(unsigned int) const">send_level_control</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Stripable::*)(unsigned int) const">send_name</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Stripable::*)(unsigned int, bool)">set_presentation_order</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloControl">SoloControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloControl&gt; (ARDOUR::Stripable::*)() const">solo_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloIsolateControl">SoloIsolateControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloIsolateControl&gt; (ARDOUR::Stripable::*)() const">solo_isolate_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SoloSafeControl">SoloSafeControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::SoloSafeControl&gt; (ARDOUR::Stripable::*)() const">solo_safe_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:GainControl">GainControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::GainControl&gt; (ARDOUR::Stripable::*)() const">trim_control</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Route (ARDOUR::Stripable::*)()">to_route</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:UnknownProcessor" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:UnknownProcessor</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::UnknownProcessor &gt;, boost::weak_ptr&lt; ARDOUR::UnknownProcessor &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:Processor">ARDOUR:Processor</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A stub Processor that can be used in place of a `real&#39; one that cannot be  created for some reason; usually because it requires a plugin which is not  present.  UnknownProcessors are special-cased in a few places, notably  in route configuration and signal processing, so that on encountering them  configuration or processing stops.</p><p>  When a Processor is missing from a Route, the following processors cannot  be configured, as the missing Processor&#39;s output port configuration is  unknown.</p><p>  The main utility of the UnknownProcessor is that it allows state  to be preserved, so that, for example, loading and re-saving a  session on a machine without a particular plugin will not corrupt  the session.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::UnknownProcessor)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:UnknownProcessor">UnknownProcessor</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:Processor</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">activate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Processor::*)() const">active</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Processor::*)()">deactivate</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::Processor::*)() const">display_name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">input_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Amp (ARDOUR::Processor::*)()">to_amp</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Processor::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInsert">PluginInsert</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginInsert (ARDOUR::Processor::*)()">to_insert</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:IOProcessor">IOProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::IOProcessor (ARDOUR::Processor::*)()">to_ioprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_meter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:MonitorProcessor">MonitorProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MonitorProcessor (ARDOUR::Processor::*)()">to_monitorprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PeakMeter">PeakMeter</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PeakMeter (ARDOUR::Processor::*)()">to_peakmeter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:SideChain">SideChain</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::SideChain (ARDOUR::Processor::*)()">to_sidechain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:UnknownProcessor">UnknownProcessor</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::UnknownProcessor (ARDOUR::Processor::*)()">to_unknownprocessor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Cast</th></tr>
- <tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ARDOUR:WeakAudioSourceList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:WeakAudioSourceList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;boost::weak_ptr&lt;ARDOUR::AudioSource&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.WeakAudioSourceList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;boost::weak_ptr&lt;ARDOUR::AudioSource&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::weak_ptr&lt;ARDOUR::AudioSource&gt; &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;boost::weak_ptr&lt;ARDOUR::AudioSource&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:WeakRouteList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:WeakRouteList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;boost::weak_ptr&lt;ARDOUR::Route&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.WeakRouteList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;boost::weak_ptr&lt;ARDOUR::Route&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::weak_ptr&lt;ARDOUR::Route&gt; &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;boost::weak_ptr&lt;ARDOUR::Route&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ARDOUR:WeakSourceList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:WeakSourceList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;boost::weak_ptr&lt;ARDOUR::Source&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.WeakSourceList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;boost::weak_ptr&lt;ARDOUR::Source&gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;boost::weak_ptr&lt;ARDOUR::Source&gt; &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;boost::weak_ptr&lt;ARDOUR::Source&gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ArdourUI" class="cls freeclass"><abbr title="Namespace">&Nopf;</abbr>&nbsp;ArdourUI</h3>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (*)(std::string const&amp;)">http_get</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:ProcessorVector">ProcessorVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;boost::shared_ptr&lt;ARDOUR::Processor&gt; &gt; (*)()">processor_selection</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ArdourUI:ArdourMarker" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ArdourUI:ArdourMarker</h3>
-<p class="cdecl"><em>C&#8225;</em>: ArdourMarker</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Location Marker</p><p> Editor ruler representation of a location marker or range on the timeline.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ArdourMarker::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ArdourMarker::*)() const">position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ArdourMarker.Type">Type</a></td><td class="decl"><span class="functionname"><abbr title="ArdourMarker::Type (ArdourMarker::*)()">type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ArdourUI:ArdourMarkerList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ArdourUI:ArdourMarkerList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;ArdourMarker* &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ArdourUI.ArdourMarkerList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<span>ArdourMarker* </span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;ArdourMarker* &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;ArdourMarker* &gt;::*)(ArdourMarker* const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ArdourUI:ArdourMarker">ArdourMarker</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;ArdourMarker* &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;ArdourMarker* &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;ArdourMarker* &gt;::*)()">unique</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ArdourUI:Editor" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ArdourUI:Editor</h3>
-<p class="cdecl"><em>C&#8225;</em>: PublicEditor</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> This class contains just the public interface of the Editor class, in order to decouple it from the private implementation, so that callers of PublicEditor need not be recompiled if private methods or member variables change.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(std::string, std::string)">access_action</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">add_location_from_playhead_cursor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(long)">center_screen</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">consider_auditioning</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Possibly start the audition of a region.  If </p><dl><dt class="param-name-index-0">r</dt><dd class="param-descr-index-0"> is 0, or not an AudioRegion any current audition is cancelled.  If we are currently auditioning </dd><dt class="param-name-index-0">r</dt><dd class="param-descr-index-0"> will start. </dd><dt class="param-name-index-0">r</dt><dd class="param-descr-index-0"> Region to consider.</dd><dt class="param-name-index-invalid">r,</dt><dd class="param-descr-index-invalid"> the audition will be cancelled.  Otherwise an audition of </dd></dl></div></td></tr>
- <tr><td class="def"><a class="" href="#Editing.MouseMode">MouseMode</a></td><td class="decl"><span class="functionname"><abbr title="Editing::MouseMode (PublicEditor::*)() const">current_mouse_mode</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  The current mouse mode (gain, object, range, timefx etc.) (defined in editing_syms.h)</p></div></div></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (PublicEditor::*)() const">current_page_samples</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">deselect_all</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(...)</td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(std::vector&lt;std::string &gt;, Editing::ImportDisposition, Editing::ImportMode, long&amp;, boost::shared_ptr&lt;ARDOUR::PluginInfo&gt;)">do_embed</abbr></span><span class="functionargs"> (<a class="" href="#C:StringVector">StringVector</a>, <a class="" href="#Editing.ImportDisposition">ImportDisposition</a>, <a class="" href="#Editing.ImportMode">ImportMode</a>, <span class="em">long&amp;</span>, <a class="" href="#ARDOUR:PluginInfo">PluginInfo</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(...)</td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(std::vector&lt;std::string &gt;, Editing::ImportDisposition, Editing::ImportMode, ARDOUR::SrcQuality, long&amp;, boost::shared_ptr&lt;ARDOUR::PluginInfo&gt;)">do_import</abbr></span><span class="functionargs"> (<a class="" href="#C:StringVector">StringVector</a>, <a class="" href="#Editing.ImportDisposition">ImportDisposition</a>, <a class="" href="#Editing.ImportMode">ImportMode</a>, <a class="" href="#ARDOUR.SrcQuality">SrcQuality</a>, <span class="em">long&amp;</span>, <a class="" href="#ARDOUR:PluginInfo">PluginInfo</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Import existing media </p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PublicEditor::*)() const">dragging_playhead</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if the playhead is currently being dragged, otherwise false </p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#Editing.MouseMode">MouseMode</a></td><td class="decl"><span class="functionname"><abbr title="Editing::MouseMode (PublicEditor::*)() const">effective_mouse_mode</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">export_audio</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Open main export dialog </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">export_range</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Open export dialog with current range pre-selected </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">export_selection</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Open export dialog with current selection pre-selected </p></div></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<a class="" href="#ARDOUR:Location">Location</a>, ...)</td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Location* (PublicEditor::*)(ArdourMarker*, bool&amp;) const">find_location_from_marker</abbr></span><span class="functionargs"> (<a class="" href="#ArdourUI:ArdourMarker">ArdourMarker</a>, <span class="em">bool&amp;</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ArdourUI:ArdourMarker">ArdourMarker</a></td><td class="decl"><span class="functionname"><abbr title="ArdourMarker* (PublicEditor::*)(PBD::ID const&amp;, bool) const">find_marker_from_location_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PublicEditor::*)() const">follow_playhead</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if the editor is following the playhead </p></div></div></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (PublicEditor::*)() const">get_current_zoom</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ArdourUI:Selection">Selection</a></td><td class="decl"><span class="functionname"><abbr title="Selection&amp; (PublicEditor::*)() const">get_cut_buffer</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (PublicEditor::*)(long)">get_grid_beat_divisions</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<a class="" href="#Evoral:Beats">Beats</a>, ...)</td><td class="decl"><span class="functionname"><abbr title="Evoral::Beats (PublicEditor::*)(bool&amp;, long)">get_grid_type_as_beats</abbr></span><span class="functionargs"> (<span class="em">bool&amp;</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">long</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="long (PublicEditor::*)(long, long&amp;)">get_nudge_distance</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long&amp;</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (PublicEditor::*)(long, unsigned int, long)">get_paste_offset</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">unsigned int</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(...)</td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(double&amp;, double&amp;) const">get_pointer_position</abbr></span><span class="functionargs"> (<span class="em">double&amp;</span>, <span class="em">double&amp;</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ArdourUI:Selection">Selection</a></td><td class="decl"><span class="functionname"><abbr title="Selection&amp; (PublicEditor::*)() const">get_selection</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">bool</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="bool (PublicEditor::*)(long&amp;, long&amp;) const">get_selection_extents</abbr></span><span class="functionargs"> (<span class="em">long&amp;</span>, <span class="em">long&amp;</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PublicEditor::*)() const">get_smart_mode</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (PublicEditor::*)() const">get_videotl_bar_height</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (PublicEditor::*)() const">get_y_origin</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Editing.ZoomFocus">ZoomFocus</a></td><td class="decl"><span class="functionname"><abbr title="Editing::ZoomFocus (PublicEditor::*)() const">get_zoom_focus</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(int)">goto_nth_marker</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (PublicEditor::*)() const">leftmost_sample</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">maximise_editing_space</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(long)">maybe_locate_with_edit_preroll</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(long, bool)">mouse_add_new_marker</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">new_region_from_selection</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">override_visible_track_count</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (PublicEditor::*)(double) const">pixel_to_sample</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">play_selection</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">play_with_preroll</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(unsigned int)">redo</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Redo some transactions. </p><dl><dt class="param-name-index-0">n</dt><dd class="param-descr-index-0"> Number of transaction to redo.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">remove_last_capture</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">remove_location_at_playhead_cursor</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">remove_tracks</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(long)">reset_x_origin</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(double)">reset_y_origin</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(long)">reset_zoom</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">restore_editing_space</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (PublicEditor::*)(long) const">sample_to_pixel</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PublicEditor::*)(bool)">scroll_down_one_track</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">scroll_tracks_down_line</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">scroll_tracks_up_line</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PublicEditor::*)(bool)">scroll_up_one_track</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">select_all_tracks</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">separate_region_from_selection</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(bool, bool)">set_follow_playhead</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set whether the editor should follow the playhead. </p><dl><dt class="param-name-index-0">yn</dt><dd class="param-descr-index-0"> true to follow playhead, otherwise false. </dd><dt class="param-name-index-1">catch_up</dt><dd class="param-descr-index-1"> true to reset the editor view to show the playhead (if yn == true), otherwise false.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(long, long, std::string)">set_loop_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(Editing::MouseMode, bool)">set_mouse_mode</abbr></span><span class="functionargs"> (<a class="" href="#Editing.MouseMode">MouseMode</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the mouse mode (gain, object, range, timefx etc.) </p><dl><dt class="param-name-index-0">m</dt><dd class="param-descr-index-0"> Mouse mode (defined in editing_syms.h) </dd><dt class="param-name-index-1">force</dt><dd class="param-descr-index-1"> Perform the effects of the change even if no change is required (ie even if the current mouse mode is equal to </dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(long, long, std::string)">set_punch_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(bool)">set_show_measures</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(Editing::SnapMode)">set_snap_mode</abbr></span><span class="functionargs"> (<a class="" href="#Editing.SnapMode">SnapMode</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the snap mode. </p><dl><dt class="param-name-index-0">m</dt><dd class="param-descr-index-0"> Snap mode (defined in editing_syms.h)</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(double)">set_snap_threshold</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the snap threshold. </p><dl><dt class="param-name-index-0">t</dt><dd class="param-descr-index-0"> Snap threshold in `units&#39;.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(bool)">set_stationary_playhead</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(int)">set_video_timeline_height</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(Editing::ZoomFocus)">set_zoom_focus</abbr></span><span class="functionargs"> (<a class="" href="#Editing.ZoomFocus">ZoomFocus</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PublicEditor::*)() const">show_measures</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Editing.SnapMode">SnapMode</a></td><td class="decl"><span class="functionname"><abbr title="Editing::SnapMode (PublicEditor::*)() const">snap_mode</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Editing.SnapType">SnapType</a></td><td class="decl"><span class="functionname"><abbr title="Editing::SnapType (PublicEditor::*)() const">snap_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PublicEditor::*)() const">stationary_playhead</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">stem_export</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Open stem export dialog </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(bool)">temporal_zoom_step</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)()">toggle_meter_updating</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(bool)">toggle_ruler_video</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(int)">toggle_xjadeo_proc</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PublicEditor::*)(unsigned int)">undo</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Undo some transactions. </p><dl><dt class="param-name-index-0">n</dt><dd class="param-descr-index-0"> Number of transactions to undo.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (PublicEditor::*)() const">visible_canvas_height</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ArdourUI:MarkerSelection" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ArdourUI:MarkerSelection</h3>
-<p class="cdecl"><em>C&#8225;</em>: MarkerSelection</p>
- <p class="classinfo">is-a: <a class="" href="#ArdourUI:ArdourMarkerList">ArdourUI:ArdourMarkerList</a></p>
-<div class="clear"></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h4 class="cls">Inherited from ArdourUI:ArdourMarkerList</h4>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ArdourUI.ArdourMarkerList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<span>ArdourMarker* </span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;ArdourMarker* &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;ArdourMarker* &gt;::*)(ArdourMarker* const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#ArdourUI:ArdourMarker">ArdourMarker</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;ArdourMarker* &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;ArdourMarker* &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;ArdourMarker* &gt;::*)()">unique</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ArdourUI:RegionSelection" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ArdourUI:RegionSelection</h3>
-<p class="cdecl"><em>C&#8225;</em>: RegionSelection</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Class to represent list of selected regions.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (RegionSelection::*)()">clear_all</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Empty this RegionSelection.</p></div></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (RegionSelection::*)() const">end_frame</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (RegionSelection::*)() const">n_midi_regions</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RegionList">RegionList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; (RegionSelection::*)() const">regionlist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (RegionSelection::*)() const">start</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ArdourUI:Selection" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ArdourUI:Selection</h3>
-<p class="cdecl"><em>C&#8225;</em>: Selection</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> The Selection class holds lists of selected items (tracks, regions, etc. etc.). </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Selection::*)()">clear</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Clear everything from the Selection </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Selection::*)()">clear_all</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (Selection::*)(bool)">empty</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> check if all selections are empty </p><dl><dt class="param-name-index-0">internal_selection</dt><dd class="param-descr-index-0"> also check object internals (e.g midi notes, automation points), when false only check objects. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if nothing is selected.</p></div></div></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><a class="" href="#ArdourUI:MarkerSelection">ArdourUI:MarkerSelection</a></td><td class="decl"><span class="functionname">markers</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ArdourUI:RegionSelection">ArdourUI:RegionSelection</a></td><td class="decl"><span class="functionname">regions</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ArdourUI:TimeSelection">ArdourUI:TimeSelection</a></td><td class="decl"><span class="functionname">time</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ArdourUI:TrackSelection">ArdourUI:TrackSelection</a></td><td class="decl"><span class="functionname">tracks</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="ArdourUI:TimeSelection" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ArdourUI:TimeSelection</h3>
-<p class="cdecl"><em>C&#8225;</em>: TimeSelection</p>
- <p class="classinfo">is-a: <a class="" href="#ARDOUR:AudioRangeList">ARDOUR:AudioRangeList</a></p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (TimeSelection::*)()">end_frame</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (TimeSelection::*)()">length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (TimeSelection::*)()">start</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from ARDOUR:AudioRangeList</h4>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.AudioRangeList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;ARDOUR::AudioRange &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;ARDOUR::AudioRange &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;ARDOUR::AudioRange &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ArdourUI:TrackSelection" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ArdourUI:TrackSelection</h3>
-<p class="cdecl"><em>C&#8225;</em>: TrackSelection</p>
- <p class="classinfo">is-a: <a class="" href="#ArdourUI:TrackViewList">ArdourUI:TrackViewList</a></p>
-<div class="clear"></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h4 class="cls">Inherited from ArdourUI:TrackViewList</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RouteList">RouteList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; (TrackViewList::*)() const">routelist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="ArdourUI:TrackViewList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ArdourUI:TrackViewList</h3>
-<p class="cdecl"><em>C&#8225;</em>: TrackViewList</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:RouteList">RouteList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; (TrackViewList::*)() const">routelist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="C:ByteArray" class="cls array"><abbr title="C Array">&ctdot;</abbr>&nbsp;C:ByteArray</h3>
-<p class="cdecl"><em>C&#8225;</em>: unsigned char*</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaMetaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*)">array</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*)">get_table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned char*</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char* (*)(unsigned int)">offset</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (*)(unsigned char*)">sameinstance</abbr></span><span class="functionargs"> (<span class="em">unsigned char*</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>void</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*)">set_table</abbr></span><span class="functionargs"> (<span class="em">LuaTable {unsigned char}</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="C:DoubleVector" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;C:DoubleVector</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;double &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">C.DoubleVector</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<span class="em">double</span>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double&amp; (std::vector&lt;double &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;double &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;double &gt;::*)(double const&amp;)">push_back</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;double &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="C:FloatArray" class="cls array"><abbr title="C Array">&ctdot;</abbr>&nbsp;C:FloatArray</h3>
-<p class="cdecl"><em>C&#8225;</em>: float*</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaMetaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*)">array</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*)">get_table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#C:FloatArray">FloatArray</a></td><td class="decl"><span class="functionname"><abbr title="float* (*)(unsigned int)">offset</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (*)(float*)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>void</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*)">set_table</abbr></span><span class="functionargs"> (<span class="em">LuaTable {float}</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="C:FloatArrayVector" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;C:FloatArrayVector</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;float* &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">C.FloatArrayVector</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#C:FloatArray">FloatArray</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#C:FloatArray">FloatArray</a></td><td class="decl"><span class="functionname"><abbr title="float*&amp; (std::vector&lt;float* &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;float* &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;float* &gt;::*)(float* const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;float* &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="C:FloatVector" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;C:FloatVector</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;float &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">C.FloatVector</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<span class="em">float</span>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float&amp; (std::vector&lt;float &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;float &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;float &gt;::*)(float const&amp;)">push_back</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;float &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="C:IntArray" class="cls array"><abbr title="C Array">&ctdot;</abbr>&nbsp;C:IntArray</h3>
-<p class="cdecl"><em>C&#8225;</em>: int*</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaMetaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*)">array</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*)">get_table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#C:IntArray">IntArray</a></td><td class="decl"><span class="functionname"><abbr title="int* (*)(unsigned int)">offset</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (*)(int*)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#C:IntArray">IntArray</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>void</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*)">set_table</abbr></span><span class="functionargs"> (<span class="em">LuaTable {int}</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="C:StringList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;C:StringList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::list&lt;std::string &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">C.StringList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<span class="em">std::string</span>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::list&lt;std::string &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;std::string &gt;::*)(std::string const&amp;)">push_back</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;std::string &gt;::*)()">reverse</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::list&lt;std::string &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::list&lt;std::string &gt;::*)()">unique</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="C:StringVector" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;C:StringVector</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;std::string &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">C.StringVector</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<span class="em">std::string</span>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string&amp; (std::vector&lt;std::string &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;std::string &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;std::string &gt;::*)(std::string const&amp;)">push_back</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;std::string &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Cairo:Context" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Cairo:Context</h3>
-<p class="cdecl"><em>C&#8225;</em>: Cairo::Context</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Context is the main class used to draw in cairomm. It contains the current state of the rendering device, including coordinates of yet to be drawn  shapes.</p><p> In the simplest case, create a Context with its target Surface, set its drawing options (line width, color, etc), create shapes with methods like move_to() and line_to(), and then draw the shapes to the Surface using methods such as stroke() or fill().</p><p> Context is a reference-counted object that should be used via Cairo::RefPtr.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double, double, double, double)">arc</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Adds a circular arc of the given radius to the current path. The arc is centered at (<em>xc,</em> <em>yc),</em> begins at <em>angle1</em> and proceeds in the direction of increasing angles to end at <em>angle2.</em> If <em>angle2</em> is less than <em>angle1</em> it will be progressively increased by 2*M_PI until it is greater than <em>angle1.</em></p><p> If there is a current point, an initial line segment will be added to the path to connect the current point to the beginning of the arc. If this initial line is undesired, it can be avoided by calling begin_new_sub_path() before calling arc().</p><p> Angles are measured in radians. An angle of 0 is in the direction of the positive X axis (in user-space). An angle of M_PI&#47;2.0 radians (90 degrees) is in the direction of the positive Y axis (in user-space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction.</p><p> ( To convert from degrees to radians, use degrees * (M_PI &#47; 180.0). )</p><p> This function gives the arc in the direction of increasing angles; see arc_negative() to get the arc in the direction of decreasing angles.</p><p> The arc is circular in user-space. To achieve an elliptical arc, you can scale the current transformation matrix by different amounts in the X and Y directions. For example, to draw an ellipse in the box given by x, y, width, height:</p><pre> context-&gt;save();
- context-&gt;translate(x, y);
- context-&gt;scale(width &#47; 2.0, height &#47; 2.0);
- context-&gt;arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);
- context-&gt;restore();</pre><dl><dt class="param-name-index-0">xc</dt><dd class="param-descr-index-0">        X position of the center of the arc </dd><dt class="param-name-index-1">yc</dt><dd class="param-descr-index-1"> Y position of the center of the arc </dd><dt class="param-name-index-2">radius</dt><dd class="param-descr-index-2">     the radius of the arc </dd><dt class="param-name-index-3">angle1</dt><dd class="param-descr-index-3">   the start angle, in radians </dd><dt class="param-name-index-4">angle2</dt><dd class="param-descr-index-4">     the end angle, in radians</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double, double, double, double)">arc_negative</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Adds a circular arc of the given <em>radius</em> to the current path. The arc is centered at (<em>xc,</em> <em>yc),</em> begins at <em>angle1</em> and proceeds in the direction of decreasing angles to end at <em>angle2.</em> If <em>angle2</em> is greater than <em>angle1</em> it will be progressively decreased by 2*M_PI until it is greater than <em>angle1.</em></p><p> See arc() for more details. This function differs only in the direction of the arc between the two angles.</p><dl><dt class="param-name-index-0">xc</dt><dd class="param-descr-index-0">    X position of the center of the arc </dd><dt class="param-name-index-1">yc</dt><dd class="param-descr-index-1"> Y position of the center of the arc </dd><dt class="param-name-index-2">radius</dt><dd class="param-descr-index-2">     the radius of the arc </dd><dt class="param-name-index-3">angle1</dt><dd class="param-descr-index-3">   the start angle, in radians </dd><dt class="param-name-index-4">angle2</dt><dd class="param-descr-index-4">     the end angle, in radians</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">begin_new_path</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Clears the current path. After this call there will be no current point.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">begin_new_sub_path</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Begin a new subpath. Note that the existing path is not affected. After this call there will be no current point.</p><p> In many cases, this call is not needed since new subpaths are frequently started with move_to().</p><p> A call to begin_new_sub_path() is particularly useful when beginning a new subpath with one of the arc() calls. This makes things easier as it is no longer necessary to manually compute the arc&#39;s initial coordinates for a call to move_to().</p><p> 1.2</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">clip</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Establishes a new clip region by intersecting the current clip region with the current Path as it would be filled by fill() and according to the current fill rule.</p><p> After clip(), the current path will be cleared from the cairo Context.</p><p> The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.</p><p> Calling clip() can only make the clip region smaller, never larger.  But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling clip() within a save()&#47;restore() pair. The only other means of increasing the size of the clip region is reset_clip().</p><p> set_fill_rule()</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">clip_preserve</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by fill() and according to the current fill rule.</p><p> Unlike clip(), clip_preserve preserves the path within the cairo Context.</p><p> clip() </p><p> set_fill_rule()</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">close_path</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Adds a line segment to the path from the current point to the beginning of the current subpath, (the most recent point passed to move_to()), and closes this subpath. After this call the current point will be at the  joined endpoint of the sub-path.</p><p> The behavior of close_path() is distinct from simply calling line_to() with the equivalent coordinate in the case of stroking.  When a closed subpath is stroked, there are no caps on the ends of the subpath. Instead, there is a line join connecting the final and initial segments of the subpath.</p><p> If there is no current point before the call to close_path(), this function will have no effect.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double, double, double, double, double)">curve_to</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Adds a cubic Bezier spline to the path from the current point to position (x3, y3) in user-space coordinates, using (x1, y1) and (x2, y2) as the control points. After this call the current point will be (x3, y3).</p><p> If there is no current point before the call to curve_to() this function will behave as if preceded by a call to move_to(x1, y1).</p><dl><dt class="param-name-index-0">x1</dt><dd class="param-descr-index-0">   the X coordinate of the first control point </dd><dt class="param-name-index-1">y1</dt><dd class="param-descr-index-1"> the Y coordinate of the first control point </dd><dt class="param-name-index-2">x2</dt><dd class="param-descr-index-2"> the X coordinate of the second control point </dd><dt class="param-name-index-3">y2</dt><dd class="param-descr-index-3">        the Y coordinate of the second control point </dd><dt class="param-name-index-4">x3</dt><dd class="param-descr-index-4">        the X coordinate of the end of the curve </dd><dt class="param-name-index-5">y3</dt><dd class="param-descr-index-5">    the Y coordinate of the end of the curve</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">fill</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled). After fill(), the current path will be cleared from the cairo context.</p><p> set_fill_rule() </p><p> fill_preserve()</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">fill_preserve</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled). Unlike fill(), fill_preserve() preserves the path within the cairo Context.</p><p> set_fill_rule() </p><p> fill().</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double)">line_to</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Adds a line to the path from the current point to position (x, y) in user-space coordinates. After this call the current point will be (x, y).</p><p> If there is no current point before the call to line_to() this function will behave as move_to(x, y).</p><dl><dt class="param-name-index-0">x</dt><dd class="param-descr-index-0">      the X coordinate of the end of the new line </dd><dt class="param-name-index-1">y</dt><dd class="param-descr-index-1">  the Y coordinate of the end of the new line</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double)">move_to</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> If the current subpath is not empty, begin a new subpath. After this call the current point will be (x, y).</p><dl><dt class="param-name-index-0">x</dt><dd class="param-descr-index-0">      the X coordinate of the new position </dd><dt class="param-name-index-1">y</dt><dd class="param-descr-index-1"> the Y coordinate of the new position</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">paint</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A drawing operator that paints the current source everywhere within the current clip region.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double)">paint_with_alpha</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A drawing operator that paints the current source everywhere within the current clip region using a mask of constant alpha value alpha. The effect is similar to paint(), but the drawing is faded out using the alpha value.</p><dl><dt class="param-name-index-0">alpha</dt><dd class="param-descr-index-0">        an alpha value, between 0 (transparent) and 1 (opaque)</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double, double, double)">rectangle</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Adds a closed-subpath rectangle of the given size to the current path at position (x, y) in user-space coordinates.</p><p> This function is logically equivalent to:</p><pre> context-&gt;move_to(x, y);
- context-&gt;rel_line_to(width, 0);
- context-&gt;rel_line_to(0, height);
- context-&gt;rel_line_to(-width, 0);
- context-&gt;close_path();</pre><dl><dt class="param-name-index-0">x</dt><dd class="param-descr-index-0">      the X coordinate of the top left corner of the rectangle </dd><dt class="param-name-index-1">y</dt><dd class="param-descr-index-1">     the Y coordinate to the top left corner of the rectangle </dd><dt class="param-name-index-2">width</dt><dd class="param-descr-index-2"> the width of the rectangle </dd><dt class="param-name-index-3">height</dt><dd class="param-descr-index-3">      the height of the rectangle</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double, double, double, double, double)">rel_curve_to</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Relative-coordinate version of curve_to(). All offsets are relative to the current point. Adds a cubic Bezier spline to the path from the current point to a point offset from the current point by (dx3, dy3), using points offset by (dx1, dy1) and (dx2, dy2) as the control points.  After this call the current point will be offset by (dx3, dy3).</p><p> Given a current point of (x, y), </p><pre> rel_curve_to(dx1, dy1, dx2, dy2, dx3, dy3)</pre><p> is logically equivalent to </p><pre> curve_to(x + dx1, y + dy1, x + dx2, y + dy2, x + dx3, y + dy3).</pre><p> It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.</p><dl><dt class="param-name-index-0">dx1</dt><dd class="param-descr-index-0">    the X offset to the first control point </dd><dt class="param-name-index-1">dy1</dt><dd class="param-descr-index-1">    the Y offset to the first control point </dd><dt class="param-name-index-2">dx2</dt><dd class="param-descr-index-2">    the X offset to the second control point </dd><dt class="param-name-index-3">dy2</dt><dd class="param-descr-index-3">   the Y offset to the second control point </dd><dt class="param-name-index-4">dx3</dt><dd class="param-descr-index-4">   the X offset to the end of the curve </dd><dt class="param-name-index-5">dy3</dt><dd class="param-descr-index-5">       the Y offset to the end of the curve</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double)">rel_line_to</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Relative-coordinate version of line_to(). Adds a line to the path from the current point to a point that is offset from the current point by (dx, dy) in user space. After this call the current point will be offset by (dx, dy).</p><p> Given a current point of (x, y), </p><pre> rel_line_to(dx, dy)</pre><p> is logically equivalent to </p><pre> line_to(x + dx, y + dy).</pre><p> It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.</p><dl><dt class="param-name-index-0">dx</dt><dd class="param-descr-index-0"> the X offset to the end of the new line </dd><dt class="param-name-index-1">dy</dt><dd class="param-descr-index-1">     the Y offset to the end of the new line</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double)">rel_move_to</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> If the current subpath is not empty, begin a new subpath. After this call the current point will offset by (x, y).</p><p> Given a current point of (x, y), </p><pre> rel_move_to(dx, dy)</pre><p> is logically equivalent to </p><pre> move_to(x + dx, y + dy)</pre><p> It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.</p><dl><dt class="param-name-index-0">dx</dt><dd class="param-descr-index-0">  the X offset </dd><dt class="param-name-index-1">dy</dt><dd class="param-descr-index-1">        the Y offset</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">reset_clip</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Reset the current clip region to its original, unrestricted state. That is, set the clip region to an infinitely large shape containing the target surface. Equivalently, if infinity is too hard to grasp, one can imagine the clip region being reset to the exact bounds of the target surface.</p><p> Note that code meant to be reusable should not call reset_clip() as it will cause results unexpected by higher-level code which calls clip(). Consider using save() and restore() around clip() as a more robust means of temporarily restricting the clip region.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">restore</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Restores cr to the state saved by a preceding call to save() and removes that state from the stack of saved states.</p><p> save()</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double)">rotate</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Modifies the current transformation matrix (CTM) by rotating the user-space axes by angle radians. The rotation of the axes takes places after any existing transformation of user space. The rotation direction for positive angles is from the positive X axis toward the positive Y axis.</p><dl><dt class="param-name-index-invalid">angle</dt><dd class="param-descr-index-invalid">     angle (in radians) by which the user-space axes will be rotated</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">save</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Makes a copy of the current state of the Context and saves it on an internal stack of saved states. When restore() is called, it will be restored to the saved state. Multiple calls to save() and restore() can be nested; each call to restore() restores the state from the matching paired save().</p><p> It isn&#39;t necessary to clear all saved states before a cairo_t is freed. Any saved states will be freed when the Context is destroyed.</p><p> restore()</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double)">scale</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Modifies the current transformation matrix (CTM) by scaling the X and Y user-space axes by sx and sy respectively. The scaling of the axes takes place after any existing transformation of user space.</p><dl><dt class="param-name-index-0">sx</dt><dd class="param-descr-index-0"> scale factor for the X dimension </dd><dt class="param-name-index-1">sy</dt><dd class="param-descr-index-1">    scale factor for the Y dimension</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(std::vector&lt;double &gt; const&amp;, double)">set_dash</abbr></span><span class="functionargs"> (<a class="" href="#C:DoubleVector">DoubleVector</a>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the dash pattern to be used by stroke(). A dash pattern is specified by dashes, an array of positive values. Each value provides the user-space length of altenate &quot;on&quot; and &quot;off&quot; portions of the stroke. The offset specifies an offset into the pattern at which the stroke begins.</p><p> Each &quot;on&quot; segment will have caps applied as if the segment were a separate sub-path. In particular, it is valid to use an &quot;on&quot; length of 0.0 with Cairo::LINE_CAP_ROUND or Cairo::LINE_CAP_SQUARE in order to distributed dots or squares along a path.</p><p> Note: The length values are in user-space units as evaluated at the time of stroking. This is not necessarily the same as the user space at the time of set_dash().</p><p> If dashes is empty dashing is disabled. If the size of dashes is 1, a symmetric pattern is assumed with alternating on and off portions of the size specified by the single value in dashes.</p><p> It is invalid for any value in dashes to be negative, or for all values to be 0.  If this is the case, an exception will be thrown</p><dl><dt class="param-name-index-0">dashes</dt><dd class="param-descr-index-0">  an array specifying alternate lengths of on and off portions </dd><dt class="param-name-index-1">offset</dt><dd class="param-descr-index-1">    an offset into the dash pattern at which the stroke should start</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double)">set_font_size</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the current font matrix to a scale by a factor of <em>size,</em> replacing any font matrix previously set with set_font_size() or set_font_matrix(). This results in a font size of <em>size</em> user space units. (More precisely, this matrix will result in the font&#39;s em-square being a  by <em>size</em> square in user space.)</p><p> If text is drawn without a call to set_font_size(), (nor set_font_matrix() nor set_scaled_font()), the default font size is 10.0.</p><dl><dt class="param-name-index-0">size</dt><dd class="param-descr-index-0"> the new font size, in user space units)</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(Cairo::LineCap)">set_line_cap</abbr></span><span class="functionargs"> (<a class="" href="#Cairo.LineCap">LineCap</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the current line cap style within the cairo Context. See LineCap for details about how the available line cap styles are drawn.</p><p> As with the other stroke parameters, the current line cap style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.</p><p> The default line cap style is Cairo::LINE_CAP_BUTT.</p><dl><dt class="param-name-index-0">line_cap</dt><dd class="param-descr-index-0">    a line cap style, as a LineCap</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(Cairo::LineJoin)">set_line_join</abbr></span><span class="functionargs"> (<a class="" href="#Cairo.LineJoin">LineJoin</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the current line join style within the cairo Context. See LineJoin for details about how the available line join styles are drawn.</p><p> As with the other stroke parameters, the current line join style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.</p><p> The default line join style is Cairo::LINE_JOIN_MITER.</p><dl><dt class="param-name-index-0">line_join</dt><dd class="param-descr-index-0">    a line joint style, as a LineJoin</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double)">set_line_width</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the current line width within the cairo Context. The line width specifies the diameter of a pen that is circular in user-space, (though  device-space pen may be an ellipse in general due to scaling&#47;shear&#47;rotation  of the CTM).</p><p> Note: When the description above refers to user space and CTM it refers to the user space and CTM in effect at the time of the stroking operation, not the user space and CTM in effect at the time of the call to set_line_width(). The simplest usage makes both of these spaces identical. That is, if there is no change to the CTM between a call to set_line_width() and the stroking operation, then one can just pass user-space values to set_line_width() and ignore this note.</p><p> As with the other stroke parameters, the current line cap style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.</p><p> The default line width value is 2.0.</p><dl><dt class="param-name-index-0">width</dt><dd class="param-descr-index-0">  a line width, as a user-space value</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(Cairo::Operator)">set_operator</abbr></span><span class="functionargs"> (<a class="" href="#Cairo.Operator">Operator</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the compositing operator to be used for all drawing operations. See Operator for details on the semantics of each available compositing operator.</p><dl><dt class="param-name-index-0">op</dt><dd class="param-descr-index-0">  a compositing operator, specified as a Operator</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double, double)">set_source_rgb</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the source pattern within the Context to an opaque color. This opaque color will then be used for any subsequent drawing operation until a new source pattern is set.</p><p> The color components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.</p><p> set_source_rgba() </p><p> set_source()</p><dl><dt class="param-name-index-0">red</dt><dd class="param-descr-index-0">     red component of color </dd><dt class="param-name-index-1">green</dt><dd class="param-descr-index-1">   green component of color </dd><dt class="param-name-index-2">blue</dt><dd class="param-descr-index-2">  blue component of color</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double, double, double)">set_source_rgba</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the source pattern within the Context to a translucent color. This color will then be used for any subsequent drawing operation until a new source pattern is set.</p><p> The color and alpha components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.</p><p> set_source_rgb() </p><p> set_source()</p><dl><dt class="param-name-index-0">red</dt><dd class="param-descr-index-0">       red component of color </dd><dt class="param-name-index-1">green</dt><dd class="param-descr-index-1">   green component of color </dd><dt class="param-name-index-2">blue</dt><dd class="param-descr-index-2">  blue component of color </dd><dt class="param-name-index-3">alpha</dt><dd class="param-descr-index-3">  alpha component of color</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(std::string const&amp;)">show_text</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A drawing operator that generates the shape from a string of UTF-8 characters, rendered according to the current font_face, font_size (font_matrix), and font_options.</p><p> This function first computes a set of glyphs for the string of text. The first glyph is placed so that its origin is at the current point. The origin of each subsequent glyph is offset from that of the previous glyph by the advance values of the previous glyph.</p><p> After this call the current point is moved to the origin of where the next glyph would be placed in this same progression. That is, the current point will be at the origin of the final glyph offset by its advance values. This allows for easy display of a single logical string with multiple calls to show_text().</p><p> Note: The show_text() function call is part of what the cairo designers call the &quot;toy&quot; text API. It is convenient for short demos and simple programs, but it is not expected to be adequate for serious text-using applications. See show_glyphs() for the &quot;real&quot; text display API in cairo.</p><dl><dt class="param-name-index-0">utf8</dt><dd class="param-descr-index-0"> a string containing text encoded in UTF-8</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">stroke</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings. After stroke(), the current Path will be cleared from the cairo Context.</p><p> set_line_width() </p><p> set_line_join() </p><p> set_line_cap() </p><p> set_dash() </p><p> stroke_preserve().</p><p> Note: Degenerate segments and sub-paths are treated specially and provide a useful result. These can result in two different situations:</p><p> 1. Zero-length &quot;on&quot; segments set in set_dash(). If the cap style is Cairo::LINE_CAP_ROUND or Cairo::LINE_CAP_SQUARE then these segments will be drawn as circular dots or squares respectively. In the case of Cairo::LINE_CAP_SQUARE, the orientation of the squares is determined by the direction of the underlying path.</p><p> 2. A sub-path created by move_to() followed by either a close_path() or one or more calls to line_to() to the same coordinate as the move_to(). If the cap style is Cairo::LINE_CAP_ROUND then these sub-paths will be drawn as circular dots. Note that in the case of Cairo::LINE_CAP_SQUARE a degenerate sub-path will not be drawn at all, (since the correct orientation is indeterminate).</p><p> In no case will a cap style of Cairo::LINE_CAP_BUTT cause anything to be drawn in the case of either degenerate segments or sub-paths.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">stroke_preserve</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings. Unlike stroke(), stroke_preserve() preserves the Path within the cairo Context.</p><p> set_line_width() </p><p> set_line_join() </p><p> set_line_cap() </p><p> set_dash() </p><p> stroke_preserve().</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)(double, double)">translate</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Modifies the current transformation matrix (CTM) by translating the user-space origin by (tx, ty). This offset is interpreted as a user-space coordinate according to the CTM in place before the new call to translate. In other words, the translation of the user-space origin takes place after any existing transformation.</p><dl><dt class="param-name-index-0">tx</dt><dd class="param-descr-index-0">        amount to translate in the X direction </dd><dt class="param-name-index-1">ty</dt><dd class="param-descr-index-1">      amount to translate in the Y direction</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Cairo::Context::*)()">unset_dash</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> This function disables a dash pattern that was set with set_dash()</p></div></td></tr>
- </table>
-<h3 id="Cairo:ImageSurface" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Cairo:ImageSurface</h3>
-<p class="cdecl"><em>C&#8225;</em>: LuaCairo::ImageSurface</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> wrap RefPtr&lt; Cairo::ImageSurface &gt;</p><p> Image surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code. The supported image formats are those defined in Cairo::Format.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Cairo.ImageSurface</span><span class="functionargs"> (<a class="" href="#Cairo.Format">Format</a>, <span class="em">int</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#Cairo:Context">Context</a></td><td class="decl"><span class="functionname"><abbr title="Cairo::Context* (LuaCairo::ImageSurface::*)()">context</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Returns a context object to perform operations on the surface</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (LuaCairo::ImageSurface::*)() const">get_height</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Gets the height of the ImageSurface in pixels </p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (LuaCairo::ImageSurface::*)() const">get_stride</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Returns the stride of the image surface in bytes (or 0 if surface is not an image surface). The stride is the distance in bytes from the beginning of one row of the image data to the beginning of the next row.</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (LuaCairo::ImageSurface::*)() const">get_width</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Gets the width of the ImageSurface in pixels </p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (LuaCairo::ImageSurface::*)(Cairo::Context*, int, int)">set_as_source</abbr></span><span class="functionargs"> (<a class="" href="#Cairo:Context">Context</a>, <span class="em">int</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Cairo:PangoLayout" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Cairo:PangoLayout</h3>
-<p class="cdecl"><em>C&#8225;</em>: LuaCairo::PangoLayout</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Cairo.PangoLayout</span><span class="functionargs"> (<a class="" href="#Cairo:Context">Context</a>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#Pango.EllipsizeMode">EllipsizeMode</a></td><td class="decl"><span class="functionname"><abbr title="Pango::EllipsizeMode (LuaCairo::PangoLayout::*)() const">get_ellipsize</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Gets the type of ellipsization being performed for <em>layout.</em> See set_ellipsize()</p><p> Use is_ellipsized() to query whether any paragraphs were actually ellipsized.</p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  The current ellipsization mode for <em>layout.</em></p></div></div></td></tr>
- <tr><td class="def"><em>...</em></td><td class="decl"><span class="functionname"><abbr title="int (LuaCairo::PangoLayout::*)(lua_State*)">get_pixel_size</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Determines the logical width and height of a Pango::Layout in device units.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (LuaCairo::PangoLayout::*)() const">get_text</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Gets the text in the layout. The returned text should not be freed or modified.</p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  The text in the <em>layout.</em>          </p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#Pango.WrapMode">WrapMode</a></td><td class="decl"><span class="functionname"><abbr title="Pango::WrapMode (LuaCairo::PangoLayout::*)() const">get_wrap</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Gets the wrap mode for the layout.</p><p> Use is_wrapped() to query whether any paragraphs were actually wrapped.</p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Active wrap mode.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (LuaCairo::PangoLayout::*)() const">is_ellipsized</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Queries whether the layout had to ellipsize any paragraphs.</p><p> This returns <tt>true</tt> if the ellipsization mode for <em>layout</em> is not Pango::ELLIPSIZE_NONE, a positive width is set on <em>layout,</em> and there are paragraphs exceeding that width that have to be ellipsized.</p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  <tt>true</tt> if any paragraphs had to be ellipsized, <tt>false</tt> otherwise.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (LuaCairo::PangoLayout::*)() const">is_wrapped</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Queries whether the layout had to wrap any paragraphs.</p><p> This returns <tt>true</tt> if a positive width is set on <em>layout,</em> ellipsization mode of <em>layout</em> is set to Pango::ELLIPSIZE_NONE, and there are paragraphs exceeding the layout width that have to be wrapped.</p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  <tt>true</tt> if any paragraphs had to be wrapped, <tt>false</tt> otherwise.</p></div></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (LuaCairo::PangoLayout::*)(Pango::EllipsizeMode)">set_ellipsize</abbr></span><span class="functionargs"> (<a class="" href="#Pango.EllipsizeMode">EllipsizeMode</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the type of ellipsization being performed for <em>layout.</em> Depending on the ellipsization mode <em>ellipsize</em> text is removed from the start, middle, or end of text so they fit within the width and height of layout set with set_width() and set_height().</p><p> If the layout contains characters such as newlines that force it to be layed out in multiple paragraphs, then whether each paragraph is ellipsized separately or the entire layout is ellipsized as a whole depends on the set height of the layout. See set_height() for details.</p><dl><dt class="param-name-index-0">ellipsize</dt><dd class="param-descr-index-0"> The new ellipsization mode for <em>layout.</em>              </dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (LuaCairo::PangoLayout::*)(std::string const&amp;)">set_markup</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the layout text and attribute list from marked-up text (see markup format). Replaces the current text and attribute list. </p><dl><dt class="param-name-index-0">markup</dt><dd class="param-descr-index-0"> Some marked-up text.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (LuaCairo::PangoLayout::*)(std::string const&amp;)">set_text</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the text of the layout. </p><dl><dt class="param-name-index-0">text</dt><dd class="param-descr-index-0"> The text for the layout.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (LuaCairo::PangoLayout::*)(int)">set_width</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the width to which the lines of the Pango::Layout should wrap or ellipsized.  The default value is -1: no width set.</p><dl><dt class="param-name-index-0">width</dt><dd class="param-descr-index-0"> The desired width in Pango units, or -1 to indicate that no wrapping or ellipsization should be performed.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (LuaCairo::PangoLayout::*)(Pango::WrapMode)">set_wrap</abbr></span><span class="functionargs"> (<a class="" href="#Pango.WrapMode">WrapMode</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the wrap mode; the wrap mode only has effect if a width is set on the layout with set_width(). To turn off wrapping, set the width to -1.</p><dl><dt class="param-name-index-0">wrap</dt><dd class="param-descr-index-0"> The wrap mode.</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (LuaCairo::PangoLayout::*)(Cairo::Context*)">show_in_cairo_context</abbr></span><span class="functionargs"> (<a class="" href="#Cairo:Context">Context</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Evoral:Beats" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Evoral:Beats</h3>
-<p class="cdecl"><em>C&#8225;</em>: Evoral::Beats</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Musical time in beats. </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Evoral.Beats</span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Create from a real number of beats. </p></div></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Evoral::Beats::*)() const">to_double</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Evoral:Control" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;Evoral:Control</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; Evoral::Control &gt;, boost::weak_ptr&lt; Evoral::Control &gt;</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class representing some kind of (automatable) control; a fader&#39;s gain,  for example, or a compressor plugin&#39;s threshold.</p><p>  The class knows the Evoral::Parameter that it is controlling, and has  a list of values for automation.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Evoral:ControlList">ControlList</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;Evoral::ControlList&gt; (Evoral::Control::*)()">list</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(Evoral::Control)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Control">Control</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Evoral:ControlList" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;Evoral:ControlList</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; Evoral::ControlList &gt;, boost::weak_ptr&lt; Evoral::ControlList &gt;</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A list (sequence) of time-stamped values for a control</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double, double, bool, bool)">add</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">bool</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> add automation events </p><dl><dt class="param-name-index-0">when</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">value</dt><dd class="param-descr-index-1"> parameter value </dd><dt class="param-name-index-2">with_guards</dt><dd class="param-descr-index-2"> if true, add guard-points </dd><dt class="param-name-index-3">with_initial</dt><dd class="param-descr-index-3"> if true, add an initial point if the list is empty</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double, double)">clear</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> remove all automation events between the given time range </p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start of range (inclusive) in audio samples </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end of range (inclusive) in audio samples</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Evoral::ControlList::*)(double)">eval</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> query value at given time (takes a read-lock, not safe while writing automation) </p><dl><dt class="param-name-index-0">where</dt><dd class="param-descr-index-0"> absolute time in samples </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  parameter value</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (Evoral::ControlList::*)() const">in_write_pass</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Evoral.ControlList.InterpolationStyle">InterpolationStyle</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::ControlList::InterpolationStyle (Evoral::ControlList::*)() const">interpolation</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> query interpolation style of the automation data </p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Interpolation Style</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em>(<span class="em">double</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="double (Evoral::ControlList::*)(double, bool&amp;)">rt_safe_eval</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">bool&amp;</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> realtime safe version of eval, may fail if read-lock cannot be taken </p><dl><dt class="param-name-index-0">where</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">ok</dt><dd class="param-descr-index-1"> boolean reference if returned value is valid </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  parameter value</p></div></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(Evoral::ControlList)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:ControlList">ControlList</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(Evoral::ControlList::InterpolationStyle)">set_interpolation</abbr></span><span class="functionargs"> (<a class="" href="#Evoral.ControlList.InterpolationStyle">InterpolationStyle</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> set the interpolation style of the automation data </p><dl><dt class="param-name-index-0">is</dt><dd class="param-descr-index-0"> interpolation style</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double)">thin</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Thin the number of events in this list.</p><p> The thinning factor corresponds to the area of a triangle computed between three points in the list (time-difference * value-difference). If the area is large, it indicates significant non-linearity between the points.</p><p> Time is measured in samples, value is usually normalized to 0..1.</p><p> During automation recording we thin the recorded points using this value.  If a point is sufficiently co-linear with its neighbours (as defined by the area of the triangle formed by three of them), we will not include it in the list.  The larger the value, the more points are excluded, so this effectively measures the amount of thinning to be done.</p><dl><dt class="param-name-index-0">thinning_factor</dt><dd class="param-descr-index-0"> area-size (default: 20)</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double)">truncate_end</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> truncate the event list after the given time </p><dl><dt class="param-name-index-0">last_coordinate</dt><dd class="param-descr-index-0"> last event to include</dd></dl></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double)">truncate_start</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> truncate the event list to the given time </p><dl><dt class="param-name-index-0">overall_length</dt><dd class="param-descr-index-0"> overall length</dd></dl></div></td></tr>
- </table>
-<h3 id="Evoral:ControlSet" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;Evoral:ControlSet</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; Evoral::ControlSet &gt;, boost::weak_ptr&lt; Evoral::ControlSet &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(Evoral::ControlSet)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:ControlSet">ControlSet</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Evoral:Event" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Evoral:Event</h3>
-<p class="cdecl"><em>C&#8225;</em>: Evoral::Event&lt;long&gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">unsigned char*</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char* (Evoral::Event&lt;long&gt;::*)()">buffer</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Event&lt;long&gt;::*)() const">channel</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::Event&lt;long&gt;::*)()">clear</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::Event&lt;long&gt;::*)(unsigned int, unsigned char*, bool)">set_buffer</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">unsigned char*</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::Event&lt;long&gt;::*)(unsigned char)">set_channel</abbr></span><span class="functionargs"> (<span class="em">unsigned char</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::Event&lt;long&gt;::*)(unsigned char)">set_type</abbr></span><span class="functionargs"> (<span class="em">unsigned char</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (Evoral::Event&lt;long&gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (Evoral::Event&lt;long&gt;::*)()">time</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Event&lt;long&gt;::*)() const">type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Evoral:NotePtr" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;Evoral:NotePtr</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; Evoral::Note&lt;Evoral::Beats&gt; &gt;, boost::weak_ptr&lt; Evoral::Note&lt;Evoral::Beats&gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">channel</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Evoral:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Beats (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">note</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">off_velocity</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(Evoral::Note&lt;Evoral::Beats&gt;)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:NotePtr">NotePtr</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Evoral:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Beats (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">time</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">velocity</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Evoral:Parameter" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Evoral:Parameter</h3>
-<p class="cdecl"><em>C&#8225;</em>: Evoral::Parameter</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> ID of a [play|record|automate]able parameter.</p><p> A parameter is defined by (type, id, channel).  Type is an integer which can be used in any way by the application (e.g. cast to a custom enum, map to&#47;from a URI, etc).  ID is type specific (e.g. MIDI controller #).</p><p> This class defines a &lt; operator which is a strict weak ordering, so Parameter may be stored in a std::set, used as a std::map key, etc.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Evoral.Parameter</span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">unsigned char</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Parameter::*)() const">channel</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (Evoral::Parameter::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (Evoral::Parameter::*)() const">type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Evoral:ParameterDescriptor" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Evoral:ParameterDescriptor</h3>
-<p class="cdecl"><em>C&#8225;</em>: Evoral::ParameterDescriptor</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Description of the value range of a parameter or control. </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Evoral.ParameterDescriptor</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">lower</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Minimum value (in Hz, for frequencies)</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">normal</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Default value</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">toggled</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> True iff parameter is boolean</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">upper</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Maximum value (in Hz, for frequencies)</p></div></td></tr>
- </table>
-<h3 id="Evoral:Range" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Evoral:Range</h3>
-<p class="cdecl"><em>C&#8225;</em>: Evoral::Range&lt;long&gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Evoral.Range</span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname">from</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname">to</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Evoral:Sequence" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;Evoral:Sequence</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; Evoral::Sequence&lt;Evoral::Beats&gt; &gt;, boost::weak_ptr&lt; Evoral::Sequence&lt;Evoral::Beats&gt; &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#Evoral:ControlSet">Evoral:ControlSet</a></p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(Evoral::Sequence&lt;Evoral::Beats&gt;)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Sequence">Sequence</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="LuaSignal:Set" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;LuaSignal:Set</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::bitset&lt;47ul&gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">LuaSignal.Set</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<span>47ul</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::bitset&lt;47ul&gt;::*)() const">any</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::bitset&lt;47ul&gt;::*)() const">count</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::bitset&lt;47ul&gt;::*)() const">none</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#LuaSignal:Set">Set</a></td><td class="decl"><span class="functionname"><abbr title="std::bitset&lt;47ul&gt;&amp; (std::bitset&lt;47ul&gt;::*)()">reset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#LuaSignal:Set">Set</a></td><td class="decl"><span class="functionname"><abbr title="std::bitset&lt;47ul&gt;&amp; (std::bitset&lt;47ul&gt;::*)(unsigned long, bool)">set</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::bitset&lt;47ul&gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::bitset&lt;47ul&gt;::*)(unsigned long) const">test</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="PBD" class="cls freeclass"><abbr title="Namespace">&Nopf;</abbr>&nbsp;PBD</h3>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (*)(std::string const&amp;)">open_uri</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (*)(std::string const&amp;)">open_uri</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="PBD:Command" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;PBD:Command</h3>
-<p class="cdecl"><em>C&#8225;</em>: Command</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:StatefulDestructible">PBD:StatefulDestructible</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class for Undo&#47;Redo commands and changesets </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string const&amp; (Command::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Command::*)(std::string const&amp;)">set_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:Stateful</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="PBD:Configuration" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;PBD:Configuration</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::Configuration</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:Stateful">PBD:Stateful</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class for objects with saveable and undoable state </p></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h4 class="cls">Inherited from PBD:Stateful</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="PBD:Controllable" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;PBD:Controllable</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; PBD::Controllable &gt;, boost::weak_ptr&lt; PBD::Controllable &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:StatefulDestructiblePtr">PBD:StatefulDestructiblePtr</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> This is a pure virtual class to represent a scalar control.</p><p> Note that it contains no storage&#47;state for the controllable thing that it represents. Derived classes must provide set_value()&#47;get_value() methods, which will involve (somehow) an actual location to store the value.</p><p> In essence, this is an interface, not a class.</p><p> Without overriding upper() and lower(), a derived class will function as a control whose value can range between 0 and 1.0.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (PBD::Controllable::*)() const">get_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::Controllable::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(PBD::Controllable)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#PBD:Controllable">Controllable</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="PBD:ID" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;PBD:ID</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::ID</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> a unique ID to identify objects numerically </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">PBD.ID</span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (PBD::ID::*)() const">to_s</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="PBD:IdVector" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;PBD:IdVector</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;PBD::ID &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">PBD.IdVector</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#PBD:ID">ID</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID&amp; (std::vector&lt;PBD::ID &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;PBD::ID &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;PBD::ID &gt;::*)(PBD::ID const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;PBD::ID &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="PBD:RingBuffer8" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;PBD:RingBuffer8</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::RingBufferNPT&lt;unsigned char&gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">PBD.RingBuffer8</span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::RingBufferNPT&lt;unsigned char&gt;::*)(unsigned long)">increment_read_ptr</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::RingBufferNPT&lt;unsigned char&gt;::*)(unsigned long)">increment_write_ptr</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;unsigned char&gt;::*)(unsigned char*, unsigned long)">read</abbr></span><span class="functionargs"> (<span class="em">unsigned char*</span>, <span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;unsigned char&gt;::*)()">read_space</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::RingBufferNPT&lt;unsigned char&gt;::*)()">reset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;unsigned char&gt;::*)(unsigned char const*, unsigned long)">write</abbr></span><span class="functionargs"> (<span class="em">unsigned char*</span>, <span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;unsigned char&gt;::*)(unsigned char)">write_one</abbr></span><span class="functionargs"> (<span class="em">unsigned char</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;unsigned char&gt;::*)()">write_space</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="PBD:RingBufferF" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;PBD:RingBufferF</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::RingBufferNPT&lt;float&gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">PBD.RingBufferF</span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::RingBufferNPT&lt;float&gt;::*)(unsigned long)">increment_read_ptr</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::RingBufferNPT&lt;float&gt;::*)(unsigned long)">increment_write_ptr</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;float&gt;::*)(float*, unsigned long)">read</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;float&gt;::*)()">read_space</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::RingBufferNPT&lt;float&gt;::*)()">reset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;float&gt;::*)(float const*, unsigned long)">write</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArray">FloatArray</a>, <span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;float&gt;::*)(float)">write_one</abbr></span><span class="functionargs"> (<span class="em">float</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;float&gt;::*)()">write_space</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="PBD:RingBufferI" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;PBD:RingBufferI</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::RingBufferNPT&lt;int&gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">PBD.RingBufferI</span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::RingBufferNPT&lt;int&gt;::*)(unsigned long)">increment_read_ptr</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::RingBufferNPT&lt;int&gt;::*)(unsigned long)">increment_write_ptr</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;int&gt;::*)(int*, unsigned long)">read</abbr></span><span class="functionargs"> (<a class="" href="#C:IntArray">IntArray</a>, <span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;int&gt;::*)()">read_space</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::RingBufferNPT&lt;int&gt;::*)()">reset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;int&gt;::*)(int const*, unsigned long)">write</abbr></span><span class="functionargs"> (<a class="" href="#C:IntArray">IntArray</a>, <span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;int&gt;::*)(int)">write_one</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (PBD::RingBufferNPT&lt;int&gt;::*)()">write_space</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="PBD:Stateful" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;PBD:Stateful</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::Stateful</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class for objects with saveable and undoable state </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="PBD:StatefulDestructible" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;PBD:StatefulDestructible</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::StatefulDestructible</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:Stateful">PBD:Stateful</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class for objects with saveable and undoable state with destruction notification </p></div>
-<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
-<h4 class="cls">Inherited from PBD:Stateful</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="PBD:StatefulDestructiblePtr" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;PBD:StatefulDestructiblePtr</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; PBD::StatefulDestructible &gt;, boost::weak_ptr&lt; PBD::StatefulDestructible &gt;</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:StatefulPtr">PBD:StatefulPtr</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class for objects with saveable and undoable state with destruction notification </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(PBD::StatefulDestructible)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:StatefulPtr</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="PBD:StatefulDiffCommand" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;PBD:StatefulDiffCommand</h3>
-<p class="cdecl"><em>C&#8225;</em>: PBD::StatefulDiffCommand</p>
- <p class="classinfo">is-a: <a class="" href="#PBD:Command">PBD:Command</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A Command which stores its action as the differences between the before and after  state of a Stateful object.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (PBD::StatefulDiffCommand::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::StatefulDiffCommand::*)()">undo</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from PBD:Command</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string const&amp; (Command::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Command::*)(std::string const&amp;)">set_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-</table>
-<h4 class="cls">Inherited from PBD:Stateful</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-</table>
-<h3 id="PBD:StatefulPtr" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;PBD:StatefulPtr</h3>
-<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; PBD::Stateful &gt;, boost::weak_ptr&lt; PBD::Stateful &gt;</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Base class for objects with saveable and undoable state </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
- <tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(PBD::Stateful)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#PBD:Stateful">Stateful</a>)</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="PBD:XMLNode" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;PBD:XMLNode</h3>
-<p class="cdecl"><em>C&#8225;</em>: XMLNode</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string const&amp; (XMLNode::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Timecode:BBT_TIME" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Timecode:BBT_TIME</h3>
-<p class="cdecl"><em>C&#8225;</em>: Timecode::BBT_Time</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> Bar, Beat, Tick Time (i.e. Tempo-Based Time) </p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Timecode.BBT_TIME</span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">unsigned int</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">bars</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">beats</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">ticks</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Timecode:Time" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Timecode:Time</h3>
-<p class="cdecl"><em>C&#8225;</em>: Timecode::Time</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Timecode.Time</span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">drop</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Whether this Time uses dropframe Timecode</p></div></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">frames</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Timecode frames (not audio samples)</p></div></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">hours</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">minutes</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">negative</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname">rate</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Frame rate of this Time</p></div></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">seconds</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">subframes</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Typically unused</p></div></td></tr>
- </table>
-<h3 id="Vamp:Plugin" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:Plugin</h3>
-<p class="cdecl"><em>C&#8225;</em>: Vamp::Plugin</p>
- <p class="classinfo">is-a: <a class="" href="#Vamp:PluginBase">Vamp:PluginBase</a></p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief">  Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio or related data.</p><p> In most cases, the input will be audio and the output will be a stream of derived data at a lower sampling resolution than the input.</p><p> Note that this class inherits several abstract methods from PluginBase.  These must be implemented by the subclass.</p><p>  PLUGIN LIFECYCLE</p><p> Feature extraction plugins are managed differently from real-time plugins (such as VST effects).  The main difference is that the parameters for a feature extraction plugin are configured before the plugin is used, and do not change during use.</p><p> 1. Host constructs the plugin, passing it the input sample rate. The plugin may do basic initialisation, but should not do anything computationally expensive at this point.  You must make sure your plugin is cheap to construct, otherwise you&#39;ll seriously affect the startup performance of almost all hosts.  If you have serious initialisation to do, the proper place is in initialise() (step 5).</p><p> 2. Host may query the plugin&#39;s available outputs.</p><p> 3. Host queries programs and parameter descriptors, and may set some or all of them.  Parameters that are not explicitly set should take their default values as specified in the parameter descriptor. When a program is set, the parameter values may change and the host will re-query them to check.</p><p> 4. Host queries the preferred step size, block size and number of channels.  These may all vary depending on the parameter values. (Note however that you cannot make the number of distinct outputs dependent on parameter values.)</p><p> 5. Plugin is properly initialised with a call to initialise.  This fixes the step size, block size, and number of channels, as well as all of the parameter and program settings.  If the values passed in to initialise do not match the plugin&#39;s advertised preferred values from step 4, the plugin may refuse to initialise and return false (although if possible it should accept the new values).  Any computationally expensive setup code should take place here.</p><p> 6. Host finally checks the number of values, resolution, extents etc per output (which may vary depending on the number of channels, step size and block size as well as the parameter values).</p><p> 7. Host will repeatedly call the process method to pass in blocks of input data.  This method may return features extracted from that data (if the plugin is causal).</p><p> 8. Host will call getRemainingFeatures exactly once, after all the input data has been processed.  This may return any non-causal or leftover features.</p><p> 9. At any point after initialise was called, the host may optionally call the reset method and restart processing.  (This does not mean it can change the parameters, which are fixed from initialise until destruction.)</p><p> A plugin does not need to handle the case where setParameter or selectProgram is called after initialise has been called.  It&#39;s the host&#39;s responsibility not to do that.  Similarly, the plugin may safely assume that initialise is called no more than once.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#Vamp.Plugin.InputDomain">InputDomain</a></td><td class="decl"><span class="functionname"><abbr title="Vamp::Plugin::InputDomain (Vamp::Plugin::*)() const">getInputDomain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the plugin&#39;s required input domain.</p><p> If this is TimeDomain, the samples provided to the process() function (below) will be in the time domain, as for a traditional audio processing plugin.</p><p> If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to process().  The input data for the FFT will be rotated so as to place the origin in the centre of the block. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window.</p></div></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (Vamp::Plugin::*)() const">getMaxChannelCount</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the maximum supported number of input channels.</p></div></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (Vamp::Plugin::*)() const">getMinChannelCount</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the minimum supported number of input channels.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#Vamp:Plugin:OutputList">OutputList</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;Vamp::Plugin::OutputDescriptor &gt; (Vamp::Plugin::*)() const">getOutputDescriptors</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the outputs of this plugin.  An output&#39;s index in this list is used as its numeric index when looking it up in the FeatureSet returned from the process() call.</p></div></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (Vamp::Plugin::*)() const">getPreferredBlockSize</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the preferred block size (window size -- the number of sample frames passed in each block to the process() function). This should be called before initialise().</p><p> A plugin that can handle any block size may return 0.  The final block size will be set in the initialise() call.</p></div></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (Vamp::Plugin::*)() const">getPreferredStepSize</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the process() function) for the plugin.  This should be called before initialise().</p><p> A plugin may return 0 if it has no particular interest in the step size.  In this case, the host should make the step size equal to the block size if the plugin is accepting input in the time domain.  If the plugin is accepting input in the frequency domain, the host may use any step size.  The final step size will be set in the initialise() call.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#Vamp:Plugin:FeatureSet">FeatureSet</a></td><td class="decl"><span class="functionname"><abbr title="std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt; (Vamp::Plugin::*)()">getRemainingFeatures</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> After all blocks have been processed, calculate and return any remaining features derived from the complete input.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::Plugin::*)() const">getType</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Used to distinguish between Vamp::Plugin and other potential sibling subclasses of PluginBase.  Do not reimplement this function in your subclass.</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (Vamp::Plugin::*)(unsigned long, unsigned long, unsigned long)">initialise</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>, <span class="em">unsigned long</span>, <span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).</p><p> The input sample rate should have been already specified at construction time.</p><p> Return true for successful initialisation, false if the number of input channels, step size and&#47;or block size cannot be supported.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Vamp::Plugin::*)()">reset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Reset the plugin after use, to prepare it for another clean run.  Not called for the first initialisation (i.e. initialise must also do a reset).</p></div></td></tr>
- </table>
-<h4 class="cls">Inherited from Vamp:PluginBase</h4>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getCopyright</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the copyright statement or licensing summary for the plugin.  This can be an informative text, without the same presentation constraints as mentioned for getMaker above.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getCurrentProgram</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current program.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getDescription</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin&#39;s &quot;name&quot;.  May be empty if the name has said it all already.</p><p> Example: &quot;Detect and count zero crossing points&quot;</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getIdentifier</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the computer-usable name of the plugin.  This should be reasonably short and contain no whitespace or punctuation characters.  It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.</p><p> This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).</p><p> Example: &quot;zero_crossings&quot;</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getMaker</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the name of the author or vendor of the plugin in human-readable form.  This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getName</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get a human-readable name or title of the plugin.  This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin&#39;s &quot;identifier&quot;).</p><p> Example: &quot;Zero Crossings&quot;</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (Vamp::PluginBase::*)(std::string) const">getParameter</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the value of a named parameter.  The argument is the identifier field from that parameter&#39;s descriptor.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#Vamp:PluginBase:ParameterList">ParameterList</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;Vamp::PluginBase::ParameterDescriptor &gt; (Vamp::PluginBase::*)() const">getParameterDescriptors</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the controllable parameters of this plugin.</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (Vamp::PluginBase::*)() const">getPluginVersion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the version number of the plugin.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#C:StringVector">StringVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;std::string &gt; (Vamp::PluginBase::*)() const">getPrograms</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the program settings available in this plugin.  A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and&#47;or non-public internal processing parameters).  The host should re-read the plugin&#39;s parameter values after setting a new program.</p><p> The programs must have unique names.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Vamp::PluginBase::*)(std::string)">selectProgram</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Select a program.  (If the given program name is not one of the available programs, do nothing.)</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Vamp::PluginBase::*)(std::string, float)">setParameter</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set a named parameter.  The first argument is the identifier field from that parameter&#39;s descriptor.</p></div></td></tr>
-</table>
-<h3 id="Vamp:Plugin:Feature" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:Plugin:Feature</h3>
-<p class="cdecl"><em>C&#8225;</em>: Vamp::Plugin::Feature</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><a class="" href="#Vamp:RealTime">Vamp:RealTime</a></td><td class="decl"><span class="functionname">duration</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Duration of the output feature.  This is mandatory if the output has VariableSampleRate or FixedSampleRate and hasDuration is true, and unused otherwise.</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">hasDuration</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> True if an output feature has a specified duration.  This is optional if the output has VariableSampleRate or FixedSampleRate, and and unused if the output has OneSamplePerStep.</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">hasTimestamp</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> True if an output feature has its own timestamp.  This is mandatory if the output has VariableSampleRate, optional if the output has FixedSampleRate, and unused if the output has OneSamplePerStep.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">label</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Label for the sample of this feature.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#Vamp:RealTime">Vamp:RealTime</a></td><td class="decl"><span class="functionname">timestamp</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Timestamp of the output feature.  This is mandatory if the output has VariableSampleRate or if the output has FixedSampleRate and hasTimestamp is true, and unused otherwise.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#C:FloatVector">C:FloatVector</a></td><td class="decl"><span class="functionname">values</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Results for a single sample of this feature.  If the output hasFixedBinCount, there must be the same number of values as the output&#39;s binCount count.</p></div></td></tr>
- </table>
-<h3 id="Vamp:Plugin:FeatureList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:Plugin:FeatureList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;Vamp::Plugin::Feature &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Vamp.Plugin.FeatureList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#Vamp:Plugin:Feature">Feature</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Vamp:Plugin:Feature">Feature</a></td><td class="decl"><span class="functionname"><abbr title="Vamp::Plugin::Feature&amp; (std::vector&lt;Vamp::Plugin::Feature &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;Vamp::Plugin::Feature &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;Vamp::Plugin::Feature &gt;::*)(Vamp::Plugin::Feature const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#Vamp:Plugin:Feature">Feature</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;Vamp::Plugin::Feature &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Vamp:Plugin:FeatureSet" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:Plugin:FeatureSet</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Vamp.Plugin.FeatureSet</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#Vamp:Plugin:Feature">Feature</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>...</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">at</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt;::*)()">clear</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt;::*)(int const&amp;) const">count</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Vamp:Plugin:OutputDescriptor" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:Plugin:OutputDescriptor</h3>
-<p class="cdecl"><em>C&#8225;</em>: Vamp::Plugin::OutputDescriptor</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname">binCount</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> The number of values per result of the output.  Undefined if hasFixedBinCount is false.  If this is zero, the output is point data (i.e. only the time of each output is of interest, the value list will be empty).</p></div></td></tr>
- <tr><td class="def"><a class="" href="#C:StringVector">C:StringVector</a></td><td class="decl"><span class="functionname">binNames</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> The (human-readable) names of each of the bins, if appropriate.  This is always optional.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">description</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A human-readable short text describing the output.  May be empty if the name has said it all already. Example: &quot;The number of zero crossing points per processing block&quot;</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">hasDuration</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> True if the returned results for this output are known to have a duration field.</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">hasFixedBinCount</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> True if the output has the same number of values per sample for every output sample.  Outputs for which this is false are unlikely to be very useful in a general-purpose host.</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">hasKnownExtents</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> True if the results in each output bin fall within a fixed numeric range (minimum and maximum values).  Undefined if binCount is zero.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">identifier</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> The name of the output, in computer-usable form.  Should be reasonably short and without whitespace or punctuation, using the characters [a-zA-Z0-9_-] only. Example: &quot;zero_crossing_count&quot;</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">isQuantized</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> True if the output values are quantized to a particular resolution.  Undefined if binCount is zero.</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">maxValue</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Maximum value of the results in the output.  Undefined if hasKnownExtents is false or binCount is zero.</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">minValue</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Minimum value of the results in the output.  Undefined if hasKnownExtents is false or binCount is zero.</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">quantizeStep</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Quantization resolution of the output values (e.g. 1.0 if they are all integers).  Undefined if isQuantized is false or binCount is zero.</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">sampleRate</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sample rate of the output results, as samples per second. Undefined if sampleType is OneSamplePerStep.</p><p> If sampleType is VariableSampleRate and this value is non-zero, then it may be used to calculate a resolution for the output (i.e. the &quot;duration&quot; of each sample, in time, will be 1&#47;sampleRate seconds).  It&#39;s recommended to set this to zero if that behaviour is not desired.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#Vamp.Plugin.OutputDescriptor.SampleType">Vamp.Plugin.OutputDescriptor.SampleType</a></td><td class="decl"><span class="functionname">sampleType</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Positioning in time of the output results.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">unit</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> The unit of the output, in human-readable form.</p></div></td></tr>
- </table>
-<h3 id="Vamp:Plugin:OutputList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:Plugin:OutputList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;Vamp::Plugin::OutputDescriptor &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Vamp.Plugin.OutputList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#Vamp:Plugin:OutputDescriptor">OutputDescriptor</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Vamp:Plugin:OutputDescriptor">OutputDescriptor</a></td><td class="decl"><span class="functionname"><abbr title="Vamp::Plugin::OutputDescriptor&amp; (std::vector&lt;Vamp::Plugin::OutputDescriptor &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;Vamp::Plugin::OutputDescriptor &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;Vamp::Plugin::OutputDescriptor &gt;::*)(Vamp::Plugin::OutputDescriptor const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#Vamp:Plugin:OutputDescriptor">OutputDescriptor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;Vamp::Plugin::OutputDescriptor &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Vamp:PluginBase" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:PluginBase</h3>
-<p class="cdecl"><em>C&#8225;</em>: Vamp::PluginBase</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief"> A base class for plugins with optional configurable parameters, programs, etc.  The Vamp::Plugin is derived from this, and individual Vamp plugins should derive from that.</p><p> This class does not provide the necessary interfaces to instantiate or run a plugin.  It only specifies an interface for retrieving those controls that the host may wish to show to the user for editing.  It could meaningfully be subclassed by real-time plugins or other sorts of plugin as well as Vamp plugins.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getCopyright</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the copyright statement or licensing summary for the plugin.  This can be an informative text, without the same presentation constraints as mentioned for getMaker above.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getCurrentProgram</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the current program.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getDescription</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin&#39;s &quot;name&quot;.  May be empty if the name has said it all already.</p><p> Example: &quot;Detect and count zero crossing points&quot;</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getIdentifier</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the computer-usable name of the plugin.  This should be reasonably short and contain no whitespace or punctuation characters.  It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.</p><p> This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).</p><p> Example: &quot;zero_crossings&quot;</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getMaker</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the name of the author or vendor of the plugin in human-readable form.  This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getName</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get a human-readable name or title of the plugin.  This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin&#39;s &quot;identifier&quot;).</p><p> Example: &quot;Zero Crossings&quot;</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (Vamp::PluginBase::*)(std::string) const">getParameter</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the value of a named parameter.  The argument is the identifier field from that parameter&#39;s descriptor.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#Vamp:PluginBase:ParameterList">ParameterList</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;Vamp::PluginBase::ParameterDescriptor &gt; (Vamp::PluginBase::*)() const">getParameterDescriptors</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the controllable parameters of this plugin.</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (Vamp::PluginBase::*)() const">getPluginVersion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the version number of the plugin.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#C:StringVector">StringVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;std::string &gt; (Vamp::PluginBase::*)() const">getPrograms</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the program settings available in this plugin.  A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and&#47;or non-public internal processing parameters).  The host should re-read the plugin&#39;s parameter values after setting a new program.</p><p> The programs must have unique names.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getType</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the type of plugin.  This is to be implemented by the immediate subclass, not by actual plugins.  Do not attempt to implement this in plugin code.</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Vamp::PluginBase::*)(std::string)">selectProgram</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Select a program.  (If the given program name is not one of the available programs, do nothing.)</p></div></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Vamp::PluginBase::*)(std::string, float)">setParameter</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set a named parameter.  The first argument is the identifier field from that parameter&#39;s descriptor.</p></div></td></tr>
- </table>
-<h3 id="Vamp:PluginBase:ParameterDescriptor" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:PluginBase:ParameterDescriptor</h3>
-<p class="cdecl"><em>C&#8225;</em>: Vamp::PluginBase::ParameterDescriptor</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">defaultValue</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> The default value of the parameter.  The plugin should ensure that parameters have this value on initialisation (i.e. the host is not required to explicitly set parameters if it wants to use their default values).</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">description</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A human-readable short text describing the parameter.  May be empty if the name has said it all already.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">identifier</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> The name of the parameter, in computer-usable form.  Should be reasonably short, and may only contain the characters [a-zA-Z0-9_-].</p></div></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">isQuantized</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> True if the parameter values are quantized to a particular resolution.</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">maxValue</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> The maximum value of the parameter.</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">minValue</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> The minimum value of the parameter.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">name</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> The human-readable name of the parameter.</p></div></td></tr>
- <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">quantizeStep</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Quantization resolution of the parameter values (e.g. 1.0 if they are all integers).  Undefined if isQuantized is false.</p></div></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">unit</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> The unit of the parameter, in human-readable form.</p></div></td></tr>
- <tr><td class="def"><a class="" href="#C:StringVector">C:StringVector</a></td><td class="decl"><span class="functionname">valueNames</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Names for the quantized values.  If isQuantized is true, this may either be empty or contain one string for each of the quantize steps from minValue up to maxValue inclusive. Undefined if isQuantized is false.</p><p> If these names are provided, they should be shown to the user in preference to the values themselves.  The user may never see the actual numeric values unless they are also encoded in the names.</p></div></td></tr>
- </table>
-<h3 id="Vamp:PluginBase:ParameterList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:PluginBase:ParameterList</h3>
-<p class="cdecl"><em>C&#8225;</em>: std::vector&lt;Vamp::PluginBase::ParameterDescriptor &gt;</p>
-<div class="clear"></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Vamp.PluginBase.ParameterList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#Vamp:PluginBase:ParameterDescriptor">ParameterDescriptor</a>})</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#Vamp:PluginBase:ParameterDescriptor">ParameterDescriptor</a></td><td class="decl"><span class="functionname"><abbr title="Vamp::PluginBase::ParameterDescriptor&amp; (std::vector&lt;Vamp::PluginBase::ParameterDescriptor &gt;::*)(unsigned long)">at</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::vector&lt;Vamp::PluginBase::ParameterDescriptor &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::vector&lt;Vamp::PluginBase::ParameterDescriptor &gt;::*)(Vamp::PluginBase::ParameterDescriptor const&amp;)">push_back</abbr></span><span class="functionargs"> (<a class="" href="#Vamp:PluginBase:ParameterDescriptor">ParameterDescriptor</a>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::vector&lt;Vamp::PluginBase::ParameterDescriptor &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h3 id="Vamp:RealTime" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:RealTime</h3>
-<p class="cdecl"><em>C&#8225;</em>: Vamp::RealTime</p>
-<div class="clear"></div>
-<div class="classdox"><p class="para-brief">  RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conversion functions.</p></div>
-<table class="classmembers">
- <tr><th colspan="3">Constructor</th></tr>
- <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Vamp.RealTime</span><span class="functionargs"> (<span class="em">int</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#Vamp:RealTime">RealTime</a></td><td class="decl"><span class="functionname"><abbr title="Vamp::RealTime (*)(long, unsigned int)">frame2RealTime</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (Vamp::RealTime::*)() const">msec</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (*)(Vamp::RealTime const&amp;, unsigned int)">realTime2Frame</abbr></span><span class="functionargs"> (<a class="" href="#Vamp:RealTime">RealTime</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::RealTime::*)() const">toString</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Return a human-readable debug-type string to full precision (probably not a format to show to a user directly)</p></div></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (Vamp::RealTime::*)() const">usec</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><th colspan="3">Data Members</th></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname">nsec</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname">sec</span></td><td class="fill"></td></tr>
- </table>
-<h2 id="h_enum">Enum/Constants</h2>
-<h3 id="PBD.Controllable.GroupControlDisposition" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;PBD.Controllable.GroupControlDisposition</h3>
-<ul class="enum">
-<li class="const">PBD.GroupControlDisposition.InverseGroup</li>
-<li class="const">PBD.GroupControlDisposition.NoGroup</li>
-<li class="const">PBD.GroupControlDisposition.UseGroup</li>
-</ul>
-<h3 id="Timecode.TimecodeFormat" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Timecode.TimecodeFormat</h3>
-<ul class="enum">
-<li class="const">Timecode.TimecodeFormat.TC23976</li>
-<li class="const">Timecode.TimecodeFormat.TC24</li>
-<li class="const">Timecode.TimecodeFormat.TC24976</li>
-<li class="const">Timecode.TimecodeFormat.TC25</li>
-<li class="const">Timecode.TimecodeFormat.TC2997</li>
-<li class="const">Timecode.TimecodeFormat.TC2997DF</li>
-<li class="const">Timecode.TimecodeFormat.TC2997000</li>
-<li class="const">Timecode.TimecodeFormat.TC2997000DF</li>
-<li class="const">Timecode.TimecodeFormat.TC30</li>
-<li class="const">Timecode.TimecodeFormat.TC5994</li>
-<li class="const">Timecode.TimecodeFormat.TC60</li>
-</ul>
-<h3 id="Evoral.ControlList.InterpolationStyle" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Evoral.ControlList.InterpolationStyle</h3>
-<ul class="enum">
-<li class="const">Evoral.InterpolationStyle.Discrete</li>
-<li class="const">Evoral.InterpolationStyle.Linear</li>
-<li class="const">Evoral.InterpolationStyle.Curved</li>
-</ul>
-<h3 id="Vamp.Plugin.InputDomain" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Vamp.Plugin.InputDomain</h3>
-<ul class="enum">
-<li class="const">Vamp.Plugin.InputDomain.TimeDomain</li>
-<li class="const">Vamp.Plugin.InputDomain.FrequencyDomain</li>
-</ul>
-<h3 id="Vamp.Plugin.OutputDescriptor.SampleType" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Vamp.Plugin.OutputDescriptor.SampleType</h3>
-<ul class="enum">
-<li class="const">Vamp.Plugin.OutputDescriptor.SampleType.OneSamplePerStep</li>
-<li class="const">Vamp.Plugin.OutputDescriptor.SampleType.FixedSampleRate</li>
-<li class="const">Vamp.Plugin.OutputDescriptor.SampleType.VariableSampleRate</li>
-</ul>
-<h3 id="ARDOUR.ChanMapping" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.ChanMapping</h3>
-<ul class="enum">
-<li class="const">ARDOUR.ChanMapping.Invalid</li>
-</ul>
-<h3 id="PBD.PropertyDescriptor&lt;long&gt;*" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;PBD.PropertyDescriptor&lt;long&gt;*</h3>
-<ul class="enum">
-<li class="const">ARDOUR.Properties.Start</li>
-<li class="const">ARDOUR.Properties.Length</li>
-<li class="const">ARDOUR.Properties.Position</li>
-</ul>
-<h3 id="ARDOUR.PresentationInfo" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.PresentationInfo</h3>
-<ul class="enum">
-<li class="const">ARDOUR.PresentationInfo.max_order</li>
-</ul>
-<h3 id="ARDOUR.PluginType" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.PluginType</h3>
-<ul class="enum">
-<li class="const">ARDOUR.PluginType.AudioUnit</li>
-<li class="const">ARDOUR.PluginType.LADSPA</li>
-<li class="const">ARDOUR.PluginType.LV2</li>
-<li class="const">ARDOUR.PluginType.Windows_VST</li>
-<li class="const">ARDOUR.PluginType.LXVST</li>
-<li class="const">ARDOUR.PluginType.Lua</li>
-</ul>
-<h3 id="ARDOUR.PresentationInfo.Flag" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.PresentationInfo.Flag</h3>
-<ul class="enum">
-<li class="const">ARDOUR.PresentationInfo.Flag.AudioTrack</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.MidiTrack</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.AudioBus</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.MidiBus</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.VCA</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.MasterOut</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.MonitorOut</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.Auditioner</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.Selected</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.Hidden</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.GroupOrderSet</li>
-<li class="const">ARDOUR.PresentationInfo.Flag.StatusMask</li>
-</ul>
-<h3 id="ARDOUR.AutoStyle" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.AutoStyle</h3>
-<ul class="enum">
-<li class="const">ARDOUR.AutoStyle.Absolute</li>
-<li class="const">ARDOUR.AutoStyle.Trim</li>
-</ul>
-<h3 id="ARDOUR.AutoState" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.AutoState</h3>
-<ul class="enum">
-<li class="const">ARDOUR.AutoState.Off</li>
-<li class="const">ARDOUR.AutoState.Write</li>
-<li class="const">ARDOUR.AutoState.Touch</li>
-<li class="const">ARDOUR.AutoState.Play</li>
-</ul>
-<h3 id="ARDOUR.AutomationType" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.AutomationType</h3>
-<ul class="enum">
-<li class="const">ARDOUR.AutomationType.GainAutomation</li>
-<li class="const">ARDOUR.AutomationType.PluginAutomation</li>
-<li class="const">ARDOUR.AutomationType.SoloAutomation</li>
-<li class="const">ARDOUR.AutomationType.SoloIsolateAutomation</li>
-<li class="const">ARDOUR.AutomationType.SoloSafeAutomation</li>
-<li class="const">ARDOUR.AutomationType.MuteAutomation</li>
-<li class="const">ARDOUR.AutomationType.RecEnableAutomation</li>
-<li class="const">ARDOUR.AutomationType.RecSafeAutomation</li>
-<li class="const">ARDOUR.AutomationType.TrimAutomation</li>
-<li class="const">ARDOUR.AutomationType.PhaseAutomation</li>
-<li class="const">ARDOUR.AutomationType.MidiCCAutomation</li>
-<li class="const">ARDOUR.AutomationType.MidiPgmChangeAutomation</li>
-<li class="const">ARDOUR.AutomationType.MidiPitchBenderAutomation</li>
-<li class="const">ARDOUR.AutomationType.MidiChannelPressureAutomation</li>
-<li class="const">ARDOUR.AutomationType.MidiNotePressureAutomation</li>
-<li class="const">ARDOUR.AutomationType.MidiSystemExclusiveAutomation</li>
-</ul>
-<h3 id="ARDOUR.SrcQuality" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.SrcQuality</h3>
-<ul class="enum">
-<li class="const">ARDOUR.SrcQuality.SrcBest</li>
-</ul>
-<h3 id="ARDOUR.MeterType" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.MeterType</h3>
-<ul class="enum">
-<li class="const">ARDOUR.MeterType.MeterMaxSignal</li>
-<li class="const">ARDOUR.MeterType.MeterMaxPeak</li>
-<li class="const">ARDOUR.MeterType.MeterPeak</li>
-<li class="const">ARDOUR.MeterType.MeterKrms</li>
-<li class="const">ARDOUR.MeterType.MeterK20</li>
-<li class="const">ARDOUR.MeterType.MeterK14</li>
-<li class="const">ARDOUR.MeterType.MeterIEC1DIN</li>
-<li class="const">ARDOUR.MeterType.MeterIEC1NOR</li>
-<li class="const">ARDOUR.MeterType.MeterIEC2BBC</li>
-<li class="const">ARDOUR.MeterType.MeterIEC2EBU</li>
-<li class="const">ARDOUR.MeterType.MeterVU</li>
-<li class="const">ARDOUR.MeterType.MeterK12</li>
-<li class="const">ARDOUR.MeterType.MeterPeak0dB</li>
-<li class="const">ARDOUR.MeterType.MeterMCP</li>
-</ul>
-<h3 id="ARDOUR.MeterPoint" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.MeterPoint</h3>
-<ul class="enum">
-<li class="const">ARDOUR.MeterPoint.MeterInput</li>
-<li class="const">ARDOUR.MeterPoint.MeterPreFader</li>
-<li class="const">ARDOUR.MeterPoint.MeterPostFader</li>
-<li class="const">ARDOUR.MeterPoint.MeterOutput</li>
-<li class="const">ARDOUR.MeterPoint.MeterCustom</li>
-</ul>
-<h3 id="ARDOUR.Placement" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.Placement</h3>
-<ul class="enum">
-<li class="const">ARDOUR.Placement.PreFader</li>
-<li class="const">ARDOUR.Placement.PostFader</li>
-</ul>
-<h3 id="ARDOUR.NoteMode" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.NoteMode</h3>
-<ul class="enum">
-<li class="const">ARDOUR.NoteMode.Sustained</li>
-<li class="const">ARDOUR.NoteMode.Percussive</li>
-</ul>
-<h3 id="ARDOUR.PortFlags" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.PortFlags</h3>
-<ul class="enum">
-<li class="const">ARDOUR.PortFlags.IsInput</li>
-<li class="const">ARDOUR.PortFlags.IsOutput</li>
-<li class="const">ARDOUR.PortFlags.IsPhysical</li>
-<li class="const">ARDOUR.PortFlags.CanMonitor</li>
-<li class="const">ARDOUR.PortFlags.IsTerminal</li>
-</ul>
-<h3 id="ARDOUR.MidiPortFlags" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.MidiPortFlags</h3>
-<ul class="enum">
-<li class="const">ARDOUR.MidiPortFlags.MidiPortMusic</li>
-<li class="const">ARDOUR.MidiPortFlags.MidiPortControl</li>
-<li class="const">ARDOUR.MidiPortFlags.MidiPortSelection</li>
-<li class="const">ARDOUR.MidiPortFlags.MidiPortVirtual</li>
-</ul>
-<h3 id="ARDOUR.PlaylistDisposition" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.PlaylistDisposition</h3>
-<ul class="enum">
-<li class="const">ARDOUR.PlaylistDisposition.CopyPlaylist</li>
-<li class="const">ARDOUR.PlaylistDisposition.NewPlaylist</li>
-<li class="const">ARDOUR.PlaylistDisposition.SharePlaylist</li>
-</ul>
-<h3 id="ARDOUR.RegionPoint" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.RegionPoint</h3>
-<ul class="enum">
-<li class="const">ARDOUR.RegionPoint.Start</li>
-<li class="const">ARDOUR.RegionPoint.End</li>
-<li class="const">ARDOUR.RegionPoint.SyncPoint</li>
-</ul>
-<h3 id="ARDOUR.PositionLockStyle" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.PositionLockStyle</h3>
-<ul class="enum">
-<li class="const">ARDOUR.TempoSection.PositionLockStyle.AudioTime</li>
-<li class="const">ARDOUR.TempoSection.PositionLockStyle.MusicTime</li>
-</ul>
-<h3 id="ARDOUR.TempoSection.Type" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.TempoSection.Type</h3>
-<ul class="enum">
-<li class="const">ARDOUR.TempoSection.Type.Ramp</li>
-<li class="const">ARDOUR.TempoSection.Type.Constant</li>
-</ul>
-<h3 id="ARDOUR.TrackMode" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.TrackMode</h3>
-<ul class="enum">
-<li class="const">ARDOUR.TrackMode.Normal</li>
-<li class="const">ARDOUR.TrackMode.NonLayered</li>
-<li class="const">ARDOUR.TrackMode.Destructive</li>
-</ul>
-<h3 id="ARDOUR.SampleFormat" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.SampleFormat</h3>
-<ul class="enum">
-<li class="const">ARDOUR.SampleFormat.Float</li>
-<li class="const">ARDOUR.SampleFormat.Int24</li>
-<li class="const">ARDOUR.SampleFormat.Int16</li>
-</ul>
-<h3 id="ARDOUR.HeaderFormat" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.HeaderFormat</h3>
-<ul class="enum">
-<li class="const">ARDOUR.HeaderFormat.BWF</li>
-<li class="const">ARDOUR.HeaderFormat.WAVE</li>
-<li class="const">ARDOUR.HeaderFormat.WAVE64</li>
-<li class="const">ARDOUR.HeaderFormat.CAF</li>
-<li class="const">ARDOUR.HeaderFormat.AIFF</li>
-<li class="const">ARDOUR.HeaderFormat.iXML</li>
-<li class="const">ARDOUR.HeaderFormat.RF64</li>
-<li class="const">ARDOUR.HeaderFormat.RF64_WAV</li>
-<li class="const">ARDOUR.HeaderFormat.MBWF</li>
-</ul>
-<h3 id="ARDOUR.InsertMergePolicy" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.InsertMergePolicy</h3>
-<ul class="enum">
-<li class="const">ARDOUR.InsertMergePolicy.Reject</li>
-<li class="const">ARDOUR.InsertMergePolicy.Relax</li>
-<li class="const">ARDOUR.InsertMergePolicy.Replace</li>
-<li class="const">ARDOUR.InsertMergePolicy.TruncateExisting</li>
-<li class="const">ARDOUR.InsertMergePolicy.TruncateAddition</li>
-<li class="const">ARDOUR.InsertMergePolicy.Extend</li>
-</ul>
-<h3 id="ARDOUR.Session.RecordState" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.Session.RecordState</h3>
-<ul class="enum">
-<li class="const">ARDOUR.Session.RecordState.Disabled</li>
-<li class="const">ARDOUR.Session.RecordState.Enabled</li>
-<li class="const">ARDOUR.Session.RecordState.Recording</li>
-</ul>
-<h3 id="ARDOUR.Location.Flags" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.Location.Flags</h3>
-<ul class="enum">
-<li class="const">ARDOUR.LocationFlags.IsMark</li>
-<li class="const">ARDOUR.LocationFlags.IsAutoPunch</li>
-<li class="const">ARDOUR.LocationFlags.IsAutoLoop</li>
-<li class="const">ARDOUR.LocationFlags.IsHidden</li>
-<li class="const">ARDOUR.LocationFlags.IsCDMarker</li>
-<li class="const">ARDOUR.LocationFlags.IsRangeMarker</li>
-<li class="const">ARDOUR.LocationFlags.IsSessionRange</li>
-<li class="const">ARDOUR.LocationFlags.IsSkip</li>
-<li class="const">ARDOUR.LocationFlags.IsSkipping</li>
-</ul>
-<h3 id="ARDOUR.DSP.Biquad.Type" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.DSP.Biquad.Type</h3>
-<ul class="enum">
-<li class="const">ARDOUR.DSP.BiquadType.LowPass</li>
-<li class="const">ARDOUR.DSP.BiquadType.HighPass</li>
-<li class="const">ARDOUR.DSP.BiquadType.BandPassSkirt</li>
-<li class="const">ARDOUR.DSP.BiquadType.BandPass0dB</li>
-<li class="const">ARDOUR.DSP.BiquadType.Notch</li>
-<li class="const">ARDOUR.DSP.BiquadType.AllPass</li>
-<li class="const">ARDOUR.DSP.BiquadType.Peaking</li>
-<li class="const">ARDOUR.DSP.BiquadType.LowShelf</li>
-<li class="const">ARDOUR.DSP.BiquadType.HighShelf</li>
-</ul>
-<h3 id="Cairo.LineCap" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Cairo.LineCap</h3>
-<ul class="enum">
-<li class="const">Cairo.LineCap.Butt</li>
-<li class="const">Cairo.LineCap.Round</li>
-<li class="const">Cairo.LineCap.Square</li>
-</ul>
-<h3 id="Cairo.LineJoin" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Cairo.LineJoin</h3>
-<ul class="enum">
-<li class="const">Cairo.LineJoin.Miter</li>
-<li class="const">Cairo.LineJoin.Round</li>
-<li class="const">Cairo.LineJoin.Bevel</li>
-</ul>
-<h3 id="Cairo.Operator" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Cairo.Operator</h3>
-<ul class="enum">
-<li class="const">Cairo.Operator.Clear</li>
-<li class="const">Cairo.Operator.Source</li>
-<li class="const">Cairo.Operator.Over</li>
-<li class="const">Cairo.Operator.Add</li>
-</ul>
-<h3 id="Cairo.Format" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Cairo.Format</h3>
-<ul class="enum">
-<li class="const">Cairo.Format.ARGB32</li>
-<li class="const">Cairo.Format.RGB24</li>
-</ul>
-<h3 id="Pango.EllipsizeMode" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Pango.EllipsizeMode</h3>
-<ul class="enum">
-<li class="const">Cairo.EllipsizeMode.None</li>
-<li class="const">Cairo.EllipsizeMode.Start</li>
-<li class="const">Cairo.EllipsizeMode.Middle</li>
-<li class="const">Cairo.EllipsizeMode.End</li>
-</ul>
-<h3 id="Pango.WrapMode" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Pango.WrapMode</h3>
-<ul class="enum">
-<li class="const">Cairo.WrapMode.Word</li>
-<li class="const">Cairo.WrapMode.Char</li>
-<li class="const">Cairo.WrapMode.WordChar</li>
-</ul>
-<h3 id="LuaSignal.LuaSignal" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;LuaSignal.LuaSignal</h3>
-<ul class="enum">
-<li class="const">LuaSignal.ConfigChanged</li>
-<li class="const">LuaSignal.EngineRunning</li>
-<li class="const">LuaSignal.EngineStopped</li>
-<li class="const">LuaSignal.EngineHalted</li>
-<li class="const">LuaSignal.EngineDeviceListChanged</li>
-<li class="const">LuaSignal.BufferSizeChanged</li>
-<li class="const">LuaSignal.SampleRateChanged</li>
-<li class="const">LuaSignal.FeedbackDetected</li>
-<li class="const">LuaSignal.SuccessfulGraphSort</li>
-<li class="const">LuaSignal.StartTimeChanged</li>
-<li class="const">LuaSignal.EndTimeChanged</li>
-<li class="const">LuaSignal.Exported</li>
-<li class="const">LuaSignal.Change</li>
-<li class="const">LuaSignal.SessionConfigChanged</li>
-<li class="const">LuaSignal.TransportStateChange</li>
-<li class="const">LuaSignal.DirtyChanged</li>
-<li class="const">LuaSignal.StateSaved</li>
-<li class="const">LuaSignal.Xrun</li>
-<li class="const">LuaSignal.TransportLooped</li>
-<li class="const">LuaSignal.SoloActive</li>
-<li class="const">LuaSignal.SoloChanged</li>
-<li class="const">LuaSignal.IsolatedChanged</li>
-<li class="const">LuaSignal.MonitorChanged</li>
-<li class="const">LuaSignal.RecordStateChanged</li>
-<li class="const">LuaSignal.RecordArmStateChanged</li>
-<li class="const">LuaSignal.AudioLoopLocationChanged</li>
-<li class="const">LuaSignal.AudioPunchLocationChanged</li>
-<li class="const">LuaSignal.LocationsModified</li>
-<li class="const">LuaSignal.AuditionActive</li>
-<li class="const">LuaSignal.BundleAddedOrRemoved</li>
-<li class="const">LuaSignal.PositionChanged</li>
-<li class="const">LuaSignal.Located</li>
-<li class="const">LuaSignal.RoutesReconnected</li>
-<li class="const">LuaSignal.RouteAdded</li>
-<li class="const">LuaSignal.RouteGroupPropertyChanged</li>
-<li class="const">LuaSignal.RouteAddedToRouteGroup</li>
-<li class="const">LuaSignal.RouteRemovedFromRouteGroup</li>
-<li class="const">LuaSignal.StepEditStatusChange</li>
-<li class="const">LuaSignal.RouteGroupAdded</li>
-<li class="const">LuaSignal.RouteGroupRemoved</li>
-<li class="const">LuaSignal.RouteGroupsReordered</li>
-<li class="const">LuaSignal.PluginListChanged</li>
-<li class="const">LuaSignal.PluginStatusesChanged</li>
-<li class="const">LuaSignal.DiskOverrun</li>
-<li class="const">LuaSignal.DiskUnderrun</li>
-<li class="const">LuaSignal.RegionPropertyChanged</li>
-<li class="const">LuaSignal.LuaTimerDS</li>
-</ul>
-<h3 id="ArdourMarker.Type" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ArdourMarker.Type</h3>
-<ul class="enum">
-<li class="const">ArdourUI.MarkerType.Mark</li>
-<li class="const">ArdourUI.MarkerType.Tempo</li>
-<li class="const">ArdourUI.MarkerType.Meter</li>
-<li class="const">ArdourUI.MarkerType.SessionStart</li>
-<li class="const">ArdourUI.MarkerType.SessionEnd</li>
-<li class="const">ArdourUI.MarkerType.RangeStart</li>
-<li class="const">ArdourUI.MarkerType.RangeEnd</li>
-<li class="const">ArdourUI.MarkerType.LoopStart</li>
-<li class="const">ArdourUI.MarkerType.LoopEnd</li>
-<li class="const">ArdourUI.MarkerType.PunchIn</li>
-<li class="const">ArdourUI.MarkerType.PunchOut</li>
-</ul>
-<h3 id="Editing.SnapType" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Editing.SnapType</h3>
-<ul class="enum">
-<li class="const">Editing.SnapToCDFrame</li>
-<li class="const">Editing.SnapToTimecodeFrame</li>
-<li class="const">Editing.SnapToTimecodeSeconds</li>
-<li class="const">Editing.SnapToTimecodeMinutes</li>
-<li class="const">Editing.SnapToSeconds</li>
-<li class="const">Editing.SnapToMinutes</li>
-<li class="const">Editing.SnapToBeatDiv128</li>
-<li class="const">Editing.SnapToBeatDiv64</li>
-<li class="const">Editing.SnapToBeatDiv32</li>
-<li class="const">Editing.SnapToBeatDiv28</li>
-<li class="const">Editing.SnapToBeatDiv24</li>
-<li class="const">Editing.SnapToBeatDiv20</li>
-<li class="const">Editing.SnapToBeatDiv16</li>
-<li class="const">Editing.SnapToBeatDiv14</li>
-<li class="const">Editing.SnapToBeatDiv12</li>
-<li class="const">Editing.SnapToBeatDiv10</li>
-<li class="const">Editing.SnapToBeatDiv8</li>
-<li class="const">Editing.SnapToBeatDiv7</li>
-<li class="const">Editing.SnapToBeatDiv6</li>
-<li class="const">Editing.SnapToBeatDiv5</li>
-<li class="const">Editing.SnapToBeatDiv4</li>
-<li class="const">Editing.SnapToBeatDiv3</li>
-<li class="const">Editing.SnapToBeatDiv2</li>
-<li class="const">Editing.SnapToBeat</li>
-<li class="const">Editing.SnapToBar</li>
-<li class="const">Editing.SnapToMark</li>
-<li class="const">Editing.SnapToRegionStart</li>
-<li class="const">Editing.SnapToRegionEnd</li>
-<li class="const">Editing.SnapToRegionSync</li>
-<li class="const">Editing.SnapToRegionBoundary</li>
-</ul>
-<h3 id="Editing.SnapMode" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Editing.SnapMode</h3>
-<ul class="enum">
-<li class="const">Editing.SnapOff</li>
-<li class="const">Editing.SnapNormal</li>
-<li class="const">Editing.SnapMagnetic</li>
-</ul>
-<h3 id="Editing.MouseMode" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Editing.MouseMode</h3>
-<ul class="enum">
-<li class="const">Editing.MouseObject</li>
-<li class="const">Editing.MouseRange</li>
-<li class="const">Editing.MouseCut</li>
-<li class="const">Editing.MouseTimeFX</li>
-<li class="const">Editing.MouseAudition</li>
-<li class="const">Editing.MouseDraw</li>
-<li class="const">Editing.MouseContent</li>
-</ul>
-<h3 id="Editing.ZoomFocus" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Editing.ZoomFocus</h3>
-<ul class="enum">
-<li class="const">Editing.ZoomFocusLeft</li>
-<li class="const">Editing.ZoomFocusRight</li>
-<li class="const">Editing.ZoomFocusCenter</li>
-<li class="const">Editing.ZoomFocusPlayhead</li>
-<li class="const">Editing.ZoomFocusMouse</li>
-<li class="const">Editing.ZoomFocusEdit</li>
-</ul>
-<h3 id="Editing.DisplayControl" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Editing.DisplayControl</h3>
-<ul class="enum">
-<li class="const">Editing.FollowPlayhead</li>
-<li class="const">Editing.ShowMeasures</li>
-<li class="const">Editing.ShowWaveforms</li>
-<li class="const">Editing.ShowWaveformsRecording</li>
-</ul>
-<h3 id="Editing.ImportMode" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Editing.ImportMode</h3>
-<ul class="enum">
-<li class="const">Editing.ImportAsRegion</li>
-<li class="const">Editing.ImportToTrack</li>
-<li class="const">Editing.ImportAsTrack</li>
-<li class="const">Editing.ImportAsTapeTrack</li>
-</ul>
-<h3 id="Editing.ImportPosition" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Editing.ImportPosition</h3>
-<ul class="enum">
-<li class="const">Editing.ImportAtTimestamp</li>
-<li class="const">Editing.ImportAtEditPoint</li>
-<li class="const">Editing.ImportAtPlayhead</li>
-<li class="const">Editing.ImportAtStart</li>
-</ul>
-<h3 id="Editing.ImportDisposition" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Editing.ImportDisposition</h3>
-<ul class="enum">
-<li class="const">Editing.ImportDistinctFiles</li>
-<li class="const">Editing.ImportMergeFiles</li>
-<li class="const">Editing.ImportSerializeFiles</li>
-<li class="const">Editing.ImportDistinctChannels</li>
-</ul>
-<h2 id="h_index" >Class Index</h2>
-<ul class="classindex">
-<li><a class="" href="#ARDOUR:Amp">ARDOUR:Amp</a></li>
-<li><a class="" href="#ARDOUR:AudioBackend">ARDOUR:AudioBackend</a></li>
-<li><a class="" href="#ARDOUR:AudioBackendInfo">ARDOUR:AudioBackendInfo</a></li>
-<li><a class="" href="#ARDOUR:AudioBuffer">ARDOUR:AudioBuffer</a></li>
-<li><a class="" href="#ARDOUR:AudioEngine">ARDOUR:AudioEngine</a></li>
-<li><a class="" href="#ARDOUR:AudioPlaylist">ARDOUR:AudioPlaylist</a></li>
-<li><a class="" href="#ARDOUR:AudioPort">ARDOUR:AudioPort</a></li>
-<li><a class="" href="#ARDOUR:AudioRange">ARDOUR:AudioRange</a></li>
-<li><a class="" href="#ARDOUR:AudioRangeList">ARDOUR:AudioRangeList</a></li>
-<li><a class="" href="#ARDOUR:AudioRegion">ARDOUR:AudioRegion</a></li>
-<li><a class="" href="#ARDOUR:AudioSource">ARDOUR:AudioSource</a></li>
-<li><a class="" href="#ARDOUR:AudioTrack">ARDOUR:AudioTrack</a></li>
-<li><a class="" href="#ARDOUR:AudioTrackList">ARDOUR:AudioTrackList</a></li>
-<li><a class="" href="#ARDOUR:Automatable">ARDOUR:Automatable</a></li>
-<li><a class="" href="#ARDOUR:AutomatableSequence">ARDOUR:AutomatableSequence</a></li>
-<li><a class="" href="#ARDOUR:AutomationControl">ARDOUR:AutomationControl</a></li>
-<li><a class="" href="#ARDOUR:AutomationList">ARDOUR:AutomationList</a></li>
-<li><a class="" href="#ARDOUR:BackendVector">ARDOUR:BackendVector</a></li>
-<li><a class="" href="#ARDOUR:BufferSet">ARDOUR:BufferSet</a></li>
-<li><a class="" href="#ARDOUR:ChanCount">ARDOUR:ChanCount</a></li>
-<li><a class="" href="#ARDOUR:ChanMapping">ARDOUR:ChanMapping</a></li>
-<li><a class="" href="#ARDOUR:DSP">ARDOUR.DSP</a></li>
-<li><a class="" href="#ARDOUR:DSP:Biquad">ARDOUR:DSP:Biquad</a></li>
-<li><a class="" href="#ARDOUR:DSP:DspShm">ARDOUR:DSP:DspShm</a></li>
-<li><a class="" href="#ARDOUR:DSP:FFTSpectrum">ARDOUR:DSP:FFTSpectrum</a></li>
-<li><a class="" href="#ARDOUR:DSP:LowPass">ARDOUR:DSP:LowPass</a></li>
-<li><a class="" href="#ARDOUR:DataType">ARDOUR:DataType</a></li>
-<li><a class="" href="#ARDOUR:Delivery">ARDOUR:Delivery</a></li>
-<li><a class="" href="#ARDOUR:DeviceStatus">ARDOUR:DeviceStatus</a></li>
-<li><a class="" href="#ARDOUR:DeviceStatusVector">ARDOUR:DeviceStatusVector</a></li>
-<li><a class="" href="#ARDOUR:FluidSynth">ARDOUR:FluidSynth</a></li>
-<li><a class="" href="#ARDOUR:GainControl">ARDOUR:GainControl</a></li>
-<li><a class="" href="#ARDOUR:IO">ARDOUR:IO</a></li>
-<li><a class="" href="#ARDOUR:IOProcessor">ARDOUR:IOProcessor</a></li>
-<li><a class="" href="#ARDOUR:InterThreadInfo">ARDOUR:InterThreadInfo</a></li>
-<li><a class="" href="#ARDOUR:Location">ARDOUR:Location</a></li>
-<li><a class="" href="#ARDOUR:LocationList">ARDOUR:LocationList</a></li>
-<li><a class="" href="#ARDOUR:Locations">ARDOUR:Locations</a></li>
-<li><a class="" href="#ARDOUR:LuaAPI">ARDOUR.LuaAPI</a></li>
-<li><a class="" href="#ARDOUR:LuaAPI:Vamp">ARDOUR:LuaAPI:Vamp</a></li>
-<li><a class="" href="#ARDOUR:LuaOSC:Address">ARDOUR:LuaOSC:Address</a></li>
-<li><a class="" href="#ARDOUR:LuaProc">ARDOUR:LuaProc</a></li>
-<li><a class="" href="#ARDOUR:LuaTableRef">ARDOUR:LuaTableRef</a></li>
-<li><a class="" href="#ARDOUR:Meter">ARDOUR:Meter</a></li>
-<li><a class="" href="#ARDOUR:MeterSection">ARDOUR:MeterSection</a></li>
-<li><a class="" href="#ARDOUR:MetricSection">ARDOUR:MetricSection</a></li>
-<li><a class="" href="#ARDOUR:MidiBuffer">ARDOUR:MidiBuffer</a></li>
-<li><a class="" href="#ARDOUR:MidiModel">ARDOUR:MidiModel</a></li>
-<li><a class="" href="#ARDOUR:MidiModel:DiffCommand">ARDOUR:MidiModel:DiffCommand</a></li>
-<li><a class="" href="#ARDOUR:MidiModel:NoteDiffCommand">ARDOUR:MidiModel:NoteDiffCommand</a></li>
-<li><a class="" href="#ARDOUR:MidiPlaylist">ARDOUR:MidiPlaylist</a></li>
-<li><a class="" href="#ARDOUR:MidiPort">ARDOUR:MidiPort</a></li>
-<li><a class="" href="#ARDOUR:MidiRegion">ARDOUR:MidiRegion</a></li>
-<li><a class="" href="#ARDOUR:MidiSource">ARDOUR:MidiSource</a></li>
-<li><a class="" href="#ARDOUR:MidiTrack">ARDOUR:MidiTrack</a></li>
-<li><a class="" href="#ARDOUR:MidiTrackList">ARDOUR:MidiTrackList</a></li>
-<li><a class="" href="#ARDOUR:MonitorProcessor">ARDOUR:MonitorProcessor</a></li>
-<li><a class="" href="#ARDOUR:MuteControl">ARDOUR:MuteControl</a></li>
-<li><a class="" href="#ARDOUR:OwnedPropertyList">ARDOUR:OwnedPropertyList</a></li>
-<li><a class="" href="#ARDOUR:PannerShell">ARDOUR:PannerShell</a></li>
-<li><a class="" href="#ARDOUR:ParameterDescriptor">ARDOUR:ParameterDescriptor</a></li>
-<li><a class="" href="#ARDOUR:PeakMeter">ARDOUR:PeakMeter</a></li>
-<li><a class="" href="#ARDOUR:PhaseControl">ARDOUR:PhaseControl</a></li>
-<li><a class="" href="#ARDOUR:Playlist">ARDOUR:Playlist</a></li>
-<li><a class="" href="#ARDOUR:Plugin">ARDOUR:Plugin</a></li>
-<li><a class="" href="#ARDOUR:Plugin:IOPortDescription">ARDOUR:Plugin:IOPortDescription</a></li>
-<li><a class="" href="#ARDOUR:PluginControl">ARDOUR:PluginControl</a></li>
-<li><a class="" href="#ARDOUR:PluginInfo">ARDOUR:PluginInfo</a></li>
-<li><a class="" href="#ARDOUR:PluginInsert">ARDOUR:PluginInsert</a></li>
-<li><a class="" href="#ARDOUR:Port">ARDOUR:Port</a></li>
-<li><a class="" href="#ARDOUR:PortEngine">ARDOUR:PortEngine</a></li>
-<li><a class="" href="#ARDOUR:PortList">ARDOUR:PortList</a></li>
-<li><a class="" href="#ARDOUR:PortManager">ARDOUR:PortManager</a></li>
-<li><a class="" href="#ARDOUR:PortSet">ARDOUR:PortSet</a></li>
-<li><a class="" href="#ARDOUR:PresentationInfo">ARDOUR:PresentationInfo</a></li>
-<li><a class="" href="#ARDOUR:PresetRecord">ARDOUR:PresetRecord</a></li>
-<li><a class="" href="#ARDOUR:PresetVector">ARDOUR:PresetVector</a></li>
-<li><a class="" href="#ARDOUR:Processor">ARDOUR:Processor</a></li>
-<li><a class="" href="#ARDOUR:ProcessorVector">ARDOUR:ProcessorVector</a></li>
-<li><a class="" href="#ARDOUR:Properties:BoolProperty">ARDOUR:Properties:BoolProperty</a></li>
-<li><a class="" href="#ARDOUR:Properties:FloatProperty">ARDOUR:Properties:FloatProperty</a></li>
-<li><a class="" href="#ARDOUR:Properties:FrameposProperty">ARDOUR:Properties:FrameposProperty</a></li>
-<li><a class="" href="#ARDOUR:PropertyChange">ARDOUR:PropertyChange</a></li>
-<li><a class="" href="#ARDOUR:PropertyList">ARDOUR:PropertyList</a></li>
-<li><a class="" href="#ARDOUR:Readable">ARDOUR:Readable</a></li>
-<li><a class="" href="#ARDOUR:Region">ARDOUR:Region</a></li>
-<li><a class="" href="#ARDOUR:RegionFactory">ARDOUR:RegionFactory</a></li>
-<li><a class="" href="#ARDOUR:RegionList">ARDOUR:RegionList</a></li>
-<li><a class="" href="#ARDOUR:RegionListPtr">ARDOUR:RegionListPtr</a></li>
-<li><a class="" href="#ARDOUR:Route">ARDOUR:Route</a></li>
-<li><a class="" href="#ARDOUR:Route:ProcessorStreams">ARDOUR:Route:ProcessorStreams</a></li>
-<li><a class="" href="#ARDOUR:RouteGroup">ARDOUR:RouteGroup</a></li>
-<li><a class="" href="#ARDOUR:RouteGroupList">ARDOUR:RouteGroupList</a></li>
-<li><a class="" href="#ARDOUR:RouteList">ARDOUR:RouteList</a></li>
-<li><a class="" href="#ARDOUR:RouteListPtr">ARDOUR:RouteListPtr</a></li>
-<li><a class="" href="#ARDOUR:Session">ARDOUR:Session</a></li>
-<li><a class="" href="#ARDOUR:SessionConfiguration">ARDOUR:SessionConfiguration</a></li>
-<li><a class="" href="#ARDOUR:SessionObject">ARDOUR:SessionObject</a></li>
-<li><a class="" href="#ARDOUR:SideChain">ARDOUR:SideChain</a></li>
-<li><a class="" href="#ARDOUR:SlavableAutomationControl,">ARDOUR:SlavableAutomationControl,</a></li>
-<li><a class="" href="#ARDOUR:SoloControl">ARDOUR:SoloControl</a></li>
-<li><a class="" href="#ARDOUR:SoloIsolateControl">ARDOUR:SoloIsolateControl</a></li>
-<li><a class="" href="#ARDOUR:SoloSafeControl">ARDOUR:SoloSafeControl</a></li>
-<li><a class="" href="#ARDOUR:Source">ARDOUR:Source</a></li>
-<li><a class="" href="#ARDOUR:SourceList">ARDOUR:SourceList</a></li>
-<li><a class="" href="#ARDOUR:Stripable">ARDOUR:Stripable</a></li>
-<li><a class="" href="#ARDOUR:Tempo">ARDOUR:Tempo</a></li>
-<li><a class="" href="#ARDOUR:TempoMap">ARDOUR:TempoMap</a></li>
-<li><a class="" href="#ARDOUR:TempoSection">ARDOUR:TempoSection</a></li>
-<li><a class="" href="#ARDOUR:Track">ARDOUR:Track</a></li>
-<li><a class="" href="#ARDOUR:UnknownProcessor">ARDOUR:UnknownProcessor</a></li>
-<li><a class="" href="#ARDOUR:WeakAudioSourceList">ARDOUR:WeakAudioSourceList</a></li>
-<li><a class="" href="#ARDOUR:WeakRouteList">ARDOUR:WeakRouteList</a></li>
-<li><a class="" href="#ARDOUR:WeakSourceList">ARDOUR:WeakSourceList</a></li>
-<li><a class="" href="#ArdourUI">ArdourUI</a></li>
-<li><a class="" href="#ArdourUI:ArdourMarker">ArdourUI:ArdourMarker</a></li>
-<li><a class="" href="#ArdourUI:ArdourMarkerList">ArdourUI:ArdourMarkerList</a></li>
-<li><a class="" href="#ArdourUI:Editor">ArdourUI:Editor</a></li>
-<li><a class="" href="#ArdourUI:MarkerSelection">ArdourUI:MarkerSelection</a></li>
-<li><a class="" href="#ArdourUI:RegionSelection">ArdourUI:RegionSelection</a></li>
-<li><a class="" href="#ArdourUI:Selection">ArdourUI:Selection</a></li>
-<li><a class="" href="#ArdourUI:TimeSelection">ArdourUI:TimeSelection</a></li>
-<li><a class="" href="#ArdourUI:TrackSelection">ArdourUI:TrackSelection</a></li>
-<li><a class="" href="#ArdourUI:TrackViewList">ArdourUI:TrackViewList</a></li>
-<li><a class="" href="#C:ByteArray">C:ByteArray</a></li>
-<li><a class="" href="#C:DoubleVector">C:DoubleVector</a></li>
-<li><a class="" href="#C:FloatArray">C:FloatArray</a></li>
-<li><a class="" href="#C:FloatArrayVector">C:FloatArrayVector</a></li>
-<li><a class="" href="#C:FloatVector">C:FloatVector</a></li>
-<li><a class="" href="#C:IntArray">C:IntArray</a></li>
-<li><a class="" href="#C:StringList">C:StringList</a></li>
-<li><a class="" href="#C:StringVector">C:StringVector</a></li>
-<li><a class="" href="#Cairo:Context">Cairo:Context</a></li>
-<li><a class="" href="#Cairo:ImageSurface">Cairo:ImageSurface</a></li>
-<li><a class="" href="#Cairo:PangoLayout">Cairo:PangoLayout</a></li>
-<li><a class="" href="#Evoral:Beats">Evoral:Beats</a></li>
-<li><a class="" href="#Evoral:Control">Evoral:Control</a></li>
-<li><a class="" href="#Evoral:ControlList">Evoral:ControlList</a></li>
-<li><a class="" href="#Evoral:ControlSet">Evoral:ControlSet</a></li>
-<li><a class="" href="#Evoral:Event">Evoral:Event</a></li>
-<li><a class="" href="#Evoral:NotePtr">Evoral:NotePtr</a></li>
-<li><a class="" href="#Evoral:Parameter">Evoral:Parameter</a></li>
-<li><a class="" href="#Evoral:ParameterDescriptor">Evoral:ParameterDescriptor</a></li>
-<li><a class="" href="#Evoral:Range">Evoral:Range</a></li>
-<li><a class="" href="#Evoral:Sequence">Evoral:Sequence</a></li>
-<li><a class="" href="#LuaSignal:Set">LuaSignal:Set</a></li>
-<li><a class="" href="#PBD">PBD</a></li>
-<li><a class="" href="#PBD:Command">PBD:Command</a></li>
-<li><a class="" href="#PBD:Configuration">PBD:Configuration</a></li>
-<li><a class="" href="#PBD:Controllable">PBD:Controllable</a></li>
-<li><a class="" href="#PBD:ID">PBD:ID</a></li>
-<li><a class="" href="#PBD:IdVector">PBD:IdVector</a></li>
-<li><a class="" href="#PBD:RingBuffer8">PBD:RingBuffer8</a></li>
-<li><a class="" href="#PBD:RingBufferF">PBD:RingBufferF</a></li>
-<li><a class="" href="#PBD:RingBufferI">PBD:RingBufferI</a></li>
-<li><a class="" href="#PBD:Stateful">PBD:Stateful</a></li>
-<li><a class="" href="#PBD:StatefulDestructible">PBD:StatefulDestructible</a></li>
-<li><a class="" href="#PBD:StatefulDestructiblePtr">PBD:StatefulDestructiblePtr</a></li>
-<li><a class="" href="#PBD:StatefulDiffCommand">PBD:StatefulDiffCommand</a></li>
-<li><a class="" href="#PBD:StatefulPtr">PBD:StatefulPtr</a></li>
-<li><a class="" href="#PBD:XMLNode">PBD:XMLNode</a></li>
-<li><a class="" href="#Timecode:BBT_TIME">Timecode:BBT_TIME</a></li>
-<li><a class="" href="#Timecode:Time">Timecode:Time</a></li>
-<li><a class="" href="#Vamp:Plugin">Vamp:Plugin</a></li>
-<li><a class="" href="#Vamp:Plugin:Feature">Vamp:Plugin:Feature</a></li>
-<li><a class="" href="#Vamp:Plugin:FeatureList">Vamp:Plugin:FeatureList</a></li>
-<li><a class="" href="#Vamp:Plugin:FeatureSet">Vamp:Plugin:FeatureSet</a></li>
-<li><a class="" href="#Vamp:Plugin:OutputDescriptor">Vamp:Plugin:OutputDescriptor</a></li>
-<li><a class="" href="#Vamp:Plugin:OutputList">Vamp:Plugin:OutputList</a></li>
-<li><a class="" href="#Vamp:PluginBase">Vamp:PluginBase</a></li>
-<li><a class="" href="#Vamp:PluginBase:ParameterDescriptor">Vamp:PluginBase:ParameterDescriptor</a></li>
-<li><a class="" href="#Vamp:PluginBase:ParameterList">Vamp:PluginBase:ParameterList</a></li>
-<li><a class="" href="#Vamp:RealTime">Vamp:RealTime</a></li>
-</ul>
-<!-- 476 / 2168 !-->
-</div>
-<div class="luafooter">Ardour 5.5-66-g4992ed1 &nbsp;-&nbsp; Thu, 08 Dec 2016 13:34:35 +0100</div>
diff --git a/_manual/28_appendix.html b/_manual/28_appendix.html
deleted file mode 100644 (file)
index d45d2ec..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: default
-title: Appendix
----
-
-
-
-
-
-
-
-
-{% children %}
diff --git a/_manual/28_appendix/01_menu-actions-list.html b/_manual/28_appendix/01_menu-actions-list.html
deleted file mode 100644 (file)
index 8bf4131..0000000
+++ /dev/null
@@ -1,743 +0,0 @@
----
-layout: default
-title: List of Menu Actions
----
-
-
-<h2>Menu actions</h2>
-<p>
-  Every single menu item in Ardour's GUI is accessible by control
-  surfaces or scripts.
-  </p>
-
-<p>
-  The list below shows all available values of <em>action-name</em> as of
-  June 2016 for Ardour 5.0.pre0.1. You can get the current list at any
-  time by running Ardour with the -b flag.
-  </p>
-<dl class="bindings">
-       <dt><strong>Action Name</strong></dt><dd><strong>Menu Name</strong></dd>
-  <!-- ProcessorMenu - ok -->
-  <dt><kbd class="osc">ProcessorMenu/ab_plugins</kbd></dt><dd>A/B Plugins</dd>
-  <dt><kbd class="osc">ProcessorMenu/activate_all</kbd></dt><dd>Activate All</dd>
-  <dt><kbd class="osc">ProcessorMenu/clear</kbd></dt><dd>Clear (all)</dd>
-  <dt><kbd class="osc">ProcessorMenu/clear_post</kbd></dt><dd>Clear (post-fader)</dd>
-  <dt><kbd class="osc">ProcessorMenu/clear_pre</kbd></dt><dd>Clear (pre-fader)</dd>
-  <dt><kbd class="osc">ProcessorMenu/controls</kbd></dt><dd>Controls</dd>
-  <dt><kbd class="osc">ProcessorMenu/copy</kbd></dt><dd>Copy</dd>
-  <dt><kbd class="osc">ProcessorMenu/cut</kbd></dt><dd>Cut</dd>
-  <dt><kbd class="osc">ProcessorMenu/deactivate_all</kbd></dt><dd>Deactivate All</dd>
-  <dt><kbd class="osc">ProcessorMenu/delete</kbd></dt><dd>Delete</dd>
-  <dt><kbd class="osc">ProcessorMenu/deselectall</kbd></dt><dd>Deselect All</dd>
-  <dt><kbd class="osc">ProcessorMenu/edit-generic</kbd></dt><dd>Edit with generic controls...</dd>
-  <dt><kbd class="osc">ProcessorMenu/edit</kbd></dt><dd>Edit...</dd>
-  <dt><kbd class="osc">ProcessorMenu/newaux</kbd></dt><dd>New Aux Send ...</dd>
-  <dt><kbd class="osc">ProcessorMenu/newinsert</kbd></dt><dd>New Insert</dd>
-  <dt><kbd class="osc">ProcessorMenu/newplugin</kbd></dt><dd>New Plugin</dd>
-  <dt><kbd class="osc">ProcessorMenu/newsend</kbd></dt><dd>New External Send ...</dd>
-  <dt><kbd class="osc">ProcessorMenu/paste</kbd></dt><dd>Paste</dd>
-  <dt><kbd class="osc">ProcessorMenu/rename</kbd></dt><dd>Rename</dd>
-  <dt><kbd class="osc">ProcessorMenu/selectall</kbd></dt><dd>Select All</dd>
-  <dt><kbd class="osc">ProcessorMenu/send_options</kbd></dt><dd>Send Options</dd>
-  <!-- Common - updated -->
-  <dt><kbd class="osc">Common/Hide</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/NewMIDITracer</kbd></dt><dd>MIDI Tracer</dd>
-  <dt><kbd class="osc">Common/Quit</kbd></dt><dd>Quit</dd>
-  <dt><kbd class="osc">Common/Save</kbd></dt><dd>Save</dd>
-  <dt><kbd class="osc">Common/ToggleMaximalEditor</kbd></dt><dd>Maximize Editor Space</dd>
-  <dt><kbd class="osc">Common/ToggleMaximalMixer</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/ToggleMixerList</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/ToggleMonitorSection</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack10</kbd></dt><dd>Toggle Record Enable Track 10</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack11</kbd></dt><dd>Toggle Record Enable Track 11</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack12</kbd></dt><dd>Toggle Record Enable Track 12</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack13</kbd></dt><dd>Toggle Record Enable Track 13</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack14</kbd></dt><dd>Toggle Record Enable Track 14</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack15</kbd></dt><dd>Toggle Record Enable Track 15</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack16</kbd></dt><dd>Toggle Record Enable Track 16</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack17</kbd></dt><dd>Toggle Record Enable Track 17</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack18</kbd></dt><dd>Toggle Record Enable Track 18</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack19</kbd></dt><dd>Toggle Record Enable Track 19</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack1</kbd></dt><dd>Toggle Record Enable Track 1</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack20</kbd></dt><dd>Toggle Record Enable Track 20</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack21</kbd></dt><dd>Toggle Record Enable Track 21</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack22</kbd></dt><dd>Toggle Record Enable Track 22</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack23</kbd></dt><dd>Toggle Record Enable Track 23</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack24</kbd></dt><dd>Toggle Record Enable Track 24</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack25</kbd></dt><dd>Toggle Record Enable Track 25</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack26</kbd></dt><dd>Toggle Record Enable Track 26</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack27</kbd></dt><dd>Toggle Record Enable Track 27</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack28</kbd></dt><dd>Toggle Record Enable Track 28</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack29</kbd></dt><dd>Toggle Record Enable Track 29</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack2</kbd></dt><dd>Toggle Record Enable Track 2</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack30</kbd></dt><dd>Toggle Record Enable Track 30</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack31</kbd></dt><dd>Toggle Record Enable Track 31</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack32</kbd></dt><dd>Toggle Record Enable Track 32</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack3</kbd></dt><dd>Toggle Record Enable Track 3</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack4</kbd></dt><dd>Toggle Record Enable Track 4</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack5</kbd></dt><dd>Toggle Record Enable Track 5</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack6</kbd></dt><dd>Toggle Record Enable Track 6</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack7</kbd></dt><dd>Toggle Record Enable Track 7</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack8</kbd></dt><dd>Toggle Record Enable Track 8</dd>
-  <dt><kbd class="osc">Common/ToggleRecordEnableTrack9</kbd></dt><dd>Toggle Record Enable Track 9</dd>
-  <dt><kbd class="osc">Common/attach-editor</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/attach-mixer</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/attach-preferences</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/change-editor-visibility</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/change-mixer-visibility</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/change-preferences-visibility</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/Chat</kbd></dt><dd>Chat</dd>
-  <dt><kbd class="osc">Common/cheat-sheet</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/detach-editor</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/detach-mixer</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/detach-preferences</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/forums</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/hide-editor</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/hide-mixer</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/hide-preferences</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/howto-report</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/key-change-editor-visibility</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/key-change-mixer-visibility</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/key-change-preferences-visibility</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/Manual</kbd></dt><dd>Manual</dd>
-  <dt><kbd class="osc">Common/menu-show-preferences</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/next-tab</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/previous-tab</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/Reference</kbd></dt><dd>Reference</dd>
-  <dt><kbd class="osc">Common/show-editor</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/show-mixer</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/show-preferences</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/toggle-editor-mixer</kbd></dt><dd>Toggle Editor+Mixer</dd>
-  <dt><kbd class="osc">Common/toggle-luawindow</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/toggle-meterbridge</kbd></dt><dd>Meterbridge</dd>
-  <dt><kbd class="osc">Common/tracker</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/website</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Common/website-dev</kbd></dt><dd></dd>
-  <!-- MIDI - updated-->
-  <dt><kbd class="osc">MIDI/panic</kbd></dt><dd>Panic</dd>
-  <!-- Main - updated -->
-  <dt><kbd class="osc">Main/AddLuaScript</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main/AddTrackBus</kbd></dt><dd>Add Track or Bus...</dd>
-  <dt><kbd class="osc">Main/CleanupPeakFiles</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main/CleanupUnused</kbd></dt><dd>Clean-up Unused Sources...</dd>
-  <dt><kbd class="osc">Main/Close</kbd></dt><dd>Close</dd>
-  <dt><kbd class="osc">Main/CloseVideo</kbd></dt><dd>Remove Video</dd>
-  <dt><kbd class="osc">Main/EditMetadata</kbd></dt><dd>Edit Metadata...</dd>
-  <dt><kbd class="osc">Main/Escape</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main/ExportAudio</kbd></dt><dd>Export To Audio File(s)...</dd>
-  <dt><kbd class="osc">Main/Export</kbd></dt><dd>Export</dd>
-  <dt><kbd class="osc">Main/ExportVideo</kbd></dt><dd>Export To Video File</dd>
-  <dt><kbd class="osc">Main/FlushWastebasket</kbd></dt><dd>Flush Wastebasket</dd>
-  <dt><kbd class="osc">Main/ImportMetadata</kbd></dt><dd>Import Metadata...</dd>
-  <dt><kbd class="osc">Main/Metadata</kbd></dt><dd>Metadata</dd>
-  <dt><kbd class="osc">Main/New</kbd></dt><dd>New...</dd>
-  <dt><kbd class="osc">Main/Open</kbd></dt><dd>Open...</dd>
-  <dt><kbd class="osc">Main/OpenVideo</kbd></dt><dd>Open Video</dd>
-  <dt><kbd class="osc">Main/QuickSnapshotStay</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main/QuickSnapshotSwitch</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main/Recent</kbd></dt><dd>Recent...</dd>
-  <dt><kbd class="osc">Main/RemoveLuaScript</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main/Rename</kbd></dt><dd>Rename...</dd>
-  <dt><kbd class="osc">Main/SaveAs</kbd></dt><dd>Save As...</dd>
-  <dt><kbd class="osc">Main/SaveTemplate</kbd></dt><dd>Save Template...</dd>
-  <dt><kbd class="osc">Main/Scripting</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main/SnapshotStay</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main/SnapshotSwitch</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main/StemExport</kbd></dt><dd>Stem export...</dd>
-  <dt><kbd class="osc">Main/cancel-solo</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main/duplicate-routes</kbd></dt><dd></dd>
-  <!-- Main_menu - updated -->
-  <dt><kbd class="osc">Main_menu/AudioFileFormatData</kbd></dt><dd>Sample Format</dd>
-  <dt><kbd class="osc">Main_menu/AudioFileFormatHeader</kbd></dt><dd>File Type</dd>
-  <dt><kbd class="osc">Main_menu/AudioFileFormat</kbd></dt><dd>Audio File Format</dd>
-  <dt><kbd class="osc">Main_menu/Cleanup</kbd></dt><dd>Clean-up</dd>
-  <dt><kbd class="osc">Main_menu/ControlSurfaces</kbd></dt><dd>Control Surfaces</dd>
-  <dt><kbd class="osc">Main_menu/Denormals</kbd></dt><dd>Denormal Handling</dd>
-  <dt><kbd class="osc">Main_menu/Help</kbd></dt><dd>Help</dd>
-  <dt><kbd class="osc">Main_menu/KeyMouseActions</kbd></dt><dd>Misc. Shortcuts</dd>
-  <dt><kbd class="osc">Main_menu/MeteringFallOffRate</kbd></dt><dd>Fall Off Rate</dd>
-  <dt><kbd class="osc">Main_menu/MeteringHoldTime</kbd></dt><dd>Hold Time</dd>
-  <dt><kbd class="osc">Main_menu/Metering</kbd></dt><dd>Metering</dd>
-  <dt><kbd class="osc">Main_menu/MixerMenu</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main_menu/Plugins</kbd></dt><dd>Plugins</dd>
-  <dt><kbd class="osc">Main_menu/PrefsMenu</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Main_menu/Session</kbd></dt><dd>Session</dd>
-  <dt><kbd class="osc">Main_menu/Sync</kbd></dt><dd>Sync</dd>
-  <dt><kbd class="osc">Main_menu/TransportOptions</kbd></dt><dd>Options</dd>
-  <dt><kbd class="osc">Main_menu/WindowMenu</kbd></dt><dd>Window</dd>
-  <!-- Options -->
-  <dt><kbd class="osc">options/SendMidiClock</kbd></dt><dd>Send MIDI Clock</dd>
-  <dt><kbd class="osc">options/SendMIDIfeedback</kbd></dt><dd>Send MIDI Feedback</dd>
-  <dt><kbd class="osc">options/SendMMC</kbd></dt><dd>Send MMC</dd>
-  <dt><kbd class="osc">options/SendMTC</kbd></dt><dd>Send MTC</dd>
-  <dt><kbd class="osc">options/UseMMC</kbd></dt><dd>Use MMC</dd>
-  <!-- Transport -->
-  <dt><kbd class="osc">Transport/ForwardFast</kbd></dt><dd>Forward (Fast)</dd>
-  <dt><kbd class="osc">Transport/Forward</kbd></dt><dd>Forward</dd>
-  <dt><kbd class="osc">Transport/ForwardSlow</kbd></dt><dd>Forward (Slow)</dd>
-  <dt><kbd class="osc">Transport/GotoEnd</kbd></dt><dd>Goto End</dd>
-  <dt><kbd class="osc">Transport/GotoStart</kbd></dt><dd>Goto Start</dd>
-  <dt><kbd class="osc">Transport/GotoWallClock</kbd></dt><dd>Goto Wall Clock</dd>
-  <dt><kbd class="osc">Transport/GotoZero</kbd></dt><dd>Goto Zero</dd>
-  <dt><kbd class="osc">Transport/Loop</kbd></dt><dd>Play Loop Range</dd>
-  <dt><kbd class="osc">Transport/PlayPreroll</kbd></dt><dd>Play Selection w/Preroll</dd>
-  <dt><kbd class="osc">Transport/PlaySelection</kbd></dt><dd>Play Selected Range</dd>
-  <dt><kbd class="osc">Transport/Record</kbd></dt><dd>Enable Record</dd>
-  <dt><kbd class="osc">Transport/RewindFast</kbd></dt><dd>Rewind (Fast)</dd>
-  <dt><kbd class="osc">Transport/Rewind</kbd></dt><dd>Rewind</dd>
-  <dt><kbd class="osc">Transport/RewindSlow</kbd></dt><dd>Rewind (Slow)</dd>
-  <dt><kbd class="osc">Transport/Roll</kbd></dt><dd>Roll</dd>
-  <dt><kbd class="osc">Transport/Stop</kbd></dt><dd>Stop</dd>
-  <dt><kbd class="osc">Transport/ToggleAutoInput</kbd></dt><dd>Auto Input</dd>
-  <dt><kbd class="osc">Transport/ToggleAutoPlay</kbd></dt><dd>Auto Play</dd>
-  <dt><kbd class="osc">Transport/ToggleAutoReturn</kbd></dt><dd>Auto Return</dd>
-  <dt><kbd class="osc">Transport/ToggleClick</kbd></dt><dd>Click</dd>
-  <dt><kbd class="osc">Transport/ToggleExternalSync</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/ToggleFollowEdits</kbd></dt><dd>Follow Edits</dd>
-  <dt><kbd class="osc">Transport/TogglePunchIn</kbd></dt><dd>Punch In</dd>
-  <dt><kbd class="osc">Transport/TogglePunch</kbd></dt><dd>Punch In/Out</dd>
-  <dt><kbd class="osc">Transport/TogglePunchOut</kbd></dt><dd>Punch Out</dd>
-  <dt><kbd class="osc">Transport/ToggleRollForgetCapture</kbd></dt><dd>Stop and Forget Capture</dd>
-  <dt><kbd class="osc">Transport/ToggleRoll</kbd></dt><dd>Start/Stop</dd>
-  <dt><kbd class="osc">Transport/ToggleRollMaybe</kbd></dt><dd>Start/Continue/Stop</dd>
-  <dt><kbd class="osc">Transport/ToggleTimeMaster</kbd></dt><dd>Time Master</dd>
-  <dt><kbd class="osc">Transport/ToggleVideoSync</kbd></dt><dd>Sync Startup to Video</dd>
-  <dt><kbd class="osc">Transport/TransitionToReverse</kbd></dt><dd>Transition To Reverse</dd>
-  <dt><kbd class="osc">Transport/TransitionToRoll</kbd></dt><dd>Transition To Roll</dd>
-  <dt><kbd class="osc">Transport/Transport</kbd></dt><dd>Transport</dd>
-  <dt><kbd class="osc">Transport/alternate-GotoStart</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/alternate-ToggleRoll</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/alternate-numpad-decimal</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/alternate-record-roll</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/focus-on-clock</kbd></dt><dd>Focus On Clock</dd>
-  <dt><kbd class="osc">Transport/numpad-0</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/numpad-1</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/numpad-2</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/numpad-3</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/numpad-4</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/numpad-5</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/numpad-6</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/numpad-7</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/numpad-8</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/numpad-9</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/numpad-decimal</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Transport/primary-clock-bbt</kbd></dt><dd>Bars &amp; Beats</dd>
-  <dt><kbd class="osc">Transport/primary-clock-minsec</kbd></dt><dd>Minutes &amp; Seconds</dd>
-  <dt><kbd class="osc">Transport/primary-clock-samples</kbd></dt><dd>Samples</dd>
-  <dt><kbd class="osc">Transport/primary-clock-timecode</kbd></dt><dd>Timecode</dd>
-  <dt><kbd class="osc">Transport/record-roll</kbd></dt><dd>Start Recording</dd>
-  <dt><kbd class="osc">Transport/secondary-clock-bbt</kbd></dt><dd>Bars &amp; Beats</dd>
-  <dt><kbd class="osc">Transport/secondary-clock-minsec</kbd></dt><dd>Minutes &amp; Seconds</dd>
-  <dt><kbd class="osc">Transport/secondary-clock-samples</kbd></dt><dd>Samples</dd>
-  <dt><kbd class="osc">Transport/secondary-clock-timecode</kbd></dt><dd>Timecode</dd>
-  <!-- WIndow -->
-  <dt><kbd class="osc">Window/toggle-about</kbd></dt><dd>About</dd>
-  <dt><kbd class="osc">Window/toggle-add-routes</kbd></dt><dd>Add Tracks/Busses</dd>
-  <dt><kbd class="osc">Window/toggle-add-video</kbd></dt><dd>Add Tracks/Busses</dd>
-  <dt><kbd class="osc">Window/toggle-audio-connection-manager</kbd></dt><dd>Audio Connections</dd>
-  <dt><kbd class="osc">Window/toggle-audio-midi-setup</kbd></dt><dd>Audio/MIDI Setup</dd>
-  <dt><kbd class="osc">Window/toggle-big-clock</kbd></dt><dd>Big Clock</dd>
-  <dt><kbd class="osc">Window/toggle-bundle-manager</kbd></dt><dd>Bundle Manager</dd>
-  <dt><kbd class="osc">Window/toggle-inspector</kbd></dt><dd>Tracks and Busses</dd>
-  <dt><kbd class="osc">Window/toggle-key-editor</kbd></dt><dd>Key Bindings</dd>
-  <dt><kbd class="osc">Window/toggle-locations</kbd></dt><dd>Locations</dd>
-  <dt><kbd class="osc">Window/toggle-midi-connection-manager</kbd></dt><dd>MIDI Connections</dd>
-  <dt><kbd class="osc">Window/toggle-script-manager</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Window/toggle-session-options-editor</kbd></dt><dd>Properties</dd>
-  <dt><kbd class="osc">Window/toggle-speaker-config</kbd></dt><dd>Speaker Configuration</dd>
-  <dt><kbd class="osc">Window/toggle-video-export</kbd></dt><dd></dd>
-  <!-- Editor -->
-  <dt><kbd class="osc">Editor/SnapMode</kbd></dt><dd>Snap Mode</dd>
-  <dt><kbd class="osc">Editor/SnapTo</kbd></dt><dd>Snap to</dd>
-  <dt><kbd class="osc">Editor/ToggleGroupTabs</kbd></dt><dd>Show Group Tabs</dd>
-  <dt><kbd class="osc">Editor/ToggleJadeo</kbd></dt><dd>Video Monitor</dd>
-  <dt><kbd class="osc">Editor/ToggleMeasureVisibility</kbd></dt><dd>Show Measures</dd>
-  <dt><kbd class="osc">Editor/ToggleSummary</kbd></dt><dd>Show Summary</dd>
-  <dt><kbd class="osc">Editor/add-location-from-playhead</kbd></dt><dd>Add Mark from Playhead</dd>
-  <dt><kbd class="osc">Editor/addExistingAudioFiles</kbd></dt><dd>Import</dd>
-  <dt><kbd class="osc">Editor/addExistingPTFiles</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/addExternalAudioToRegionList</kbd></dt><dd>Import to Region List...</dd>
-  <dt><kbd class="osc">Editor/alt-finish-range</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alt-start-range</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-add-location-from-playhead</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-alternate-redo</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-editor-delete</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-jump-backward-to-mark</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-jump-forward-to-mark</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-redo</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-remove-location-from-playhead</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-select-all-after-edit-cursor</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-select-all-before-edit-cursor</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-tab-to-transient-backwards</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/alternate-tab-to-transient-forwards</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/bring-into-session</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/center-edit-cursor</kbd></dt><dd>Center Edit Point</dd>
-  <dt><kbd class="osc">Editor/center-playhead</kbd></dt><dd>Center Playhead</dd>
-  <dt><kbd class="osc">Editor/crop</kbd></dt><dd>Crop</dd>
-  <dt><kbd class="osc">Editor/cycle-edit-point</kbd></dt><dd>Change Edit Point</dd>
-  <dt><kbd class="osc">Editor/cycle-edit-point-with-marker</kbd></dt><dd>Change Edit Point Including Marker</dd>
-  <dt><kbd class="osc">Editor/cycle-snap-mode</kbd></dt><dd>Next Snap Mode</dd>
-  <dt><kbd class="osc">Editor/cycle-zoom-focus</kbd></dt><dd>Next Zoom Focus</dd>
-  <dt><kbd class="osc">Editor/deselect-all</kbd></dt><dd>Deselect All</dd>
-  <dt><kbd class="osc">Editor/duplicate-range</kbd></dt><dd>Duplicate Range</dd>
-  <dt><kbd class="osc">Editor/edit-at-mouse</kbd></dt><dd>Mouse</dd>
-  <dt><kbd class="osc">Editor/edit-at-playhead</kbd></dt><dd>Playhead</dd>
-  <dt><kbd class="osc">Editor/edit-at-selected-marker</kbd></dt><dd>Marker</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-next-region-end</kbd></dt><dd>To Next Region End</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-next-region-start</kbd></dt><dd>To Next Region Start</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-next-region-sync</kbd></dt><dd>To Next Region Sync</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-previous-region-end</kbd></dt><dd>To Previous Region End</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-previous-region-start</kbd></dt><dd>To Previous Region Start</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-previous-region-sync</kbd></dt><dd>To Previous Region Sync</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-range-end</kbd></dt><dd>To Range End</dd>
-  <dt><kbd class="osc">Editor/edit-cursor-to-range-start</kbd></dt><dd>To Range Start</dd>
-  <dt><kbd class="osc">Editor/edit-to-playhead</kbd></dt><dd>Active Mark to Playhead</dd>
-  <dt><kbd class="osc">Editor/editor-copy</kbd></dt><dd>Copy</dd>
-  <dt><kbd class="osc">Editor/editor-crop</kbd></dt><dd>Crop</dd>
-  <dt><kbd class="osc">Editor/editor-cut</kbd></dt><dd>Cut</dd>
-  <dt><kbd class="osc">Editor/editor-delete</kbd></dt><dd>Delete</dd>
-  <dt><kbd class="osc">Editor/editor-fade-range</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/editor-paste</kbd></dt><dd>Paste</dd>
-  <dt><kbd class="osc">Editor/editor-separate</kbd></dt><dd>Separate</dd>
-  <dt><kbd class="osc">Editor/expand-tracks</kbd></dt><dd>Expand Track Height</dd>
-  <dt><kbd class="osc">Editor/export-audio</kbd></dt><dd>Export Audio</dd>
-  <dt><kbd class="osc">Editor/export-range</kbd></dt><dd>Export Range</dd>
-  <dt><kbd class="osc">Editor/finish-loop-range</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/finish-punch-range</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/finish-range</kbd></dt><dd>Finish Range</dd>
-  <dt><kbd class="osc">Editor/fit-selection</kbd></dt><dd>Fit Selected Tracks</dd>
-  <dt><kbd class="osc">Editor/fit_16_tracks</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/fit_1_track</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/fit_2_tracks</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/fit_32_tracks</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/fit_4_tracks</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/fit_8_tracks</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/fit_all_tracks</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/goto-mark-1</kbd></dt><dd>Locate to Mark 1</dd>
-  <dt><kbd class="osc">Editor/goto-mark-2</kbd></dt><dd>Locate to Mark 2</dd>
-  <dt><kbd class="osc">Editor/goto-mark-3</kbd></dt><dd>Locate to Mark 3</dd>
-  <dt><kbd class="osc">Editor/goto-mark-4</kbd></dt><dd>Locate to Mark 4</dd>
-  <dt><kbd class="osc">Editor/goto-mark-5</kbd></dt><dd>Locate to Mark 5</dd>
-  <dt><kbd class="osc">Editor/goto-mark-6</kbd></dt><dd>Locate to Mark 6</dd>
-  <dt><kbd class="osc">Editor/goto-mark-7</kbd></dt><dd>Locate to Mark 7</dd>
-  <dt><kbd class="osc">Editor/goto-mark-8</kbd></dt><dd>Locate to Mark 8</dd>
-  <dt><kbd class="osc">Editor/goto-mark-9</kbd></dt><dd>Locate to Mark 9</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-10</kbd></dt><dd>Goto View 10</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-11</kbd></dt><dd>Goto View 11</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-12</kbd></dt><dd>Goto View 12</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-1</kbd></dt><dd>Goto View 1</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-2</kbd></dt><dd>Goto View 2</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-3</kbd></dt><dd>Goto View 3</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-4</kbd></dt><dd>Goto View 4</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-5</kbd></dt><dd>Goto View 5</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-6</kbd></dt><dd>Goto View 6</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-7</kbd></dt><dd>Goto View 7</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-8</kbd></dt><dd>Goto View 8</dd>
-  <dt><kbd class="osc">Editor/goto-visual-state-9</kbd></dt><dd>Goto View 9</dd>
-  <dt><kbd class="osc">Editor/importFromSession</kbd></dt><dd>Import From Session</dd>
-  <dt><kbd class="osc">Editor/insert-time</kbd></dt><dd>Insert Time</dd>
-  <dt><kbd class="osc">Editor/invert-selection</kbd></dt><dd>Invert Selection</dd>
-  <dt><kbd class="osc">Editor/jump-backward-to-mark</kbd></dt><dd>Jump to Previous Mark</dd>
-  <dt><kbd class="osc">Editor/jump-forward-to-mark</kbd></dt><dd>Jump to Next Mark</dd>
-  <dt><kbd class="osc">Editor/lock</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/main-menu-play-selected-regions</kbd></dt><dd>Play Selected Regions</dd>
-  <dt><kbd class="osc">Editor/move-range-end-to-next-region-boundary</kbd></dt><dd>Move Range End to Next Region Boundary</dd>
-  <dt><kbd class="osc">Editor/move-range-end-to-previous-region-boundary</kbd></dt><dd>Move Range End to Previous Region Boundary</dd>
-  <dt><kbd class="osc">Editor/move-range-start-to-next-region-boundary</kbd></dt><dd>Move Range Start to Next Region Boundary</dd>
-  <dt><kbd class="osc">Editor/move-range-start-to-previous-region-boundary</kbd></dt><dd>Move Range Start to Previous Region Boundary</dd>
-  <dt><kbd class="osc">Editor/move-selected-tracks-down</kbd></dt><dd>Move Selected Tracks Down</dd>
-  <dt><kbd class="osc">Editor/move-selected-tracks-up</kbd></dt><dd>Move Selected Tracks Up</dd>
-  <dt><kbd class="osc">Editor/next-snap-choice</kbd></dt><dd>Next Snap Choice</dd>
-  <dt><kbd class="osc">Editor/next-snap-choice-music-only</kbd></dt><dd>Next Musical Snap Choice</dd>
-  <dt><kbd class="osc">Editor/nudge-next-backward</kbd></dt><dd>Nudge Next Earlier</dd>
-  <dt><kbd class="osc">Editor/nudge-next-forward</kbd></dt><dd>Nudge Next Later</dd>
-  <dt><kbd class="osc">Editor/nudge-playhead-backward</kbd></dt><dd>Nudge Playhead Backward</dd>
-  <dt><kbd class="osc">Editor/nudge-playhead-forward</kbd></dt><dd>Nudge Playhead Forward</dd>
-  <dt><kbd class="osc">Editor/play-edit-range</kbd></dt><dd>Play Edit Range</dd>
-  <dt><kbd class="osc">Editor/play-from-edit-point-and-return</kbd></dt><dd>Play from Edit Point and Return</dd>
-  <dt><kbd class="osc">Editor/play-from-edit-point</kbd></dt><dd>Play From Edit Point</dd>
-  <dt><kbd class="osc">Editor/playhead-backward-to-grid</kbd></dt><dd>Playhead To Previous Grid</dd>
-  <dt><kbd class="osc">Editor/playhead-forward-to-grid</kbd></dt><dd>Playhead To Next Grid</dd>
-  <dt><kbd class="osc">Editor/playhead-to-edit</kbd></dt><dd>Playhead to Active Mark</dd>
-  <dt><kbd class="osc">Editor/playhead-to-next-region-boundary</kbd></dt><dd>Playhead to Next Region Boundary</dd>
-  <dt><kbd class="osc">Editor/playhead-to-next-region-boundary-noselection</kbd></dt><dd>Playhead to Next Region Boundary (No Track Selection)</dd>
-  <dt><kbd class="osc">Editor/playhead-to-next-region-end</kbd></dt><dd>Playhead to Next Region End</dd>
-  <dt><kbd class="osc">Editor/playhead-to-next-region-start</kbd></dt><dd>Playhead to Next Region Start</dd>
-  <dt><kbd class="osc">Editor/playhead-to-next-region-sync</kbd></dt><dd>Playhead to Next Region Sync</dd>
-  <dt><kbd class="osc">Editor/playhead-to-previous-region-boundary</kbd></dt><dd>Playhead to Previous Region Boundary</dd>
-  <dt><kbd class="osc">Editor/playhead-to-previous-region-boundary-noselection</kbd></dt><dd>Playhead to Previous Region Boundary (No Track Selection)</dd>
-  <dt><kbd class="osc">Editor/playhead-to-previous-region-end</kbd></dt><dd>Playhead to Previous Region End</dd>
-  <dt><kbd class="osc">Editor/playhead-to-previous-region-start</kbd></dt><dd>Playhead to Previous Region Start</dd>
-  <dt><kbd class="osc">Editor/playhead-to-previous-region-sync</kbd></dt><dd>Playhead to Previous Region Sync</dd>
-  <dt><kbd class="osc">Editor/playhead-to-range-end</kbd></dt><dd>Playhead to Range End</dd>
-  <dt><kbd class="osc">Editor/playhead-to-range-start</kbd></dt><dd>Playhead to Range Start</dd>
-  <dt><kbd class="osc">Editor/prev-snap-choice</kbd></dt><dd>Previous Snap Choice</dd>
-  <dt><kbd class="osc">Editor/prev-snap-choice-music-only</kbd></dt><dd>Previous Musical Snap Choice</dd>
-  <dt><kbd class="osc">Editor/redo</kbd></dt><dd>Redo</dd>
-  <dt><kbd class="osc">Editor/redo-last-selection-op</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/remove-last-capture</kbd></dt><dd>Remove Last Capture</dd>
-  <dt><kbd class="osc">Editor/remove-location-from-playhead</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/remove-time</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/remove-track</kbd></dt><dd>Remove</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-10</kbd></dt><dd>Save View 10</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-11</kbd></dt><dd>Save View 11</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-12</kbd></dt><dd>Save View 12</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-1</kbd></dt><dd>Save View 1</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-2</kbd></dt><dd>Save View 2</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-3</kbd></dt><dd>Save View 3</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-4</kbd></dt><dd>Save View 4</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-5</kbd></dt><dd>Save View 5</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-6</kbd></dt><dd>Save View 6</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-7</kbd></dt><dd>Save View 7</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-8</kbd></dt><dd>Save View 8</dd>
-  <dt><kbd class="osc">Editor/save-visual-state-9</kbd></dt><dd>Save View 9</dd>
-  <dt><kbd class="osc">Editor/script-action-1</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/script-action-2</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/script-action-3</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/script-action-4</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/script-action-5</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/script-action-6</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/script-action-7</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/script-action-8</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/script-action-9</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/scroll-backward</kbd></dt><dd>Scroll Backward</dd>
-  <dt><kbd class="osc">Editor/scroll-forward</kbd></dt><dd>Scroll Forward</dd>
-  <dt><kbd class="osc">Editor/scroll-playhead-backward</kbd></dt><dd>Playhead Backward</dd>
-  <dt><kbd class="osc">Editor/scroll-playhead-forward</kbd></dt><dd>Playhead Forward</dd>
-  <dt><kbd class="osc">Editor/scroll-tracks-down</kbd></dt><dd>Scroll Tracks Down</dd>
-  <dt><kbd class="osc">Editor/scroll-tracks-up</kbd></dt><dd>Scroll Tracks Up</dd>
-  <dt><kbd class="osc">Editor/select-all-after-edit-cursor</kbd></dt><dd>Select All After Edit Point</dd>
-  <dt><kbd class="osc">Editor/select-all-before-edit-cursor</kbd></dt><dd>Select All Before Edit Point</dd>
-  <dt><kbd class="osc">Editor/select-all-between-cursors</kbd></dt><dd>Select All Overlapping Edit Range</dd>
-  <dt><kbd class="osc">Editor/select-all-in-loop-range</kbd></dt><dd>Select All in Loop Range</dd>
-  <dt><kbd class="osc">Editor/select-all-in-punch-range</kbd></dt><dd>Select All in Punch Range</dd>
-  <dt><kbd class="osc">Editor/select-all-objects => Ctrl+A</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/select-all-tracks => Ctrl+T</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/select-all-within-cursors</kbd></dt><dd>Select All Inside Edit Range</dd>
-  <dt><kbd class="osc">Editor/select-from-regions</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/select-loop-range</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/select-next-route</kbd></dt><dd>Select Next Track or Bus</dd>
-  <dt><kbd class="osc">Editor/select-prev-route</kbd></dt><dd>Select Previous Track or Bus</dd>
-  <dt><kbd class="osc">Editor/select-punch-range</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/select-range-between-cursors</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/selected-marker-to-next-region-boundary</kbd></dt><dd>To Next Region Boundary</dd>
-  <dt><kbd class="osc">Editor/selected-marker-to-next-region-boundary-noselection</kbd></dt><dd>To Next Region Boundary (No Track Selection)</dd>
-  <dt><kbd class="osc">Editor/selected-marker-to-previous-region-boundary</kbd></dt><dd>To Previous Region Boundary</dd>
-  <dt><kbd class="osc">Editor/selected-marker-to-previous-region-boundary-noselection</kbd></dt><dd>To Previous Region Boundary (No Track Selection)</dd>
-  <dt><kbd class="osc">Editor/select-range-between-cursors</kbd></dt><dd>Select Edit Range</dd>
-  <dt><kbd class="osc">Editor/separate-from-loop</kbd></dt><dd>Separate Using Loop Range</dd>
-  <dt><kbd class="osc">Editor/separate-from-punch</kbd></dt><dd>Separate Using Punch Range</dd>
-  <dt><kbd class="osc">Editor/set-edit-lock</kbd></dt><dd>Lock</dd>
-  <dt><kbd class="osc">Editor/set-edit-point</kbd></dt><dd>Active Marker to Mouse</dd>
-  <dt><kbd class="osc">Editor/set-edit-ripple</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/set-edit-slide</kbd></dt><dd>Slide</dd>
-  <dt><kbd class="osc">Editor/set-loop-from-edit-range</kbd></dt><dd>Set Loop from Edit Range</dd>
-  <dt><kbd class="osc">Editor/set-playhead</kbd></dt><dd>Playhead to Mouse</dd>
-  <dt><kbd class="osc">Editor/set-punch-from-edit-range</kbd></dt><dd>Set Punch from Edit Range</dd>
-  <dt><kbd class="osc">Editor/set-session-end-from-playhead</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/set-session-from-edit-range</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/set-session-start-from-playhead</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/set-tempo-from-edit-range</kbd></dt><dd>Set Tempo from Edit Range = Bar</dd>
-  <dt><kbd class="osc">Editor/show-editor-list</kbd></dt><dd>Show Editor List</dd>
-  <dt><kbd class="osc">Editor/show-editor-mixer</kbd></dt><dd>Show Editor Mixer</dd>
-  <dt><kbd class="osc">Editor/show-marker-lines</kbd></dt><dd>Show Marker Lines</dd>
-  <dt><kbd class="osc">Editor/shrink-tracks</kbd></dt><dd>Shrink Track Height</dd>
-  <dt><kbd class="osc">Editor/snap-magnetic</kbd></dt><dd>Magnetic</dd>
-  <dt><kbd class="osc">Editor/snap-normal</kbd></dt><dd>Grid</dd>
-  <dt><kbd class="osc">Editor/snap-off</kbd></dt><dd>No Grid</dd>
-  <dt><kbd class="osc">Editor/sound-midi-notes</kbd></dt><dd>Sound Selected MIDI Notes</dd>
-  <dt><kbd class="osc">Editor/start-loop-range</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/start-punch-range</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/start-range</kbd></dt><dd>Start Range</dd>
-  <dt><kbd class="osc">Editor/start-range-from-playhead</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/step-mouse-mode</kbd></dt><dd>Step Mouse Mode</dd>
-  <dt><kbd class="osc">Editor/step-tracks-down</kbd></dt><dd>Step Tracks Down</dd>
-  <dt><kbd class="osc">Editor/step-tracks-up</kbd></dt><dd>Step Tracks Up</dd>
-  <dt><kbd class="osc">Editor/tab-to-transient-backwards</kbd></dt><dd>Move Earlier to Transient</dd>
-  <dt><kbd class="osc">Editor/tab-to-transient-forwards</kbd></dt><dd>Move Later to Transient</dd>
-  <dt><kbd class="osc">Editor/temporal-zoom-in</kbd></dt><dd>Zoom In</dd>
-  <dt><kbd class="osc">Editor/temporal-zoom-out</kbd></dt><dd>Zoom Out</dd>
-  <dt><kbd class="osc">Editor/toggle-edit-mode</kbd></dt><dd>Toggle Edit Mode</dd>
-  <dt><kbd class="osc">Editor/toggle-follow-playhead</kbd></dt><dd>Follow Playhead</dd>
-  <dt><kbd class="osc">Editor/toggle-log-window</kbd></dt><dd>Log</dd>
-  <dt><kbd class="osc">Editor/toggle-midi-input-active</kbd></dt><dd>Toggle MIDI Input Active for Editor-Selected Tracks/Busses</dd>
-  <dt><kbd class="osc">Editor/toggle-skip-playback</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/toggle-stationary-playhead</kbd></dt><dd>Stationary Playhead</dd>
-  <dt><kbd class="osc">Editor/toggle-track-active</kbd></dt><dd>Toggle Active</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-frame</kbd></dt><dd>Frame number</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-fullscreen</kbd></dt><dd>Fullscreen</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-letterbox</kbd></dt><dd>Letterbox</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-ontop</kbd></dt><dd>Always on Top</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-osdbg</kbd></dt><dd>Timecode Background</dd>
-  <dt><kbd class="osc">Editor/toggle-vmon-timecode</kbd></dt><dd>Timecode</dd>
-  <dt><kbd class="osc">Editor/toggle-zoom</kbd></dt><dd>Toggle Zoom State</dd>
-  <dt><kbd class="osc">Editor/track-height-large</kbd></dt><dd>Large</dd>
-  <dt><kbd class="osc">Editor/track-height-larger</kbd></dt><dd>Larger</dd>
-  <dt><kbd class="osc">Editor/track-height-largest</kbd></dt><dd>Largest</dd>
-  <dt><kbd class="osc">Editor/track-height-normal</kbd></dt><dd>Normal</dd>
-  <dt><kbd class="osc">Editor/track-height-small</kbd></dt><dd>Small</dd>
-  <dt><kbd class="osc">Editor/track-mute-toggle</kbd></dt><dd>Toggle Mute</dd>
-  <dt><kbd class="osc">Editor/track-record-enable-toggle</kbd></dt><dd>Toggle Record Enable</dd>
-  <dt><kbd class="osc">Editor/track-solo-isolate-toggle</kbd></dt><dd>Toggle Solo Isolate</dd>
-  <dt><kbd class="osc">Editor/track-solo-toggle</kbd></dt><dd>Toggle Solo</dd>
-  <dt><kbd class="osc">Editor/undo</kbd></dt><dd>Undo</dd>
-  <dt><kbd class="osc">Editor/undo-last-selection-op</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/zoom-to-selection</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/zoom-to-session</kbd></dt><dd>Zoom to Session</dd>
-  <dt><kbd class="osc">Editor/zoom-vmon-100</kbd></dt><dd>Original Size</dd>
-  <dt><kbd class="osc">Editor/zoom_100_ms</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/zoom_10_min</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/zoom_10_ms</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/zoom_10_sec</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/zoom_1_min</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/zoom_1_sec</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Editor/zoom_5_min</kbd></dt><dd></dd>
-  <!-- EditorMenu -  updated -->
-  <dt><kbd class="osc">EditorMenu/ActionScripts</kbd></dt><dd></dd>
-  <dt><kbd class="osc">EditorMenu/AlignMenu</kbd></dt><dd>Align</dd>
-  <dt><kbd class="osc">EditorMenu/Autoconnect</kbd></dt><dd>Autoconnect</dd>
-  <dt><kbd class="osc">EditorMenu/Crossfades</kbd></dt><dd>Crossfades</dd>
-  <dt><kbd class="osc">EditorMenu/EditCursorMovementOptions</kbd></dt><dd>Move Selected Marker</dd>
-  <dt><kbd class="osc">EditorMenu/Edit</kbd></dt><dd>Edit</dd>
-  <dt><kbd class="osc">EditorMenu/EditPointMenu</kbd></dt><dd>Edit Point</dd>
-  <dt><kbd class="osc">EditorMenu/EditSelectRangeOptions</kbd></dt><dd>Select Range Operations</dd>
-  <dt><kbd class="osc">EditorMenu/EditSelectRegionOptions</kbd></dt><dd>Select Regions</dd>
-  <dt><kbd class="osc">EditorMenu/FadeMenu</kbd></dt><dd>Fade</dd>
-  <dt><kbd class="osc">EditorMenu/LatchMenu</kbd></dt><dd>Latch</dd>
-  <dt><kbd class="osc">EditorMenu/Link</kbd></dt><dd>Link</dd>
-  <dt><kbd class="osc">EditorMenu/LocateToMarker</kbd></dt><dd>Locate to Markers</dd>
-  <dt><kbd class="osc">EditorMenu/MIDI</kbd></dt><dd>MIDI Options</dd>
-  <dt><kbd class="osc">EditorMenu/MarkerMenu</kbd></dt><dd>Markers</dd>
-  <dt><kbd class="osc">EditorMenu/MeterFalloff</kbd></dt><dd>Meter falloff</dd>
-  <dt><kbd class="osc">EditorMenu/MeterHold</kbd></dt><dd>Meter hold</dd>
-  <dt><kbd class="osc">EditorMenu/MiscOptions</kbd></dt><dd>Misc Options</dd>
-  <dt><kbd class="osc">EditorMenu/Monitoring</kbd></dt><dd>Monitoring</dd>
-  <dt><kbd class="osc">EditorMenu/MoveActiveMarkMenu</kbd></dt><dd>Active Mark</dd>
-  <dt><kbd class="osc">EditorMenu/MovePlayHeadMenu</kbd></dt><dd>Playhead</dd>
-  <dt><kbd class="osc">EditorMenu/PlayMenu</kbd></dt><dd>Play</dd>
-  <dt><kbd class="osc">EditorMenu/PrimaryClockMenu</kbd></dt><dd>Primary Clock</dd>
-  <dt><kbd class="osc">EditorMenu/Pullup</kbd></dt><dd>Pullup / Pulldown</dd>
-  <dt><kbd class="osc">EditorMenu/RegionEditOps</kbd></dt><dd>Region operations</dd>
-  <dt><kbd class="osc">EditorMenu/RegionGainMenu</kbd></dt><dd>Gain</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuDuplicate</kbd></dt><dd>Duplicate</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuEdit</kbd></dt><dd>Edit</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuFades</kbd></dt><dd>Fades</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuGain</kbd></dt><dd>Gain</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenu</kbd></dt><dd>Region</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuLayering</kbd></dt><dd>Layering</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuMIDI</kbd></dt><dd>MIDI</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuPosition</kbd></dt><dd>Position</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuRanges</kbd></dt><dd>Ranges</dd>
-  <dt><kbd class="osc">EditorMenu/RegionMenuTrim</kbd></dt><dd>Trim</dd>
-  <dt><kbd class="osc">EditorMenu/RulerMenu</kbd></dt><dd>Rulers</dd>
-  <dt><kbd class="osc">EditorMenu/SavedViewMenu</kbd></dt><dd>Views</dd>
-  <dt><kbd class="osc">EditorMenu/ScrollMenu</kbd></dt><dd>Scroll</dd>
-  <dt><kbd class="osc">EditorMenu/SecondaryClockMenu</kbd></dt><dd>Secondary Clock</dd>
-  <dt><kbd class="osc">EditorMenu/Select</kbd></dt><dd>Select</dd>
-  <dt><kbd class="osc">EditorMenu/SelectMenu</kbd></dt><dd>Select</dd>
-  <dt><kbd class="osc">EditorMenu/SeparateMenu</kbd></dt><dd>Separate</dd>
-  <dt><kbd class="osc">EditorMenu/SetLoopMenu</kbd></dt><dd>Loop</dd>
-  <dt><kbd class="osc">EditorMenu/SetPunchMenu</kbd></dt><dd>Punch</dd>
-  <dt><kbd class="osc">EditorMenu/Solo</kbd></dt><dd>Solo</dd>
-  <dt><kbd class="osc">EditorMenu/Subframes</kbd></dt><dd>Subframes</dd>
-  <dt><kbd class="osc">EditorMenu/SyncMenu</kbd></dt><dd>Sync</dd>
-  <dt><kbd class="osc">EditorMenu/TempoMenu</kbd></dt><dd>Tempo</dd>
-  <dt><kbd class="osc">EditorMenu/Timecode</kbd></dt><dd>Timecode fps</dd>
-  <dt><kbd class="osc">EditorMenu/Tools</kbd></dt><dd>Tools</dd>
-  <dt><kbd class="osc">EditorMenu/TrackHeightMenu</kbd></dt><dd>Height</dd>
-  <dt><kbd class="osc">EditorMenu/TrackMenu</kbd></dt><dd>Track</dd>
-  <dt><kbd class="osc">EditorMenu/VideoMonitorMenu</kbd></dt><dd>Video Monitor</dd>
-  <dt><kbd class="osc">EditorMenu/View</kbd></dt><dd>View</dd>
-  <dt><kbd class="osc">EditorMenu/ZoomFocus</kbd></dt><dd>Zoom Focus</dd>
-  <dt><kbd class="osc">EditorMenu/ZoomFocusMenu</kbd></dt><dd>Zoom Focus</dd>
-  <dt><kbd class="osc">EditorMenu/ZoomMenu</kbd></dt><dd>Zoom</dd>
-  <!-- mouseMode - updated-->
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-audition</kbd></dt><dd>Audition Tool</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-content</kbd></dt><dd></dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-cut</kbd></dt><dd></dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-draw</kbd></dt><dd>Note Drawing Tool</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-object</kbd></dt><dd>Object Tool</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-object-range</kbd></dt><dd>Smart Object Mode</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-range</kbd></dt><dd>Range Tool</dd>
-  <dt><kbd class="osc">MouseMode/set-mouse-mode-timefx</kbd></dt><dd>Time FX Tool</dd>
-  <!-- Region - updated-->
-  <dt><kbd class="osc">Region/add-range-marker-from-region</kbd></dt><dd>Add Single Range Marker</dd>
-  <dt><kbd class="osc">Region/add-range-markers-from-region</kbd></dt><dd>Add Range Marker Per Region</dd>
-  <dt><kbd class="osc">Region/align-regions-end</kbd></dt><dd>Align End</dd>
-  <dt><kbd class="osc">Region/align-regions-end-relative</kbd></dt><dd>Align End Relative</dd>
-  <dt><kbd class="osc">Region/align-regions-start</kbd></dt><dd>Align Start</dd>
-  <dt><kbd class="osc">Region/align-regions-start-relative</kbd></dt><dd>Align Start Relative</dd>
-  <dt><kbd class="osc">Region/align-regions-sync</kbd></dt><dd>Align Sync</dd>
-  <dt><kbd class="osc">Region/align-regions-sync-relative</kbd></dt><dd>Align Sync Relative</dd>
-  <dt><kbd class="osc">/Region/alternate-nudge-backward</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Region/alternate-nudge-forward</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Region/alternate-set-fade-in-length</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Region/alternate-set-fade-out-length</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Region/boost-region-gain</kbd></dt><dd>Boost Gain</dd>
-  <dt><kbd class="osc">Region/bounce-regions-processed</kbd></dt><dd>Bounce (without processing)</dd>
-  <dt><kbd class="osc">Region/bounce-regions-unprocessed</kbd></dt><dd>Bounce (with processing)</dd>
-  <dt><kbd class="osc">Region/choose-top-region-context-menu</kbd></dt><dd>Choose Top...</dd>
-  <dt><kbd class="osc">Region/choose-top-region</kbd></dt><dd>Choose Top...</dd>
-  <dt><kbd class="osc">Region/close-region-gaps</kbd></dt><dd>Close Gaps</dd>
-  <dt><kbd class="osc">Region/combine-regions</kbd></dt><dd>Combine</dd>
-  <dt><kbd class="osc">Region/cut-region-gain</kbd></dt><dd>Cut Gain</dd>
-  <dt><kbd class="osc">Region/duplicate-region</kbd></dt><dd>Duplicate</dd>
-  <dt><kbd class="osc">Region/export-region</kbd></dt><dd>Export...</dd>
-  <dt><kbd class="osc">Region/fork-region</kbd></dt><dd>Unlink from other copies</dd>
-  <dt><kbd class="osc">Region/insert-patch-change-context</kbd></dt><dd>Insert Patch Change...</dd>
-  <dt><kbd class="osc">Region/insert-patch-change</kbd></dt><dd>Insert Patch Change...</dd>
-  <dt><kbd class="osc">Region/insert-region-from-region-list</kbd></dt><dd>Insert Region From Region List</dd>
-  <dt><kbd class="osc">/Region/legatize-region</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Region/loop-region</kbd></dt><dd>Loop</dd>
-  <dt><kbd class="osc">Region/loudness-analyze-region</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Region/lower-region</kbd></dt><dd>Lower</dd>
-  <dt><kbd class="osc">Region/lower-region-to-bottom</kbd></dt><dd>Lower to Bottom</dd>
-  <dt><kbd class="osc">Region/multi-duplicate-region</kbd></dt><dd>Multi-Duplicate...</dd>
-  <dt><kbd class="osc">Region/naturalize-region</kbd></dt><dd>Move to Original Position</dd>
-  <dt><kbd class="osc">Region/normalize-region</kbd></dt><dd>Normalize...</dd>
-  <dt><kbd class="osc">Region/nudge-backward-by-capture-offset</kbd></dt><dd>Nudge Earlier by Capture Offset</dd>
-  <dt><kbd class="osc">Region/nudge-backward</kbd></dt><dd>Nudge Earlier</dd>
-  <dt><kbd class="osc">Region/nudge-forward-by-capture-offset</kbd></dt><dd>Nudge Later by Capture Offset</dd>
-  <dt><kbd class="osc">Region/nudge-forward</kbd></dt><dd>Nudge Later</dd>
-  <dt><kbd class="osc">Region/pitch-shift-region</kbd></dt><dd>Pitch Shift...</dd>
-  <dt><kbd class="osc">Region/place-transient</kbd></dt><dd>Place Transient</dd>
-  <dt><kbd class="osc">Region/play-selected-regions</kbd></dt><dd>Play</dd>
-  <dt><kbd class="osc">Region/quantize-region</kbd></dt><dd>Quantize...</dd>
-  <dt><kbd class="osc">Region/raise-region</kbd></dt><dd>Raise</dd>
-  <dt><kbd class="osc">Region/raise-region-to-top</kbd></dt><dd>Raise to Top</dd>
-  <dt><kbd class="osc">Region/region-fill-track</kbd></dt><dd>Fill Track</dd>
-  <dt><kbd class="osc">Region/remove-region</kbd></dt><dd>Remove</dd>
-  <dt><kbd class="osc">Region/remove-region-sync</kbd></dt><dd>Remove Sync</dd>
-  <dt><kbd class="osc">Region/rename-region</kbd></dt><dd>Rename...</dd>
-  <dt><kbd class="osc">Region/reset-region-gain-envelopes</kbd></dt><dd>Reset Envelope</dd>
-  <dt><kbd class="osc">Region/reset-region-scale-amplitude</kbd></dt><dd>Reset Gain</dd>
-  <dt><kbd class="osc">Region/reverse-region</kbd></dt><dd>Reverse</dd>
-  <dt><kbd class="osc">Region/separate-under-region</kbd></dt><dd>Separate Under</dd>
-  <dt><kbd class="osc">Region/sequence-regions</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Region/set-fade-in-length</kbd></dt><dd>Set Fade In Length</dd>
-  <dt><kbd class="osc">Region/set-fade-out-length</kbd></dt><dd>Set Fade Out Length</dd>
-  <dt><kbd class="osc">Region/set-loop-from-region</kbd></dt><dd>Set Loop Range</dd>
-  <dt><kbd class="osc">Region/set-punch-from-region</kbd></dt><dd>Set Punch</dd>
-  <dt><kbd class="osc">Region/set-region-sync-position</kbd></dt><dd>Set Sync Position</dd>
-  <dt><kbd class="osc">Region/set-selection-from-region</kbd></dt><dd>Set Range Selection</dd>
-  <dt><kbd class="osc">Region/set-tempo-from-region</kbd></dt><dd>Set Tempo from Region = Bar</dd>
-  <dt><kbd class="osc">Region/show-region-list-editor</kbd></dt><dd>List Editor...</dd>
-  <dt><kbd class="osc">Region/show-region-properties</kbd></dt><dd>Properties...</dd>
-  <dt><kbd class="osc">Region/show-rhythm-ferret</kbd></dt><dd>Rhythm Ferret...</dd>
-  <dt><kbd class="osc">Region/snap-regions-to-grid</kbd></dt><dd>Snap Position To Grid</dd>
-  <dt><kbd class="osc">Region/split-multichannel-region</kbd></dt><dd>Make Mono Regions</dd>
-  <dt><kbd class="osc">Region/split-region-at-transients</kbd></dt><dd>Split at Percussion Onsets</dd>
-  <dt><kbd class="osc">Region/split-region</kbd></dt><dd>Split</dd>
-  <dt><kbd class="osc">Region/strip-region-silence</kbd></dt><dd>Strip Silence...</dd>
-  <dt><kbd class="osc">Region/toggle-opaque-region</kbd></dt><dd>Opaque</dd>
-  <dt><kbd class="osc">Region/toggle-region-fade-in</kbd></dt><dd>Fade In</dd>
-  <dt><kbd class="osc">Region/toggle-region-fade-out</kbd></dt><dd>Fade Out</dd>
-  <dt><kbd class="osc">Region/toggle-region-fades</kbd></dt><dd>Fades</dd>
-  <dt><kbd class="osc">Region/toggle-region-gain-envelope-active</kbd></dt><dd>Envelope Active</dd>
-  <dt><kbd class="osc">Region/toggle-region-lock</kbd></dt><dd>Lock</dd>
-  <dt><kbd class="osc">Region/toggle-region-lock-style</kbd></dt><dd>Glue to Bars and Beats</dd>
-  <dt><kbd class="osc">Region/toggle-region-mute</kbd></dt><dd>Mute</dd>
-  <dt><kbd class="osc">Region/toggle-region-video-lock</kbd></dt><dd>Lock to Video</dd>
-  <dt><kbd class="osc">Region/transform-region</kbd></dt><dd></dd>
-  <dt><kbd class="osc">Region/transpose-region</kbd></dt><dd>Transpose...</dd>
-  <dt><kbd class="osc">Region/trim-back</kbd></dt><dd>Trim End at Edit Point</dd>
-  <dt><kbd class="osc">Region/trim-front</kbd></dt><dd>Trim Start at Edit Point</dd>
-  <dt><kbd class="osc">Region/trim-region-to-loop</kbd></dt><dd>Trim to Loop</dd>
-  <dt><kbd class="osc">Region/trim-region-to-punch</kbd></dt><dd>Trim to Punch</dd>
-  <dt><kbd class="osc">Region/trim-to-next-region</kbd></dt><dd>Trim to Next</dd>
-  <dt><kbd class="osc">Region/trim-to-previous-region</kbd></dt><dd>Trim to Previous</dd>
-  <dt><kbd class="osc">Region/uncombine-regions</kbd></dt><dd>Uncombine</dd>
-  <!-- RegionList ok -->
-  <dt><kbd class="osc">RegionList/RegionListSort</kbd></dt><dd>Sort</dd>
-  <dt><kbd class="osc">RegionList/SortAscending</kbd></dt><dd>Ascending</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionEndinFile</kbd></dt><dd>By Region End in File</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionLength</kbd></dt><dd>By Region Length</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionName</kbd></dt><dd>By Region Name</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionPosition</kbd></dt><dd>By Region Position</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionStartinFile</kbd></dt><dd>By Region Start in File</dd>
-  <dt><kbd class="osc">RegionList/SortByRegionTimestamp</kbd></dt><dd>By Region Timestamp</dd>
-  <dt><kbd class="osc">RegionList/SortBySourceFileCreationDate</kbd></dt><dd>By Source File Creation Date</dd>
-  <dt><kbd class="osc">RegionList/SortBySourceFileLength</kbd></dt><dd>By Source File Length</dd>
-  <dt><kbd class="osc">RegionList/SortBySourceFileName</kbd></dt><dd>By Source File Name</dd>
-  <dt><kbd class="osc">RegionList/SortBySourceFilesystem</kbd></dt><dd>By Source Filesystem</dd>
-  <dt><kbd class="osc">RegionList/SortDescending</kbd></dt><dd>Descending</dd>
-  <dt><kbd class="osc">RegionList/removeUnusedRegions</kbd></dt><dd>Remove Unused</dd>
-  <dt><kbd class="osc">RegionList/rlAudition</kbd></dt><dd>Audition</dd>
-  <dt><kbd class="osc">RegionList/rlHide</kbd></dt><dd>Hide</dd>
-  <dt><kbd class="osc">RegionList/rlShow</kbd></dt><dd>Show</dd>
-  <dt><kbd class="osc">RegionList/rlShowAll</kbd></dt><dd>Show All</dd>
-  <dt><kbd class="osc">RegionList/rlShowAuto</kbd></dt><dd>Show Automatic Regions</dd>
-  <!-- Rulers - ok -->
-  <dt><kbd class="osc">Rulers/toggle-bbt-ruler</kbd></dt><dd>Bars &amp; Beats</dd>
-  <dt><kbd class="osc">Rulers/toggle-cd-marker-ruler</kbd></dt><dd>CD Markers</dd>
-  <dt><kbd class="osc">Rulers/toggle-loop-punch-ruler</kbd></dt><dd>Loop/Punch</dd>
-  <dt><kbd class="osc">Rulers/toggle-marker-ruler</kbd></dt><dd>Markers</dd>
-  <dt><kbd class="osc">Rulers/toggle-meter-ruler</kbd></dt><dd>Meter</dd>
-  <dt><kbd class="osc">Rulers/toggle-minsec-ruler</kbd></dt><dd>Min:Sec</dd>
-  <dt><kbd class="osc">Rulers/toggle-range-ruler</kbd></dt><dd>Ranges</dd>
-  <dt><kbd class="osc">Rulers/toggle-samples-ruler</kbd></dt><dd>Samples</dd>
-  <dt><kbd class="osc">Rulers/toggle-tempo-ruler</kbd></dt><dd>Tempo</dd>
-  <dt><kbd class="osc">Rulers/toggle-timecode-ruler</kbd></dt><dd>Timecode</dd>
-  <dt><kbd class="osc">Rulers/toggle-video-ruler</kbd></dt><dd>Video</dd>
-  <!-- Shuttle Actions... these don't seem to be there any more
-  <dt><kbd class="osc">ShuttleActions/SetShuttleUnitsPercentage</kbd></dt><dd>Percentage</dd>
-  <dt><kbd class="osc">ShuttleActions/SetShuttleUnitsSemitones</kbd></dt><dd>Semitones</dd-->
-  <!-- snap checked -->
-  <dt><kbd class="osc">Snap/snap-to-asixteenthbeat</kbd></dt><dd>Snap to Sixteenths</dd>
-  <dt><kbd class="osc">Snap/snap-to-bar</kbd></dt><dd>Snap to Bar</dd>
-  <dt><kbd class="osc">Snap/snap-to-beat</kbd></dt><dd>Snap to Beat</dd>
-  <dt><kbd class="osc">Snap/snap-to-cd-frame</kbd></dt><dd>Snap to CD Frame</dd>
-  <dt><kbd class="osc">Snap/snap-to-eighths</kbd></dt><dd>Snap to Eighths</dd>
-  <dt><kbd class="osc">Snap/snap-to-fifths</kbd></dt><dd>Snap to Fifths</dd>
-  <dt><kbd class="osc">Snap/snap-to-fourteenths</kbd></dt><dd>Snap to Fourteenths</dd>
-  <dt><kbd class="osc">Snap/snap-to-halves</kbd></dt><dd>Snap to Halves</dd>
-  <dt><kbd class="osc">Snap/snap-to-mark</kbd></dt><dd>Snap to Mark</dd>
-  <dt><kbd class="osc">Snap/snap-to-minutes</kbd></dt><dd>Snap to Minutes</dd>
-  <dt><kbd class="osc">Snap/snap-to-onetwentyeighths</kbd></dt><dd>Snap to One Twenty Eighths</dd>
-  <dt><kbd class="osc">Snap/snap-to-quarters</kbd></dt><dd>Snap to Quarters</dd>
-  <dt><kbd class="osc">Snap/snap-to-region-boundary</kbd></dt><dd>Snap to Region Boundary</dd>
-  <dt><kbd class="osc">Snap/snap-to-region-end</kbd></dt><dd>Snap to Region End</dd>
-  <dt><kbd class="osc">Snap/snap-to-region-start</kbd></dt><dd>Snap to Region Start</dd>
-  <dt><kbd class="osc">Snap/snap-to-region-sync</kbd></dt><dd>Snap to Region Sync</dd>
-  <dt><kbd class="osc">Snap/snap-to-seconds</kbd></dt><dd>Snap to Seconds</dd>
-  <dt><kbd class="osc">Snap/snap-to-sevenths</kbd></dt><dd>Snap to Sevenths</dd>
-  <dt><kbd class="osc">Snap/snap-to-sixths</kbd></dt><dd>Snap to Sixths</dd>
-  <dt><kbd class="osc">Snap/snap-to-sixtyfourths</kbd></dt><dd>Snap to Sixty Fourths</dd>
-  <dt><kbd class="osc">Snap/snap-to-tenths</kbd></dt><dd>Snap to Tenths</dd>
-  <dt><kbd class="osc">Snap/snap-to-thirds</kbd></dt><dd>Snap to Thirds</dd>
-  <dt><kbd class="osc">Snap/snap-to-thirtyseconds</kbd></dt><dd>Snap to Thirty Seconds</dd>
-  <dt><kbd class="osc">Snap/snap-to-timecode-frame</kbd></dt><dd>Snap to Timecode Frame</dd>
-  <dt><kbd class="osc">Snap/snap-to-timecode-minutes</kbd></dt><dd>Snap to Timecode Minutes</dd>
-  <dt><kbd class="osc">Snap/snap-to-timecode-seconds</kbd></dt><dd>Snap to Timecode Seconds</dd>
-  <dt><kbd class="osc">Snap/snap-to-twelfths</kbd></dt><dd>Snap to Twelfths</dd>
-  <dt><kbd class="osc">Snap/snap-to-twentieths</kbd></dt><dd>Snap to Twentieths</dd>
-  <dt><kbd class="osc">Snap/snap-to-twentyeighths</kbd></dt><dd>Snap to Twenty Eighths</dd>
-  <dt><kbd class="osc">Snap/snap-to-twentyfourths</kbd></dt><dd>Snap to Twenty Fourths</dd>
-  <!-- Zoom section ok -->
-  <dt><kbd class="osc">Zoom/zoom-focus-center</kbd></dt><dd>Zoom Focus Center</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-edit</kbd></dt><dd>Zoom Focus Edit Point</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-left</kbd></dt><dd>Zoom Focus Left</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-mouse</kbd></dt><dd>Zoom Focus Mouse</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-playhead</kbd></dt><dd>Zoom Focus Playhead</dd>
-  <dt><kbd class="osc">Zoom/zoom-focus-right</kbd></dt><dd>Zoom Focus Right</dd>
-  <!-- Mixer section totally new -->
-  <dt><kbd class="osc">/Mixer/ab-plugins</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/copy-processors</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/cut-processors</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/decrement-gain</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/delete-processors</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/increment-gain</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/mute</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/paste-processors</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/recenable</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/scroll-left</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/scroll-right</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/select-all-processors</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/select-none</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/solo</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/toggle-midi-input-active</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/toggle-processors</kbd></dt><dd></dd>
-  <dt><kbd class="osc">/Mixer/unity-gain</kbd></dt><dd></dd>
-</dl>
-
-{% children %}
diff --git a/_manual/28_appendix/02_monitor-modes.html b/_manual/28_appendix/02_monitor-modes.html
deleted file mode 100644 (file)
index 8ba673f..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
----
-layout: default
-title: Ardour Monitor Modes
----
-
-<p>
-  The table bellow details what will be seen on the meter and heard on the monitor according to Ardour's settings.
-</p>
-
-<table class="alternate">
-       <tr><td>Ref</td><td>Monitoring Mode<br/>(System Prefs)</td><td>Tape Machine Mode<br/>(System Prefs)</td><td>Track<br/>Rec Enable</td><td>Master<br/>Rec Enable</td><td>Transport</td><td>Auto Input<br/>(Session Props)</td><td>Meter<br/>(What you see)</td><td>Monitor<br/>(What you hear)</td></tr>
-       <tr><td>1</td><td>Ardour</td><td>Off</td><td>Off</td><td>Off</td><td>&#9724;</td><td>On</td><td>Input</td><td>Input</td></tr>
-       <tr><td>2</td><td>Ardour</td><td>Off</td><td>Off</td><td>Off</td><td>&#9724;</td><td>Off</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>3</td><td>Ardour</td><td>Off</td><td>Off</td><td>Off</td><td>&#9654;</td><td>On</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>4</td><td>Ardour</td><td>Off</td><td>Off</td><td>Off</td><td>&#9654;</td><td>Off</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>5</td><td>Ardour</td><td>Off</td><td>Off</td><td>On</td><td>&#9724;</td><td>On</td><td>Input</td><td>Input</td></tr>
-       <tr><td>6</td><td>Ardour</td><td>Off</td><td>Off</td><td>On</td><td>&#9724;</td><td>Off</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>7</td><td>Ardour</td><td>Off</td><td>Off</td><td>On</td><td>&#9654;</td><td>On</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>8</td><td>Ardour</td><td>Off</td><td>Off</td><td>On</td><td>&#9654;</td><td>Off</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>9</td><td>Ardour</td><td>Off</td><td>On</td><td>Off</td><td>&#9724;</td><td>On</td><td>Input</td><td>Input</td></tr>
-       <tr><td>10</td><td>Ardour</td><td>Off</td><td>On</td><td>Off</td><td>&#9724;</td><td>Off</td><td>Input</td><td>Input</td></tr>
-       <tr><td>11</td><td>Ardour</td><td>Off</td><td>On</td><td>Off</td><td>&#9654;</td><td>On</td><td>Input</td><td>Disk (Audio)</td></tr>
-       <tr><td>12</td><td>Ardour</td><td>Off</td><td>On</td><td>Off</td><td>&#9654;</td><td>Off</td><td>Input</td><td>Input</td></tr>
-       <tr><td>13</td><td>Ardour</td><td>Off</td><td>On</td><td>On</td><td>&#9724;</td><td>On</td><td>Input</td><td>Input</td></tr>
-       <tr><td>14</td><td>Ardour</td><td>Off</td><td>On</td><td>On</td><td>&#9724;</td><td>Off</td><td>Input</td><td>Input</td></tr>
-       <tr><td>15</td><td>Ardour</td><td>Off</td><td>On</td><td>On</td><td>&#9654;</td><td>On</td><td>Input</td><td>Input</td></tr>
-       <tr><td>16</td><td>Ardour</td><td>Off</td><td>On</td><td>On</td><td>&#9654;</td><td>Off</td><td>Input</td><td>Input</td></tr>
-       <tr><td>17</td><td>Ardour</td><td>On</td><td>Off</td><td>Off</td><td>&#9724;</td><td>On</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>18</td><td>Ardour</td><td>On</td><td>Off</td><td>Off</td><td>&#9724;</td><td>Off</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>19</td><td>Ardour</td><td>On</td><td>Off</td><td>Off</td><td>&#9654;</td><td>On</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>20</td><td>Ardour</td><td>On</td><td>Off</td><td>Off</td><td>&#9654;</td><td>Off</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>21</td><td>Ardour</td><td>On</td><td>Off</td><td>On</td><td>&#9724;</td><td>On</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>22</td><td>Ardour</td><td>On</td><td>Off</td><td>On</td><td>&#9724;</td><td>Off</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>23</td><td>Ardour</td><td>On</td><td>Off</td><td>On</td><td>&#9654;</td><td>On</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>24</td><td>Ardour</td><td>On</td><td>Off</td><td>On</td><td>&#9654;</td><td>Off</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>25</td><td>Ardour</td><td>On</td><td>On</td><td>Off</td><td>&#9724;</td><td>On</td><td>Input</td><td>Input</td></tr>
-       <tr><td>26</td><td>Ardour</td><td>On</td><td>On</td><td>Off</td><td>&#9724;</td><td>Off</td><td>Input</td><td>Input</td></tr>
-       <tr><td>27</td><td>Ardour</td><td>On</td><td>On</td><td>Off</td><td>&#9654;</td><td>On</td><td>Input</td><td>Disk (Audio)</td></tr>
-       <tr><td>28</td><td>Ardour</td><td>On</td><td>On</td><td>Off</td><td>&#9654;</td><td>Off</td><td>Input</td><td>Input</td></tr>
-       <tr><td>29</td><td>Ardour</td><td>On</td><td>On</td><td>On</td><td>&#9724;</td><td>On</td><td>Input</td><td>Input</td></tr>
-       <tr><td>30</td><td>Ardour</td><td>On</td><td>On</td><td>On</td><td>&#9724;</td><td>Off</td><td>Input</td><td>Input</td></tr>
-       <tr><td>31</td><td>Ardour</td><td>On</td><td>On</td><td>On</td><td>&#9654;</td><td>On</td><td>Input</td><td>Input</td></tr>
-       <tr><td>32</td><td>Ardour</td><td>On</td><td>On</td><td>On</td><td>&#9654;</td><td>Off</td><td>Input</td><td>Input</td></tr>
-
-       <tr><td>33</td><td>Audio Hardware</td><td>Off</td><td>Off</td><td>Off</td><td>&#9724;</td><td>On</td><td>Input</td><td>Silence</td></tr>
-       <tr><td>34</td><td>Audio Hardware</td><td>Off</td><td>Off</td><td>Off</td><td>&#9724;</td><td>Off</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>35</td><td>Audio Hardware</td><td>Off</td><td>Off</td><td>Off</td><td>&#9654;</td><td>On</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>36</td><td>Audio Hardware</td><td>Off</td><td>Off</td><td>Off</td><td>&#9654;</td><td>Off</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>37</td><td>Audio Hardware</td><td>Off</td><td>Off</td><td>On</td><td>&#9724;</td><td>On</td><td>Input</td><td>Silence</td></tr>
-       <tr><td>38</td><td>Audio Hardware</td><td>Off</td><td>Off</td><td>On</td><td>&#9724;</td><td>Off</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>39</td><td>Audio Hardware</td><td>Off</td><td>Off</td><td>On</td><td>&#9654;</td><td>On</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>40</td><td>Audio Hardware</td><td>Off</td><td>Off</td><td>On</td><td>&#9654;</td><td>Off</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>41</td><td>Audio Hardware</td><td>Off</td><td>On</td><td>Off</td><td>&#9724;</td><td>On</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>42</td><td>Audio Hardware</td><td>Off</td><td>On</td><td>Off</td><td>&#9724;</td><td>Off</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>43</td><td>Audio Hardware</td><td>Off</td><td>On</td><td>Off</td><td>&#9654;</td><td>On</td><td>Input</td><td>Disk (Audio)</td></tr>
-       <tr><td>44</td><td>Audio Hardware</td><td>Off</td><td>On</td><td>Off</td><td>&#9654;</td><td>Off</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>45</td><td>Audio Hardware</td><td>Off</td><td>On</td><td>On</td><td>&#9724;</td><td>On</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>46</td><td>Audio Hardware</td><td>Off</td><td>On</td><td>On</td><td>&#9724;</td><td>Off</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>47</td><td>Audio Hardware</td><td>Off</td><td>On</td><td>On</td><td>&#9654;</td><td>On</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>48</td><td>Audio Hardware</td><td>Off</td><td>On</td><td>On</td><td>&#9654;</td><td>Off</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>49</td><td>Audio Hardware</td><td>On</td><td>Off</td><td>Off</td><td>&#9724;</td><td>On</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>50</td><td>Audio Hardware</td><td>On</td><td>Off</td><td>Off</td><td>&#9724;</td><td>Off</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>51</td><td>Audio Hardware</td><td>On</td><td>Off</td><td>Off</td><td>&#9654;</td><td>On</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>52</td><td>Audio Hardware</td><td>On</td><td>Off</td><td>Off</td><td>&#9654;</td><td>Off</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>53</td><td>Audio Hardware</td><td>On</td><td>Off</td><td>On</td><td>&#9724;</td><td>On</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>54</td><td>Audio Hardware</td><td>On</td><td>Off</td><td>On</td><td>&#9724;</td><td>Off</td><td>Disk (Silence)</td><td>Disk (Silence)</td></tr>
-       <tr><td>55</td><td>Audio Hardware</td><td>On</td><td>Off</td><td>On</td><td>&#9654;</td><td>On</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>56</td><td>Audio Hardware</td><td>On</td><td>Off</td><td>On</td><td>&#9654;</td><td>Off</td><td>Disk (Audio)</td><td>Disk (Audio)</td></tr>
-       <tr><td>57</td><td>Audio Hardware</td><td>On</td><td>On</td><td>Off</td><td>&#9724;</td><td>On</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>58</td><td>Audio Hardware</td><td>On</td><td>On</td><td>Off</td><td>&#9724;</td><td>Off</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>59</td><td>Audio Hardware</td><td>On</td><td>On</td><td>Off</td><td>&#9654;</td><td>On</td><td>Input</td><td>Disk (Audio)</td></tr>
-       <tr><td>60</td><td>Audio Hardware</td><td>On</td><td>On</td><td>Off</td><td>&#9654;</td><td>Off</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>61</td><td>Audio Hardware</td><td>On</td><td>On</td><td>On</td><td>&#9724;</td><td>On</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>62</td><td>Audio Hardware</td><td>On</td><td>On</td><td>On</td><td>&#9724;</td><td>Off</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>63</td><td>Audio Hardware</td><td>On</td><td>On</td><td>On</td><td>&#9654;</td><td>On</td><td>Input</td><td>HW Pass Through</td></tr>
-       <tr><td>64</td><td>Audio Hardware</td><td>On</td><td>On</td><td>On</td><td>&#9654;</td><td>Off</td><td>Input</td><td>HW Pass Through</td></tr>
-</table>
diff --git a/_manual/28_appendix/03_files-and-directories.html b/_manual/28_appendix/03_files-and-directories.html
deleted file mode 100644 (file)
index 123a2fe..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
----
-layout: default
-title: Files and Directories Ardour Knows About
----
-
-<h2>Configuration Directories</h2>
-<p>
-  Ardour stores configuration files in two places. The system configuration
-  directory and the user configuration directory. The system configuration
-  directory is used for stock configuration files and is used by all
-  users on any one system. The user configuration directory is used by
-  Ardour to store configuration changes made in the GUI as well as being
-  a place the user can add control surface device files, scripts etc.
-</p>
-
-<p>
-  Ardour tries to use standard places for these directories for the platform
-  it is running on.
-</p>
-<h3>Linux</h3>
-<p>
-  Linux is the most variable of the platforms mainly due to Ardour obtained from
-  a distro package. If Ardour is obtained from ardour.org as a ready to install
-  and run bundle, the system configuration directory will always be in
-  /opt/Ardour-major.minor.sub/share/ That is it will match the name of the
-  file you downloaded. If Ardour is self built and installed with the
-  default install path (yes you can change this) then system configuration
-  will be in /usr/local/share/ardour*/ where * is the major number such as
-  /usr/local/share/ardour5/ for Ardour 5.6. If you have installed Ardour
-  as a package from your distro, then distro policy will dictate where
-  it is installed. /usr/share/ardour*/ is quite common and a good place to start
-  looking. However, the Ardour development team does not support these
-  distro builds nor keep track of where they may put things.
-</p>
-<p>
-  The user configuration directory will be somewhere inside the user's
-  home directory. A normal place to find this is ~/.config/ardour*/ where
-  * is the major version. However this can be set by the system with the
-  $XDG_CONFIG_HOME environment variable to something else. If you can not
-  find ~/.config/ on your system try echo ${XDG_CONFIG_HOME} to see if your
-  distro is using something else.
-</p>
-<h3>OSx or MacOS</h3>
-<p>
-  maybe someone who has a MAC can complete this section.
-</p>
-<h3>Windows</h3>
-<p>
-  This section also needs someone with real knowledge to complete it.
-</p>
-
-<h2>Plugins</h2>
-<p>
-  Plugins will be installed in various places, some by standard and some
-  by developer whim. Some are installed incorrectly by distro policy.
-</p>
-
-<h3>Linux</h3>
-<p>
-  In linux there are 3 kinds of plugins Ardour can use. LADSPA, LV2 (LADSPA version 2)
-  or lxvst (VSTs compiles as native linux binaries). While it is possible
-  with some strange magic to run <a href="/working-with-plugins/windows-vst-support/">Windows VSTs</a>
-  on linux, their whereabouts would follow the Windows info below.
-</p>
-
-<h4>LADSPA</h4>
-<p>
-  LADSPA plugins should be found in  /usr/lib/ladspa/, /usr/local/lib/ladspa/
-  or in a directory mentioned in your LADSPA_PATH environment variable.
-  The most common mistake made by distro packagers, is to use a path
-  like /usr/lib/$ARCH/ladspa/ and find that Ardour will not find that by
-  default. The user can either add a link from this actual directory to
-  the standard directory or add this path to LADSPA_PATH.
-</p>
-
-<h4>LV2</h4>
-<p>
-  LADSPA plugins should be found in  /usr/lib/lv2/, /usr/local/lib/lv2/
-  or in a directory mentioned in your LV2_PATH environment variable.
-  The most common mistake made by distro packagers, is to use a path
-  like /usr/lib/$ARCH/lv2/ and find that Ardour will not find that by
-  default. The user can either add a link from this actual directory to
-  the standard directory or add this path to LV2_PATH.
-</p>
-
-<h4>Linux VST or lxvst</h4>
-<p>
- They are typically installed in /usr/lib/lxvst, /usr/local/lib/lxvst or
- a directory mentioned in your LXVST_PATH environment variable. However,
- this is not a standard and the VST plugin developer may install the plugin
- just about anywhere. Therefore Ardour allows the user to set extra VST
- paths in the preferences GUI under Plugins&gt;VST.
-</p>
-
-<h3>OSX or MacOS</h3>
-<p>
-  On the Mac, plugins are expected to be installed correctly Ardour uses
-  the system tool to scan for AU style plugins and LV2s should be in the right
-  place. LV2 should be in $HOME/Library/Audio/Plug-Ins/LV2
-  /Library/Audio/Plug-Ins/LV2
-  /usr/local/lib/lv2
-  /usr/lib/lv2
-  If an AU or LV2 plugin does not show up on a Mac it is probably
-  a development fault with the plugin and the plugin will not work with anything.
-  Ardour in Ardour 5.6 has support for native VST plugins. That is VST
-  plugins built for OSX. I am not sure if these have a standard place to
-  be, but as with other VSTs the search path can be edited at  Plugins&gt;VST.
-</p>
-
-<h3>Windows</h3>
-<p>
- The most common plugins on Windows are VSTs. However, LADSPA and LV2
- plugins are available for windows as well. In fact Ardours built in
- plugins are LV2s. The biggest advanatage of LV2 plugins is that they are
- the most likely to be cross platform and therefore allow the same Ardour
- project to be worked on in Windows, OSX and Linux.
-</p>
-
-<h4>VST</h4>
-<p>
-  As with other platforms, VSTs on Windows do not have a standard place
-  to reside. Ardour Preferences&gt;Plugins&gt;VST allows setting the VST path
-  from the GUI.
-</p>
-<h4>LV2</h4>
-<p>
-  The LV2 standard for Windows is %APPDATA%/LV2 or %COMMONPROGRAMFILES%/LV2
-</p>
-
-<h4>LADSPA</h4>
-<p>
-  While there are LADSPA plugins for Windows, I have been unable to find
-  the standard path for them... perhaps someone knows?
-</p>
-
-<h2>Project Directory</h2>
-<p>
-  Ardour places a project directory where the user tells it to. This
-  directory is chosen when creating a project. In most cases the user
-  does not need to know about the files inside of the project directory.
-  However there are a few subdirectories worth noting.
-</p>
-<h3>export</h3>
-<p>
-  This is the subdirectory where exported files end up.
-</p>
diff --git a/source/bootstrap-2.2.2/css/bootstrap-responsive.css b/source/bootstrap-2.2.2/css/bootstrap-responsive.css
deleted file mode 100644 (file)
index a3352d7..0000000
+++ /dev/null
@@ -1,1092 +0,0 @@
-/*!
- * Bootstrap Responsive v2.2.2
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-
-@-ms-viewport {
-  width: device-width;
-}
-
-.clearfix {
-  *zoom: 1;
-}
-
-.clearfix:before,
-.clearfix:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.clearfix:after {
-  clear: both;
-}
-
-.hide-text {
-  font: 0/0 a;
-  color: transparent;
-  text-shadow: none;
-  background-color: transparent;
-  border: 0;
-}
-
-.input-block-level {
-  display: block;
-  width: 100%;
-  min-height: 30px;
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-
-.hidden {
-  display: none;
-  visibility: hidden;
-}
-
-.visible-phone {
-  display: none !important;
-}
-
-.visible-tablet {
-  display: none !important;
-}
-
-.hidden-desktop {
-  display: none !important;
-}
-
-.visible-desktop {
-  display: inherit !important;
-}
-
-@media (min-width: 768px) and (max-width: 979px) {
-  .hidden-desktop {
-    display: inherit !important;
-  }
-  .visible-desktop {
-    display: none !important ;
-  }
-  .visible-tablet {
-    display: inherit !important;
-  }
-  .hidden-tablet {
-    display: none !important;
-  }
-}
-
-@media (max-width: 767px) {
-  .hidden-desktop {
-    display: inherit !important;
-  }
-  .visible-desktop {
-    display: none !important;
-  }
-  .visible-phone {
-    display: inherit !important;
-  }
-  .hidden-phone {
-    display: none !important;
-  }
-}
-
-@media (min-width: 1200px) {
-  .row {
-    margin-left: -30px;
-    *zoom: 1;
-  }
-  .row:before,
-  .row:after {
-    display: table;
-    line-height: 0;
-    content: "";
-  }
-  .row:after {
-    clear: both;
-  }
-  [class*="span"] {
-    float: left;
-    min-height: 1px;
-    margin-left: 30px;
-  }
-  .container,
-  .navbar-static-top .container,
-  .navbar-fixed-top .container,
-  .navbar-fixed-bottom .container {
-    width: 1170px;
-  }
-  .span12 {
-    width: 1170px;
-  }
-  .span11 {
-    width: 1070px;
-  }
-  .span10 {
-    width: 970px;
-  }
-  .span9 {
-    width: 870px;
-  }
-  .span8 {
-    width: 770px;
-  }
-  .span7 {
-    width: 670px;
-  }
-  .span6 {
-    width: 570px;
-  }
-  .span5 {
-    width: 470px;
-  }
-  .span4 {
-    width: 370px;
-  }
-  .span3 {
-    width: 270px;
-  }
-  .span2 {
-    width: 170px;
-  }
-  .span1 {
-    width: 70px;
-  }
-  .offset12 {
-    margin-left: 1230px;
-  }
-  .offset11 {
-    margin-left: 1130px;
-  }
-  .offset10 {
-    margin-left: 1030px;
-  }
-  .offset9 {
-    margin-left: 930px;
-  }
-  .offset8 {
-    margin-left: 830px;
-  }
-  .offset7 {
-    margin-left: 730px;
-  }
-  .offset6 {
-    margin-left: 630px;
-  }
-  .offset5 {
-    margin-left: 530px;
-  }
-  .offset4 {
-    margin-left: 430px;
-  }
-  .offset3 {
-    margin-left: 330px;
-  }
-  .offset2 {
-    margin-left: 230px;
-  }
-  .offset1 {
-    margin-left: 130px;
-  }
-  .row-fluid {
-    width: 100%;
-    *zoom: 1;
-  }
-  .row-fluid:before,
-  .row-fluid:after {
-    display: table;
-    line-height: 0;
-    content: "";
-  }
-  .row-fluid:after {
-    clear: both;
-  }
-  .row-fluid [class*="span"] {
-    display: block;
-    float: left;
-    width: 100%;
-    min-height: 30px;
-    margin-left: 2.564102564102564%;
-    *margin-left: 2.5109110747408616%;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-  }
-  .row-fluid [class*="span"]:first-child {
-    margin-left: 0;
-  }
-  .row-fluid .controls-row [class*="span"] + [class*="span"] {
-    margin-left: 2.564102564102564%;
-  }
-  .row-fluid .span12 {
-    width: 100%;
-    *width: 99.94680851063829%;
-  }
-  .row-fluid .span11 {
-    width: 91.45299145299145%;
-    *width: 91.39979996362975%;
-  }
-  .row-fluid .span10 {
-    width: 82.90598290598291%;
-    *width: 82.8527914166212%;
-  }
-  .row-fluid .span9 {
-    width: 74.35897435897436%;
-    *width: 74.30578286961266%;
-  }
-  .row-fluid .span8 {
-    width: 65.81196581196582%;
-    *width: 65.75877432260411%;
-  }
-  .row-fluid .span7 {
-    width: 57.26495726495726%;
-    *width: 57.21176577559556%;
-  }
-  .row-fluid .span6 {
-    width: 48.717948717948715%;
-    *width: 48.664757228587014%;
-  }
-  .row-fluid .span5 {
-    width: 40.17094017094017%;
-    *width: 40.11774868157847%;
-  }
-  .row-fluid .span4 {
-    width: 31.623931623931625%;
-    *width: 31.570740134569924%;
-  }
-  .row-fluid .span3 {
-    width: 23.076923076923077%;
-    *width: 23.023731587561375%;
-  }
-  .row-fluid .span2 {
-    width: 14.52991452991453%;
-    *width: 14.476723040552828%;
-  }
-  .row-fluid .span1 {
-    width: 5.982905982905983%;
-    *width: 5.929714493544281%;
-  }
-  .row-fluid .offset12 {
-    margin-left: 105.12820512820512%;
-    *margin-left: 105.02182214948171%;
-  }
-  .row-fluid .offset12:first-child {
-    margin-left: 102.56410256410257%;
-    *margin-left: 102.45771958537915%;
-  }
-  .row-fluid .offset11 {
-    margin-left: 96.58119658119658%;
-    *margin-left: 96.47481360247316%;
-  }
-  .row-fluid .offset11:first-child {
-    margin-left: 94.01709401709402%;
-    *margin-left: 93.91071103837061%;
-  }
-  .row-fluid .offset10 {
-    margin-left: 88.03418803418803%;
-    *margin-left: 87.92780505546462%;
-  }
-  .row-fluid .offset10:first-child {
-    margin-left: 85.47008547008548%;
-    *margin-left: 85.36370249136206%;
-  }
-  .row-fluid .offset9 {
-    margin-left: 79.48717948717949%;
-    *margin-left: 79.38079650845607%;
-  }
-  .row-fluid .offset9:first-child {
-    margin-left: 76.92307692307693%;
-    *margin-left: 76.81669394435352%;
-  }
-  .row-fluid .offset8 {
-    margin-left: 70.94017094017094%;
-    *margin-left: 70.83378796144753%;
-  }
-  .row-fluid .offset8:first-child {
-    margin-left: 68.37606837606839%;
-    *margin-left: 68.26968539734497%;
-  }
-  .row-fluid .offset7 {
-    margin-left: 62.393162393162385%;
-    *margin-left: 62.28677941443899%;
-  }
-  .row-fluid .offset7:first-child {
-    margin-left: 59.82905982905982%;
-    *margin-left: 59.72267685033642%;
-  }
-  .row-fluid .offset6 {
-    margin-left: 53.84615384615384%;
-    *margin-left: 53.739770867430444%;
-  }
-  .row-fluid .offset6:first-child {
-    margin-left: 51.28205128205128%;
-    *margin-left: 51.175668303327875%;
-  }
-  .row-fluid .offset5 {
-    margin-left: 45.299145299145295%;
-    *margin-left: 45.1927623204219%;
-  }
-  .row-fluid .offset5:first-child {
-    margin-left: 42.73504273504273%;
-    *margin-left: 42.62865975631933%;
-  }
-  .row-fluid .offset4 {
-    margin-left: 36.75213675213675%;
-    *margin-left: 36.645753773413354%;
-  }
-  .row-fluid .offset4:first-child {
-    margin-left: 34.18803418803419%;
-    *margin-left: 34.081651209310785%;
-  }
-  .row-fluid .offset3 {
-    margin-left: 28.205128205128204%;
-    *margin-left: 28.0987452264048%;
-  }
-  .row-fluid .offset3:first-child {
-    margin-left: 25.641025641025642%;
-    *margin-left: 25.53464266230224%;
-  }
-  .row-fluid .offset2 {
-    margin-left: 19.65811965811966%;
-    *margin-left: 19.551736679396257%;
-  }
-  .row-fluid .offset2:first-child {
-    margin-left: 17.094017094017094%;
-    *margin-left: 16.98763411529369%;
-  }
-  .row-fluid .offset1 {
-    margin-left: 11.11111111111111%;
-    *margin-left: 11.004728132387708%;
-  }
-  .row-fluid .offset1:first-child {
-    margin-left: 8.547008547008547%;
-    *margin-left: 8.440625568285142%;
-  }
-  input,
-  textarea,
-  .uneditable-input {
-    margin-left: 0;
-  }
-  .controls-row [class*="span"] + [class*="span"] {
-    margin-left: 30px;
-  }
-  input.span12,
-  textarea.span12,
-  .uneditable-input.span12 {
-    width: 1156px;
-  }
-  input.span11,
-  textarea.span11,
-  .uneditable-input.span11 {
-    width: 1056px;
-  }
-  input.span10,
-  textarea.span10,
-  .uneditable-input.span10 {
-    width: 956px;
-  }
-  input.span9,
-  textarea.span9,
-  .uneditable-input.span9 {
-    width: 856px;
-  }
-  input.span8,
-  textarea.span8,
-  .uneditable-input.span8 {
-    width: 756px;
-  }
-  input.span7,
-  textarea.span7,
-  .uneditable-input.span7 {
-    width: 656px;
-  }
-  input.span6,
-  textarea.span6,
-  .uneditable-input.span6 {
-    width: 556px;
-  }
-  input.span5,
-  textarea.span5,
-  .uneditable-input.span5 {
-    width: 456px;
-  }
-  input.span4,
-  textarea.span4,
-  .uneditable-input.span4 {
-    width: 356px;
-  }
-  input.span3,
-  textarea.span3,
-  .uneditable-input.span3 {
-    width: 256px;
-  }
-  input.span2,
-  textarea.span2,
-  .uneditable-input.span2 {
-    width: 156px;
-  }
-  input.span1,
-  textarea.span1,
-  .uneditable-input.span1 {
-    width: 56px;
-  }
-  .thumbnails {
-    margin-left: -30px;
-  }
-  .thumbnails > li {
-    margin-left: 30px;
-  }
-  .row-fluid .thumbnails {
-    margin-left: 0;
-  }
-}
-
-@media (min-width: 768px) and (max-width: 979px) {
-  .row {
-    margin-left: -20px;
-    *zoom: 1;
-  }
-  .row:before,
-  .row:after {
-    display: table;
-    line-height: 0;
-    content: "";
-  }
-  .row:after {
-    clear: both;
-  }
-  [class*="span"] {
-    float: left;
-    min-height: 1px;
-    margin-left: 20px;
-  }
-  .container,
-  .navbar-static-top .container,
-  .navbar-fixed-top .container,
-  .navbar-fixed-bottom .container {
-    width: 724px;
-  }
-  .span12 {
-    width: 724px;
-  }
-  .span11 {
-    width: 662px;
-  }
-  .span10 {
-    width: 600px;
-  }
-  .span9 {
-    width: 538px;
-  }
-  .span8 {
-    width: 476px;
-  }
-  .span7 {
-    width: 414px;
-  }
-  .span6 {
-    width: 352px;
-  }
-  .span5 {
-    width: 290px;
-  }
-  .span4 {
-    width: 228px;
-  }
-  .span3 {
-    width: 166px;
-  }
-  .span2 {
-    width: 104px;
-  }
-  .span1 {
-    width: 42px;
-  }
-  .offset12 {
-    margin-left: 764px;
-  }
-  .offset11 {
-    margin-left: 702px;
-  }
-  .offset10 {
-    margin-left: 640px;
-  }
-  .offset9 {
-    margin-left: 578px;
-  }
-  .offset8 {
-    margin-left: 516px;
-  }
-  .offset7 {
-    margin-left: 454px;
-  }
-  .offset6 {
-    margin-left: 392px;
-  }
-  .offset5 {
-    margin-left: 330px;
-  }
-  .offset4 {
-    margin-left: 268px;
-  }
-  .offset3 {
-    margin-left: 206px;
-  }
-  .offset2 {
-    margin-left: 144px;
-  }
-  .offset1 {
-    margin-left: 82px;
-  }
-  .row-fluid {
-    width: 100%;
-    *zoom: 1;
-  }
-  .row-fluid:before,
-  .row-fluid:after {
-    display: table;
-    line-height: 0;
-    content: "";
-  }
-  .row-fluid:after {
-    clear: both;
-  }
-  .row-fluid [class*="span"] {
-    display: block;
-    float: left;
-    width: 100%;
-    min-height: 30px;
-    margin-left: 2.7624309392265194%;
-    *margin-left: 2.709239449864817%;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-  }
-  .row-fluid [class*="span"]:first-child {
-    margin-left: 0;
-  }
-  .row-fluid .controls-row [class*="span"] + [class*="span"] {
-    margin-left: 2.7624309392265194%;
-  }
-  .row-fluid .span12 {
-    width: 100%;
-    *width: 99.94680851063829%;
-  }
-  .row-fluid .span11 {
-    width: 91.43646408839778%;
-    *width: 91.38327259903608%;
-  }
-  .row-fluid .span10 {
-    width: 82.87292817679558%;
-    *width: 82.81973668743387%;
-  }
-  .row-fluid .span9 {
-    width: 74.30939226519337%;
-    *width: 74.25620077583166%;
-  }
-  .row-fluid .span8 {
-    width: 65.74585635359117%;
-    *width: 65.69266486422946%;
-  }
-  .row-fluid .span7 {
-    width: 57.18232044198895%;
-    *width: 57.12912895262725%;
-  }
-  .row-fluid .span6 {
-    width: 48.61878453038674%;
-    *width: 48.56559304102504%;
-  }
-  .row-fluid .span5 {
-    width: 40.05524861878453%;
-    *width: 40.00205712942283%;
-  }
-  .row-fluid .span4 {
-    width: 31.491712707182323%;
-    *width: 31.43852121782062%;
-  }
-  .row-fluid .span3 {
-    width: 22.92817679558011%;
-    *width: 22.87498530621841%;
-  }
-  .row-fluid .span2 {
-    width: 14.3646408839779%;
-    *width: 14.311449394616199%;
-  }
-  .row-fluid .span1 {
-    width: 5.801104972375691%;
-    *width: 5.747913483013988%;
-  }
-  .row-fluid .offset12 {
-    margin-left: 105.52486187845304%;
-    *margin-left: 105.41847889972962%;
-  }
-  .row-fluid .offset12:first-child {
-    margin-left: 102.76243093922652%;
-    *margin-left: 102.6560479605031%;
-  }
-  .row-fluid .offset11 {
-    margin-left: 96.96132596685082%;
-    *margin-left: 96.8549429881274%;
-  }
-  .row-fluid .offset11:first-child {
-    margin-left: 94.1988950276243%;
-    *margin-left: 94.09251204890089%;
-  }
-  .row-fluid .offset10 {
-    margin-left: 88.39779005524862%;
-    *margin-left: 88.2914070765252%;
-  }
-  .row-fluid .offset10:first-child {
-    margin-left: 85.6353591160221%;
-    *margin-left: 85.52897613729868%;
-  }
-  .row-fluid .offset9 {
-    margin-left: 79.8342541436464%;
-    *margin-left: 79.72787116492299%;
-  }
-  .row-fluid .offset9:first-child {
-    margin-left: 77.07182320441989%;
-    *margin-left: 76.96544022569647%;
-  }
-  .row-fluid .offset8 {
-    margin-left: 71.2707182320442%;
-    *margin-left: 71.16433525332079%;
-  }
-  .row-fluid .offset8:first-child {
-    margin-left: 68.50828729281768%;
-    *margin-left: 68.40190431409427%;
-  }
-  .row-fluid .offset7 {
-    margin-left: 62.70718232044199%;
-    *margin-left: 62.600799341718584%;
-  }
-  .row-fluid .offset7:first-child {
-    margin-left: 59.94475138121547%;
-    *margin-left: 59.838368402492065%;
-  }
-  .row-fluid .offset6 {
-    margin-left: 54.14364640883978%;
-    *margin-left: 54.037263430116376%;
-  }
-  .row-fluid .offset6:first-child {
-    margin-left: 51.38121546961326%;
-    *margin-left: 51.27483249088986%;
-  }
-  .row-fluid .offset5 {
-    margin-left: 45.58011049723757%;
-    *margin-left: 45.47372751851417%;
-  }
-  .row-fluid .offset5:first-child {
-    margin-left: 42.81767955801105%;
-    *margin-left: 42.71129657928765%;
-  }
-  .row-fluid .offset4 {
-    margin-left: 37.01657458563536%;
-    *margin-left: 36.91019160691196%;
-  }
-  .row-fluid .offset4:first-child {
-    margin-left: 34.25414364640884%;
-    *margin-left: 34.14776066768544%;
-  }
-  .row-fluid .offset3 {
-    margin-left: 28.45303867403315%;
-    *margin-left: 28.346655695309746%;
-  }
-  .row-fluid .offset3:first-child {
-    margin-left: 25.69060773480663%;
-    *margin-left: 25.584224756083227%;
-  }
-  .row-fluid .offset2 {
-    margin-left: 19.88950276243094%;
-    *margin-left: 19.783119783707537%;
-  }
-  .row-fluid .offset2:first-child {
-    margin-left: 17.12707182320442%;
-    *margin-left: 17.02068884448102%;
-  }
-  .row-fluid .offset1 {
-    margin-left: 11.32596685082873%;
-    *margin-left: 11.219583872105325%;
-  }
-  .row-fluid .offset1:first-child {
-    margin-left: 8.56353591160221%;
-    *margin-left: 8.457152932878806%;
-  }
-  input,
-  textarea,
-  .uneditable-input {
-    margin-left: 0;
-  }
-  .controls-row [class*="span"] + [class*="span"] {
-    margin-left: 20px;
-  }
-  input.span12,
-  textarea.span12,
-  .uneditable-input.span12 {
-    width: 710px;
-  }
-  input.span11,
-  textarea.span11,
-  .uneditable-input.span11 {
-    width: 648px;
-  }
-  input.span10,
-  textarea.span10,
-  .uneditable-input.span10 {
-    width: 586px;
-  }
-  input.span9,
-  textarea.span9,
-  .uneditable-input.span9 {
-    width: 524px;
-  }
-  input.span8,
-  textarea.span8,
-  .uneditable-input.span8 {
-    width: 462px;
-  }
-  input.span7,
-  textarea.span7,
-  .uneditable-input.span7 {
-    width: 400px;
-  }
-  input.span6,
-  textarea.span6,
-  .uneditable-input.span6 {
-    width: 338px;
-  }
-  input.span5,
-  textarea.span5,
-  .uneditable-input.span5 {
-    width: 276px;
-  }
-  input.span4,
-  textarea.span4,
-  .uneditable-input.span4 {
-    width: 214px;
-  }
-  input.span3,
-  textarea.span3,
-  .uneditable-input.span3 {
-    width: 152px;
-  }
-  input.span2,
-  textarea.span2,
-  .uneditable-input.span2 {
-    width: 90px;
-  }
-  input.span1,
-  textarea.span1,
-  .uneditable-input.span1 {
-    width: 28px;
-  }
-}
-
-@media (max-width: 767px) {
-  body {
-    padding-right: 20px;
-    padding-left: 20px;
-  }
-  .navbar-fixed-top,
-  .navbar-fixed-bottom,
-  .navbar-static-top {
-    margin-right: -20px;
-    margin-left: -20px;
-  }
-  .container-fluid {
-    padding: 0;
-  }
-  .dl-horizontal dt {
-    float: none;
-    width: auto;
-    clear: none;
-    text-align: left;
-  }
-  .dl-horizontal dd {
-    margin-left: 0;
-  }
-  .container {
-    width: auto;
-  }
-  .row-fluid {
-    width: 100%;
-  }
-  .row,
-  .thumbnails {
-    margin-left: 0;
-  }
-  .thumbnails > li {
-    float: none;
-    margin-left: 0;
-  }
-  [class*="span"],
-  .uneditable-input[class*="span"],
-  .row-fluid [class*="span"] {
-    display: block;
-    float: none;
-    width: 100%;
-    margin-left: 0;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-  }
-  .span12,
-  .row-fluid .span12 {
-    width: 100%;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-  }
-  .row-fluid [class*="offset"]:first-child {
-    margin-left: 0;
-  }
-  .input-large,
-  .input-xlarge,
-  .input-xxlarge,
-  input[class*="span"],
-  select[class*="span"],
-  textarea[class*="span"],
-  .uneditable-input {
-    display: block;
-    width: 100%;
-    min-height: 30px;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-  }
-  .input-prepend input,
-  .input-append input,
-  .input-prepend input[class*="span"],
-  .input-append input[class*="span"] {
-    display: inline-block;
-    width: auto;
-  }
-  .controls-row [class*="span"] + [class*="span"] {
-    margin-left: 0;
-  }
-  .modal {
-    position: fixed;
-    top: 20px;
-    right: 20px;
-    left: 20px;
-    width: auto;
-    margin: 0;
-  }
-  .modal.fade {
-    top: -100px;
-  }
-  .modal.fade.in {
-    top: 20px;
-  }
-}
-
-@media (max-width: 480px) {
-  .nav-collapse {
-    -webkit-transform: translate3d(0, 0, 0);
-  }
-  .page-header h1 small {
-    display: block;
-    line-height: 20px;
-  }
-  input[type="checkbox"],
-  input[type="radio"] {
-    border: 1px solid #ccc;
-  }
-  .form-horizontal .control-label {
-    float: none;
-    width: auto;
-    padding-top: 0;
-    text-align: left;
-  }
-  .form-horizontal .controls {
-    margin-left: 0;
-  }
-  .form-horizontal .control-list {
-    padding-top: 0;
-  }
-  .form-horizontal .form-actions {
-    padding-right: 10px;
-    padding-left: 10px;
-  }
-  .media .pull-left,
-  .media .pull-right {
-    display: block;
-    float: none;
-    margin-bottom: 10px;
-  }
-  .media-object {
-    margin-right: 0;
-    margin-left: 0;
-  }
-  .modal {
-    top: 10px;
-    right: 10px;
-    left: 10px;
-  }
-  .modal-header .close {
-    padding: 10px;
-    margin: -10px;
-  }
-  .carousel-caption {
-    position: static;
-  }
-}
-
-@media (max-width: 979px) {
-  body {
-    padding-top: 0;
-  }
-  .navbar-fixed-top,
-  .navbar-fixed-bottom {
-    position: static;
-  }
-  .navbar-fixed-top {
-    margin-bottom: 20px;
-  }
-  .navbar-fixed-bottom {
-    margin-top: 20px;
-  }
-  .navbar-fixed-top .navbar-inner,
-  .navbar-fixed-bottom .navbar-inner {
-    padding: 5px;
-  }
-  .navbar .container {
-    width: auto;
-    padding: 0;
-  }
-  .navbar .brand {
-    padding-right: 10px;
-    padding-left: 10px;
-    margin: 0 0 0 -5px;
-  }
-  .nav-collapse {
-    clear: both;
-  }
-  .nav-collapse .nav {
-    float: none;
-    margin: 0 0 10px;
-  }
-  .nav-collapse .nav > li {
-    float: none;
-  }
-  .nav-collapse .nav > li > a {
-    margin-bottom: 2px;
-  }
-  .nav-collapse .nav > .divider-vertical {
-    display: none;
-  }
-  .nav-collapse .nav .nav-header {
-    color: #777777;
-    text-shadow: none;
-  }
-  .nav-collapse .nav > li > a,
-  .nav-collapse .dropdown-menu a {
-    padding: 9px 15px;
-    font-weight: bold;
-    color: #777777;
-    -webkit-border-radius: 3px;
-       -moz-border-radius: 3px;
-            border-radius: 3px;
-  }
-  .nav-collapse .btn {
-    padding: 4px 10px 4px;
-    font-weight: normal;
-    -webkit-border-radius: 4px;
-       -moz-border-radius: 4px;
-            border-radius: 4px;
-  }
-  .nav-collapse .dropdown-menu li + li a {
-    margin-bottom: 2px;
-  }
-  .nav-collapse .nav > li > a:hover,
-  .nav-collapse .dropdown-menu a:hover {
-    background-color: #f2f2f2;
-  }
-  .navbar-inverse .nav-collapse .nav > li > a,
-  .navbar-inverse .nav-collapse .dropdown-menu a {
-    color: #999999;
-  }
-  .navbar-inverse .nav-collapse .nav > li > a:hover,
-  .navbar-inverse .nav-collapse .dropdown-menu a:hover {
-    background-color: #111111;
-  }
-  .nav-collapse.in .btn-group {
-    padding: 0;
-    margin-top: 5px;
-  }
-  .nav-collapse .dropdown-menu {
-    position: static;
-    top: auto;
-    left: auto;
-    display: none;
-    float: none;
-    max-width: none;
-    padding: 0;
-    margin: 0 15px;
-    background-color: transparent;
-    border: none;
-    -webkit-border-radius: 0;
-       -moz-border-radius: 0;
-            border-radius: 0;
-    -webkit-box-shadow: none;
-       -moz-box-shadow: none;
-            box-shadow: none;
-  }
-  .nav-collapse .open > .dropdown-menu {
-    display: block;
-  }
-  .nav-collapse .dropdown-menu:before,
-  .nav-collapse .dropdown-menu:after {
-    display: none;
-  }
-  .nav-collapse .dropdown-menu .divider {
-    display: none;
-  }
-  .nav-collapse .nav > li > .dropdown-menu:before,
-  .nav-collapse .nav > li > .dropdown-menu:after {
-    display: none;
-  }
-  .nav-collapse .navbar-form,
-  .nav-collapse .navbar-search {
-    float: none;
-    padding: 10px 15px;
-    margin: 10px 0;
-    border-top: 1px solid #f2f2f2;
-    border-bottom: 1px solid #f2f2f2;
-    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-       -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-  }
-  .navbar-inverse .nav-collapse .navbar-form,
-  .navbar-inverse .nav-collapse .navbar-search {
-    border-top-color: #111111;
-    border-bottom-color: #111111;
-  }
-  .navbar .nav-collapse .nav.pull-right {
-    float: none;
-    margin-left: 0;
-  }
-  .nav-collapse,
-  .nav-collapse.collapse {
-    height: 0;
-    overflow: hidden;
-  }
-  .navbar .btn-navbar {
-    display: block;
-  }
-  .navbar-static .navbar-inner {
-    padding-right: 10px;
-    padding-left: 10px;
-  }
-}
-
-@media (min-width: 980px) {
-  .nav-collapse.collapse {
-    height: auto !important;
-    overflow: visible !important;
-  }
-}
diff --git a/source/bootstrap-2.2.2/css/bootstrap-responsive.min.css b/source/bootstrap-2.2.2/css/bootstrap-responsive.min.css
deleted file mode 100644 (file)
index 5cb833f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap Responsive v2.2.2
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */@-ms-viewport{width:device-width}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
diff --git a/source/bootstrap-2.2.2/css/bootstrap.css b/source/bootstrap-2.2.2/css/bootstrap.css
deleted file mode 100644 (file)
index 8ab3cef..0000000
+++ /dev/null
@@ -1,6039 +0,0 @@
-/*!
- * Bootstrap v2.2.2
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-nav,
-section {
-  display: block;
-}
-
-audio,
-canvas,
-video {
-  display: inline-block;
-  *display: inline;
-  *zoom: 1;
-}
-
-audio:not([controls]) {
-  display: none;
-}
-
-html {
-  font-size: 100%;
-  -webkit-text-size-adjust: 100%;
-      -ms-text-size-adjust: 100%;
-}
-
-a:focus {
-  outline: thin dotted #333;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-
-a:hover,
-a:active {
-  outline: 0;
-}
-
-sub,
-sup {
-  position: relative;
-  font-size: 75%;
-  line-height: 0;
-  vertical-align: baseline;
-}
-
-sup {
-  top: -0.5em;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-img {
-  width: auto\9;
-  height: auto;
-  max-width: 100%;
-  vertical-align: middle;
-  border: 0;
-  -ms-interpolation-mode: bicubic;
-}
-
-#map_canvas img,
-.google-maps img {
-  max-width: none;
-}
-
-button,
-input,
-select,
-textarea {
-  margin: 0;
-  font-size: 100%;
-  vertical-align: middle;
-}
-
-button,
-input {
-  *overflow: visible;
-  line-height: normal;
-}
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
-  padding: 0;
-  border: 0;
-}
-
-button,
-html input[type="button"],
-input[type="reset"],
-input[type="submit"] {
-  cursor: pointer;
-  -webkit-appearance: button;
-}
-
-label,
-select,
-button,
-input[type="button"],
-input[type="reset"],
-input[type="submit"],
-input[type="radio"],
-input[type="checkbox"] {
-  cursor: pointer;
-}
-
-input[type="search"] {
-  -webkit-box-sizing: content-box;
-     -moz-box-sizing: content-box;
-          box-sizing: content-box;
-  -webkit-appearance: textfield;
-}
-
-input[type="search"]::-webkit-search-decoration,
-input[type="search"]::-webkit-search-cancel-button {
-  -webkit-appearance: none;
-}
-
-textarea {
-  overflow: auto;
-  vertical-align: top;
-}
-
-@media print {
-  * {
-    color: #000 !important;
-    text-shadow: none !important;
-    background: transparent !important;
-    box-shadow: none !important;
-  }
-  a,
-  a:visited {
-    text-decoration: underline;
-  }
-  a[href]:after {
-    content: " (" attr(href) ")";
-  }
-  abbr[title]:after {
-    content: " (" attr(title) ")";
-  }
-  .ir a:after,
-  a[href^="javascript:"]:after,
-  a[href^="#"]:after {
-    content: "";
-  }
-  pre,
-  blockquote {
-    border: 1px solid #999;
-    page-break-inside: avoid;
-  }
-  thead {
-    display: table-header-group;
-  }
-  tr,
-  img {
-    page-break-inside: avoid;
-  }
-  img {
-    max-width: 100% !important;
-  }
-  @page  {
-    margin: 0.5cm;
-  }
-  p,
-  h2,
-  h3 {
-    orphans: 3;
-    widows: 3;
-  }
-  h2,
-  h3 {
-    page-break-after: avoid;
-  }
-}
-
-.clearfix {
-  *zoom: 1;
-}
-
-.clearfix:before,
-.clearfix:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.clearfix:after {
-  clear: both;
-}
-
-.hide-text {
-  font: 0/0 a;
-  color: transparent;
-  text-shadow: none;
-  background-color: transparent;
-  border: 0;
-}
-
-.input-block-level {
-  display: block;
-  width: 100%;
-  min-height: 30px;
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-
-body {
-  margin: 0;
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 14px;
-  line-height: 20px;
-  color: #333333;
-  background-color: #ffffff;
-}
-
-a {
-  color: #0088cc;
-  text-decoration: none;
-}
-
-a:hover {
-  color: #005580;
-  text-decoration: underline;
-}
-
-.img-rounded {
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-}
-
-.img-polaroid {
-  padding: 4px;
-  background-color: #fff;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
-     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
-          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
-}
-
-.img-circle {
-  -webkit-border-radius: 500px;
-     -moz-border-radius: 500px;
-          border-radius: 500px;
-}
-
-.row {
-  margin-left: -20px;
-  *zoom: 1;
-}
-
-.row:before,
-.row:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.row:after {
-  clear: both;
-}
-
-[class*="span"] {
-  float: left;
-  min-height: 1px;
-  margin-left: 20px;
-}
-
-.container,
-.navbar-static-top .container,
-.navbar-fixed-top .container,
-.navbar-fixed-bottom .container {
-  width: 940px;
-}
-
-.span12 {
-  width: 940px;
-}
-
-.span11 {
-  width: 860px;
-}
-
-.span10 {
-  width: 780px;
-}
-
-.span9 {
-  width: 700px;
-}
-
-.span8 {
-  width: 620px;
-}
-
-.span7 {
-  width: 540px;
-}
-
-.span6 {
-  width: 460px;
-}
-
-.span5 {
-  width: 380px;
-}
-
-.span4 {
-  width: 300px;
-}
-
-.span3 {
-  width: 220px;
-}
-
-.span2 {
-  width: 140px;
-}
-
-.span1 {
-  width: 60px;
-}
-
-.offset12 {
-  margin-left: 980px;
-}
-
-.offset11 {
-  margin-left: 900px;
-}
-
-.offset10 {
-  margin-left: 820px;
-}
-
-.offset9 {
-  margin-left: 740px;
-}
-
-.offset8 {
-  margin-left: 660px;
-}
-
-.offset7 {
-  margin-left: 580px;
-}
-
-.offset6 {
-  margin-left: 500px;
-}
-
-.offset5 {
-  margin-left: 420px;
-}
-
-.offset4 {
-  margin-left: 340px;
-}
-
-.offset3 {
-  margin-left: 260px;
-}
-
-.offset2 {
-  margin-left: 180px;
-}
-
-.offset1 {
-  margin-left: 100px;
-}
-
-.row-fluid {
-  width: 100%;
-  *zoom: 1;
-}
-
-.row-fluid:before,
-.row-fluid:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.row-fluid:after {
-  clear: both;
-}
-
-.row-fluid [class*="span"] {
-  display: block;
-  float: left;
-  width: 100%;
-  min-height: 30px;
-  margin-left: 2.127659574468085%;
-  *margin-left: 2.074468085106383%;
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-
-.row-fluid [class*="span"]:first-child {
-  margin-left: 0;
-}
-
-.row-fluid .controls-row [class*="span"] + [class*="span"] {
-  margin-left: 2.127659574468085%;
-}
-
-.row-fluid .span12 {
-  width: 100%;
-  *width: 99.94680851063829%;
-}
-
-.row-fluid .span11 {
-  width: 91.48936170212765%;
-  *width: 91.43617021276594%;
-}
-
-.row-fluid .span10 {
-  width: 82.97872340425532%;
-  *width: 82.92553191489361%;
-}
-
-.row-fluid .span9 {
-  width: 74.46808510638297%;
-  *width: 74.41489361702126%;
-}
-
-.row-fluid .span8 {
-  width: 65.95744680851064%;
-  *width: 65.90425531914893%;
-}
-
-.row-fluid .span7 {
-  width: 57.44680851063829%;
-  *width: 57.39361702127659%;
-}
-
-.row-fluid .span6 {
-  width: 48.93617021276595%;
-  *width: 48.88297872340425%;
-}
-
-.row-fluid .span5 {
-  width: 40.42553191489362%;
-  *width: 40.37234042553192%;
-}
-
-.row-fluid .span4 {
-  width: 31.914893617021278%;
-  *width: 31.861702127659576%;
-}
-
-.row-fluid .span3 {
-  width: 23.404255319148934%;
-  *width: 23.351063829787233%;
-}
-
-.row-fluid .span2 {
-  width: 14.893617021276595%;
-  *width: 14.840425531914894%;
-}
-
-.row-fluid .span1 {
-  width: 6.382978723404255%;
-  *width: 6.329787234042553%;
-}
-
-.row-fluid .offset12 {
-  margin-left: 104.25531914893617%;
-  *margin-left: 104.14893617021275%;
-}
-
-.row-fluid .offset12:first-child {
-  margin-left: 102.12765957446808%;
-  *margin-left: 102.02127659574467%;
-}
-
-.row-fluid .offset11 {
-  margin-left: 95.74468085106382%;
-  *margin-left: 95.6382978723404%;
-}
-
-.row-fluid .offset11:first-child {
-  margin-left: 93.61702127659574%;
-  *margin-left: 93.51063829787232%;
-}
-
-.row-fluid .offset10 {
-  margin-left: 87.23404255319149%;
-  *margin-left: 87.12765957446807%;
-}
-
-.row-fluid .offset10:first-child {
-  margin-left: 85.1063829787234%;
-  *margin-left: 84.99999999999999%;
-}
-
-.row-fluid .offset9 {
-  margin-left: 78.72340425531914%;
-  *margin-left: 78.61702127659572%;
-}
-
-.row-fluid .offset9:first-child {
-  margin-left: 76.59574468085106%;
-  *margin-left: 76.48936170212764%;
-}
-
-.row-fluid .offset8 {
-  margin-left: 70.2127659574468%;
-  *margin-left: 70.10638297872339%;
-}
-
-.row-fluid .offset8:first-child {
-  margin-left: 68.08510638297872%;
-  *margin-left: 67.9787234042553%;
-}
-
-.row-fluid .offset7 {
-  margin-left: 61.70212765957446%;
-  *margin-left: 61.59574468085106%;
-}
-
-.row-fluid .offset7:first-child {
-  margin-left: 59.574468085106375%;
-  *margin-left: 59.46808510638297%;
-}
-
-.row-fluid .offset6 {
-  margin-left: 53.191489361702125%;
-  *margin-left: 53.085106382978715%;
-}
-
-.row-fluid .offset6:first-child {
-  margin-left: 51.063829787234035%;
-  *margin-left: 50.95744680851063%;
-}
-
-.row-fluid .offset5 {
-  margin-left: 44.68085106382979%;
-  *margin-left: 44.57446808510638%;
-}
-
-.row-fluid .offset5:first-child {
-  margin-left: 42.5531914893617%;
-  *margin-left: 42.4468085106383%;
-}
-
-.row-fluid .offset4 {
-  margin-left: 36.170212765957444%;
-  *margin-left: 36.06382978723405%;
-}
-
-.row-fluid .offset4:first-child {
-  margin-left: 34.04255319148936%;
-  *margin-left: 33.93617021276596%;
-}
-
-.row-fluid .offset3 {
-  margin-left: 27.659574468085104%;
-  *margin-left: 27.5531914893617%;
-}
-
-.row-fluid .offset3:first-child {
-  margin-left: 25.53191489361702%;
-  *margin-left: 25.425531914893618%;
-}
-
-.row-fluid .offset2 {
-  margin-left: 19.148936170212764%;
-  *margin-left: 19.04255319148936%;
-}
-
-.row-fluid .offset2:first-child {
-  margin-left: 17.02127659574468%;
-  *margin-left: 16.914893617021278%;
-}
-
-.row-fluid .offset1 {
-  margin-left: 10.638297872340425%;
-  *margin-left: 10.53191489361702%;
-}
-
-.row-fluid .offset1:first-child {
-  margin-left: 8.51063829787234%;
-  *margin-left: 8.404255319148938%;
-}
-
-[class*="span"].hide,
-.row-fluid [class*="span"].hide {
-  display: none;
-}
-
-[class*="span"].pull-right,
-.row-fluid [class*="span"].pull-right {
-  float: right;
-}
-
-.container {
-  margin-right: auto;
-  margin-left: auto;
-  *zoom: 1;
-}
-
-.container:before,
-.container:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.container:after {
-  clear: both;
-}
-
-.container-fluid {
-  padding-right: 20px;
-  padding-left: 20px;
-  *zoom: 1;
-}
-
-.container-fluid:before,
-.container-fluid:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.container-fluid:after {
-  clear: both;
-}
-
-p {
-  margin: 0 0 10px;
-}
-
-.lead {
-  margin-bottom: 20px;
-  font-size: 21px;
-  font-weight: 200;
-  line-height: 30px;
-}
-
-small {
-  font-size: 85%;
-}
-
-strong {
-  font-weight: bold;
-}
-
-em {
-  font-style: italic;
-}
-
-cite {
-  font-style: normal;
-}
-
-.muted {
-  color: #999999;
-}
-
-a.muted:hover {
-  color: #808080;
-}
-
-.text-warning {
-  color: #c09853;
-}
-
-a.text-warning:hover {
-  color: #a47e3c;
-}
-
-.text-error {
-  color: #b94a48;
-}
-
-a.text-error:hover {
-  color: #953b39;
-}
-
-.text-info {
-  color: #3a87ad;
-}
-
-a.text-info:hover {
-  color: #2d6987;
-}
-
-.text-success {
-  color: #468847;
-}
-
-a.text-success:hover {
-  color: #356635;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  margin: 10px 0;
-  font-family: inherit;
-  font-weight: bold;
-  line-height: 20px;
-  color: inherit;
-  text-rendering: optimizelegibility;
-}
-
-h1 small,
-h2 small,
-h3 small,
-h4 small,
-h5 small,
-h6 small {
-  font-weight: normal;
-  line-height: 1;
-  color: #999999;
-}
-
-h1,
-h2,
-h3 {
-  line-height: 40px;
-}
-
-h1 {
-  font-size: 38.5px;
-}
-
-h2 {
-  font-size: 31.5px;
-}
-
-h3 {
-  font-size: 24.5px;
-}
-
-h4 {
-  font-size: 17.5px;
-}
-
-h5 {
-  font-size: 14px;
-}
-
-h6 {
-  font-size: 11.9px;
-}
-
-h1 small {
-  font-size: 24.5px;
-}
-
-h2 small {
-  font-size: 17.5px;
-}
-
-h3 small {
-  font-size: 14px;
-}
-
-h4 small {
-  font-size: 14px;
-}
-
-.page-header {
-  padding-bottom: 9px;
-  margin: 20px 0 30px;
-  border-bottom: 1px solid #eeeeee;
-}
-
-ul,
-ol {
-  padding: 0;
-  margin: 0 0 10px 25px;
-}
-
-ul ul,
-ul ol,
-ol ol,
-ol ul {
-  margin-bottom: 0;
-}
-
-li {
-  line-height: 20px;
-}
-
-ul.unstyled,
-ol.unstyled {
-  margin-left: 0;
-  list-style: none;
-}
-
-ul.inline,
-ol.inline {
-  margin-left: 0;
-  list-style: none;
-}
-
-ul.inline > li,
-ol.inline > li {
-  display: inline-block;
-  padding-right: 5px;
-  padding-left: 5px;
-}
-
-dl {
-  margin-bottom: 20px;
-}
-
-dt,
-dd {
-  line-height: 20px;
-}
-
-dt {
-  font-weight: bold;
-}
-
-dd {
-  margin-left: 10px;
-}
-
-.dl-horizontal {
-  *zoom: 1;
-}
-
-.dl-horizontal:before,
-.dl-horizontal:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.dl-horizontal:after {
-  clear: both;
-}
-
-.dl-horizontal dt {
-  float: left;
-  width: 160px;
-  overflow: hidden;
-  clear: left;
-  text-align: right;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.dl-horizontal dd {
-  margin-left: 180px;
-}
-
-hr {
-  margin: 20px 0;
-  border: 0;
-  border-top: 1px solid #eeeeee;
-  border-bottom: 1px solid #ffffff;
-}
-
-abbr[title],
-abbr[data-original-title] {
-  cursor: help;
-  border-bottom: 1px dotted #999999;
-}
-
-abbr.initialism {
-  font-size: 90%;
-  text-transform: uppercase;
-}
-
-blockquote {
-  padding: 0 0 0 15px;
-  margin: 0 0 20px;
-  border-left: 5px solid #eeeeee;
-}
-
-blockquote p {
-  margin-bottom: 0;
-  font-size: 16px;
-  font-weight: 300;
-  line-height: 25px;
-}
-
-blockquote small {
-  display: block;
-  line-height: 20px;
-  color: #999999;
-}
-
-blockquote small:before {
-  content: '\2014 \00A0';
-}
-
-blockquote.pull-right {
-  float: right;
-  padding-right: 15px;
-  padding-left: 0;
-  border-right: 5px solid #eeeeee;
-  border-left: 0;
-}
-
-blockquote.pull-right p,
-blockquote.pull-right small {
-  text-align: right;
-}
-
-blockquote.pull-right small:before {
-  content: '';
-}
-
-blockquote.pull-right small:after {
-  content: '\00A0 \2014';
-}
-
-q:before,
-q:after,
-blockquote:before,
-blockquote:after {
-  content: "";
-}
-
-address {
-  display: block;
-  margin-bottom: 20px;
-  font-style: normal;
-  line-height: 20px;
-}
-
-code,
-pre {
-  padding: 0 3px 2px;
-  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
-  font-size: 12px;
-  color: #333333;
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-}
-
-code {
-  padding: 2px 4px;
-  color: #d14;
-  white-space: nowrap;
-  background-color: #f7f7f9;
-  border: 1px solid #e1e1e8;
-}
-
-pre {
-  display: block;
-  padding: 9.5px;
-  margin: 0 0 10px;
-  font-size: 13px;
-  line-height: 20px;
-  word-break: break-all;
-  word-wrap: break-word;
-  white-space: pre;
-  white-space: pre-wrap;
-  background-color: #f5f5f5;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.15);
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-pre.prettyprint {
-  margin-bottom: 20px;
-}
-
-pre code {
-  padding: 0;
-  color: inherit;
-  white-space: pre;
-  white-space: pre-wrap;
-  background-color: transparent;
-  border: 0;
-}
-
-.pre-scrollable {
-  max-height: 340px;
-  overflow-y: scroll;
-}
-
-form {
-  margin: 0 0 20px;
-}
-
-fieldset {
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-legend {
-  display: block;
-  width: 100%;
-  padding: 0;
-  margin-bottom: 20px;
-  font-size: 21px;
-  line-height: 40px;
-  color: #333333;
-  border: 0;
-  border-bottom: 1px solid #e5e5e5;
-}
-
-legend small {
-  font-size: 15px;
-  color: #999999;
-}
-
-label,
-input,
-button,
-select,
-textarea {
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 20px;
-}
-
-input,
-button,
-select,
-textarea {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-
-label {
-  display: block;
-  margin-bottom: 5px;
-}
-
-select,
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="date"],
-input[type="month"],
-input[type="time"],
-input[type="week"],
-input[type="number"],
-input[type="email"],
-input[type="url"],
-input[type="search"],
-input[type="tel"],
-input[type="color"],
-.uneditable-input {
-  display: inline-block;
-  height: 20px;
-  padding: 4px 6px;
-  margin-bottom: 10px;
-  font-size: 14px;
-  line-height: 20px;
-  color: #555555;
-  vertical-align: middle;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-input,
-textarea,
-.uneditable-input {
-  width: 206px;
-}
-
-textarea {
-  height: auto;
-}
-
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="date"],
-input[type="month"],
-input[type="time"],
-input[type="week"],
-input[type="number"],
-input[type="email"],
-input[type="url"],
-input[type="search"],
-input[type="tel"],
-input[type="color"],
-.uneditable-input {
-  background-color: #ffffff;
-  border: 1px solid #cccccc;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
-     -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
-       -o-transition: border linear 0.2s, box-shadow linear 0.2s;
-          transition: border linear 0.2s, box-shadow linear 0.2s;
-}
-
-textarea:focus,
-input[type="text"]:focus,
-input[type="password"]:focus,
-input[type="datetime"]:focus,
-input[type="datetime-local"]:focus,
-input[type="date"]:focus,
-input[type="month"]:focus,
-input[type="time"]:focus,
-input[type="week"]:focus,
-input[type="number"]:focus,
-input[type="email"]:focus,
-input[type="url"]:focus,
-input[type="search"]:focus,
-input[type="tel"]:focus,
-input[type="color"]:focus,
-.uneditable-input:focus {
-  border-color: rgba(82, 168, 236, 0.8);
-  outline: 0;
-  outline: thin dotted \9;
-  /* IE6-9 */
-
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-}
-
-input[type="radio"],
-input[type="checkbox"] {
-  margin: 4px 0 0;
-  margin-top: 1px \9;
-  *margin-top: 0;
-  line-height: normal;
-}
-
-input[type="file"],
-input[type="image"],
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input[type="radio"],
-input[type="checkbox"] {
-  width: auto;
-}
-
-select,
-input[type="file"] {
-  height: 30px;
-  /* In IE7, the height of the select element cannot be changed by height, only font-size */
-
-  *margin-top: 4px;
-  /* For IE7, add top margin to align select with labels */
-
-  line-height: 30px;
-}
-
-select {
-  width: 220px;
-  background-color: #ffffff;
-  border: 1px solid #cccccc;
-}
-
-select[multiple],
-select[size] {
-  height: auto;
-}
-
-select:focus,
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
-  outline: thin dotted #333;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-
-.uneditable-input,
-.uneditable-textarea {
-  color: #999999;
-  cursor: not-allowed;
-  background-color: #fcfcfc;
-  border-color: #cccccc;
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-}
-
-.uneditable-input {
-  overflow: hidden;
-  white-space: nowrap;
-}
-
-.uneditable-textarea {
-  width: auto;
-  height: auto;
-}
-
-input:-moz-placeholder,
-textarea:-moz-placeholder {
-  color: #999999;
-}
-
-input:-ms-input-placeholder,
-textarea:-ms-input-placeholder {
-  color: #999999;
-}
-
-input::-webkit-input-placeholder,
-textarea::-webkit-input-placeholder {
-  color: #999999;
-}
-
-.radio,
-.checkbox {
-  min-height: 20px;
-  padding-left: 20px;
-}
-
-.radio input[type="radio"],
-.checkbox input[type="checkbox"] {
-  float: left;
-  margin-left: -20px;
-}
-
-.controls > .radio:first-child,
-.controls > .checkbox:first-child {
-  padding-top: 5px;
-}
-
-.radio.inline,
-.checkbox.inline {
-  display: inline-block;
-  padding-top: 5px;
-  margin-bottom: 0;
-  vertical-align: middle;
-}
-
-.radio.inline + .radio.inline,
-.checkbox.inline + .checkbox.inline {
-  margin-left: 10px;
-}
-
-.input-mini {
-  width: 60px;
-}
-
-.input-small {
-  width: 90px;
-}
-
-.input-medium {
-  width: 150px;
-}
-
-.input-large {
-  width: 210px;
-}
-
-.input-xlarge {
-  width: 270px;
-}
-
-.input-xxlarge {
-  width: 530px;
-}
-
-input[class*="span"],
-select[class*="span"],
-textarea[class*="span"],
-.uneditable-input[class*="span"],
-.row-fluid input[class*="span"],
-.row-fluid select[class*="span"],
-.row-fluid textarea[class*="span"],
-.row-fluid .uneditable-input[class*="span"] {
-  float: none;
-  margin-left: 0;
-}
-
-.input-append input[class*="span"],
-.input-append .uneditable-input[class*="span"],
-.input-prepend input[class*="span"],
-.input-prepend .uneditable-input[class*="span"],
-.row-fluid input[class*="span"],
-.row-fluid select[class*="span"],
-.row-fluid textarea[class*="span"],
-.row-fluid .uneditable-input[class*="span"],
-.row-fluid .input-prepend [class*="span"],
-.row-fluid .input-append [class*="span"] {
-  display: inline-block;
-}
-
-input,
-textarea,
-.uneditable-input {
-  margin-left: 0;
-}
-
-.controls-row [class*="span"] + [class*="span"] {
-  margin-left: 20px;
-}
-
-input.span12,
-textarea.span12,
-.uneditable-input.span12 {
-  width: 926px;
-}
-
-input.span11,
-textarea.span11,
-.uneditable-input.span11 {
-  width: 846px;
-}
-
-input.span10,
-textarea.span10,
-.uneditable-input.span10 {
-  width: 766px;
-}
-
-input.span9,
-textarea.span9,
-.uneditable-input.span9 {
-  width: 686px;
-}
-
-input.span8,
-textarea.span8,
-.uneditable-input.span8 {
-  width: 606px;
-}
-
-input.span7,
-textarea.span7,
-.uneditable-input.span7 {
-  width: 526px;
-}
-
-input.span6,
-textarea.span6,
-.uneditable-input.span6 {
-  width: 446px;
-}
-
-input.span5,
-textarea.span5,
-.uneditable-input.span5 {
-  width: 366px;
-}
-
-input.span4,
-textarea.span4,
-.uneditable-input.span4 {
-  width: 286px;
-}
-
-input.span3,
-textarea.span3,
-.uneditable-input.span3 {
-  width: 206px;
-}
-
-input.span2,
-textarea.span2,
-.uneditable-input.span2 {
-  width: 126px;
-}
-
-input.span1,
-textarea.span1,
-.uneditable-input.span1 {
-  width: 46px;
-}
-
-.controls-row {
-  *zoom: 1;
-}
-
-.controls-row:before,
-.controls-row:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.controls-row:after {
-  clear: both;
-}
-
-.controls-row [class*="span"],
-.row-fluid .controls-row [class*="span"] {
-  float: left;
-}
-
-.controls-row .checkbox[class*="span"],
-.controls-row .radio[class*="span"] {
-  padding-top: 5px;
-}
-
-input[disabled],
-select[disabled],
-textarea[disabled],
-input[readonly],
-select[readonly],
-textarea[readonly] {
-  cursor: not-allowed;
-  background-color: #eeeeee;
-}
-
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-input[type="radio"][readonly],
-input[type="checkbox"][readonly] {
-  background-color: transparent;
-}
-
-.control-group.warning .control-label,
-.control-group.warning .help-block,
-.control-group.warning .help-inline {
-  color: #c09853;
-}
-
-.control-group.warning .checkbox,
-.control-group.warning .radio,
-.control-group.warning input,
-.control-group.warning select,
-.control-group.warning textarea {
-  color: #c09853;
-}
-
-.control-group.warning input,
-.control-group.warning select,
-.control-group.warning textarea {
-  border-color: #c09853;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.warning input:focus,
-.control-group.warning select:focus,
-.control-group.warning textarea:focus {
-  border-color: #a47e3c;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
-}
-
-.control-group.warning .input-prepend .add-on,
-.control-group.warning .input-append .add-on {
-  color: #c09853;
-  background-color: #fcf8e3;
-  border-color: #c09853;
-}
-
-.control-group.error .control-label,
-.control-group.error .help-block,
-.control-group.error .help-inline {
-  color: #b94a48;
-}
-
-.control-group.error .checkbox,
-.control-group.error .radio,
-.control-group.error input,
-.control-group.error select,
-.control-group.error textarea {
-  color: #b94a48;
-}
-
-.control-group.error input,
-.control-group.error select,
-.control-group.error textarea {
-  border-color: #b94a48;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.error input:focus,
-.control-group.error select:focus,
-.control-group.error textarea:focus {
-  border-color: #953b39;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
-}
-
-.control-group.error .input-prepend .add-on,
-.control-group.error .input-append .add-on {
-  color: #b94a48;
-  background-color: #f2dede;
-  border-color: #b94a48;
-}
-
-.control-group.success .control-label,
-.control-group.success .help-block,
-.control-group.success .help-inline {
-  color: #468847;
-}
-
-.control-group.success .checkbox,
-.control-group.success .radio,
-.control-group.success input,
-.control-group.success select,
-.control-group.success textarea {
-  color: #468847;
-}
-
-.control-group.success input,
-.control-group.success select,
-.control-group.success textarea {
-  border-color: #468847;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.success input:focus,
-.control-group.success select:focus,
-.control-group.success textarea:focus {
-  border-color: #356635;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
-}
-
-.control-group.success .input-prepend .add-on,
-.control-group.success .input-append .add-on {
-  color: #468847;
-  background-color: #dff0d8;
-  border-color: #468847;
-}
-
-.control-group.info .control-label,
-.control-group.info .help-block,
-.control-group.info .help-inline {
-  color: #3a87ad;
-}
-
-.control-group.info .checkbox,
-.control-group.info .radio,
-.control-group.info input,
-.control-group.info select,
-.control-group.info textarea {
-  color: #3a87ad;
-}
-
-.control-group.info input,
-.control-group.info select,
-.control-group.info textarea {
-  border-color: #3a87ad;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.info input:focus,
-.control-group.info select:focus,
-.control-group.info textarea:focus {
-  border-color: #2d6987;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
-}
-
-.control-group.info .input-prepend .add-on,
-.control-group.info .input-append .add-on {
-  color: #3a87ad;
-  background-color: #d9edf7;
-  border-color: #3a87ad;
-}
-
-input:focus:invalid,
-textarea:focus:invalid,
-select:focus:invalid {
-  color: #b94a48;
-  border-color: #ee5f5b;
-}
-
-input:focus:invalid:focus,
-textarea:focus:invalid:focus,
-select:focus:invalid:focus {
-  border-color: #e9322d;
-  -webkit-box-shadow: 0 0 6px #f8b9b7;
-     -moz-box-shadow: 0 0 6px #f8b9b7;
-          box-shadow: 0 0 6px #f8b9b7;
-}
-
-.form-actions {
-  padding: 19px 20px 20px;
-  margin-top: 20px;
-  margin-bottom: 20px;
-  background-color: #f5f5f5;
-  border-top: 1px solid #e5e5e5;
-  *zoom: 1;
-}
-
-.form-actions:before,
-.form-actions:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.form-actions:after {
-  clear: both;
-}
-
-.help-block,
-.help-inline {
-  color: #595959;
-}
-
-.help-block {
-  display: block;
-  margin-bottom: 10px;
-}
-
-.help-inline {
-  display: inline-block;
-  *display: inline;
-  padding-left: 5px;
-  vertical-align: middle;
-  *zoom: 1;
-}
-
-.input-append,
-.input-prepend {
-  margin-bottom: 5px;
-  font-size: 0;
-  white-space: nowrap;
-}
-
-.input-append input,
-.input-prepend input,
-.input-append select,
-.input-prepend select,
-.input-append .uneditable-input,
-.input-prepend .uneditable-input,
-.input-append .dropdown-menu,
-.input-prepend .dropdown-menu {
-  font-size: 14px;
-}
-
-.input-append input,
-.input-prepend input,
-.input-append select,
-.input-prepend select,
-.input-append .uneditable-input,
-.input-prepend .uneditable-input {
-  position: relative;
-  margin-bottom: 0;
-  *margin-left: 0;
-  vertical-align: top;
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.input-append input:focus,
-.input-prepend input:focus,
-.input-append select:focus,
-.input-prepend select:focus,
-.input-append .uneditable-input:focus,
-.input-prepend .uneditable-input:focus {
-  z-index: 2;
-}
-
-.input-append .add-on,
-.input-prepend .add-on {
-  display: inline-block;
-  width: auto;
-  height: 20px;
-  min-width: 16px;
-  padding: 4px 5px;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 20px;
-  text-align: center;
-  text-shadow: 0 1px 0 #ffffff;
-  background-color: #eeeeee;
-  border: 1px solid #ccc;
-}
-
-.input-append .add-on,
-.input-prepend .add-on,
-.input-append .btn,
-.input-prepend .btn,
-.input-append .btn-group > .dropdown-toggle,
-.input-prepend .btn-group > .dropdown-toggle {
-  vertical-align: top;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.input-append .active,
-.input-prepend .active {
-  background-color: #a9dba9;
-  border-color: #46a546;
-}
-
-.input-prepend .add-on,
-.input-prepend .btn {
-  margin-right: -1px;
-}
-
-.input-prepend .add-on:first-child,
-.input-prepend .btn:first-child {
-  -webkit-border-radius: 4px 0 0 4px;
-     -moz-border-radius: 4px 0 0 4px;
-          border-radius: 4px 0 0 4px;
-}
-
-.input-append input,
-.input-append select,
-.input-append .uneditable-input {
-  -webkit-border-radius: 4px 0 0 4px;
-     -moz-border-radius: 4px 0 0 4px;
-          border-radius: 4px 0 0 4px;
-}
-
-.input-append input + .btn-group .btn:last-child,
-.input-append select + .btn-group .btn:last-child,
-.input-append .uneditable-input + .btn-group .btn:last-child {
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.input-append .add-on,
-.input-append .btn,
-.input-append .btn-group {
-  margin-left: -1px;
-}
-
-.input-append .add-on:last-child,
-.input-append .btn:last-child,
-.input-append .btn-group:last-child > .dropdown-toggle {
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append input,
-.input-prepend.input-append select,
-.input-prepend.input-append .uneditable-input {
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.input-prepend.input-append input + .btn-group .btn,
-.input-prepend.input-append select + .btn-group .btn,
-.input-prepend.input-append .uneditable-input + .btn-group .btn {
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append .add-on:first-child,
-.input-prepend.input-append .btn:first-child {
-  margin-right: -1px;
-  -webkit-border-radius: 4px 0 0 4px;
-     -moz-border-radius: 4px 0 0 4px;
-          border-radius: 4px 0 0 4px;
-}
-
-.input-prepend.input-append .add-on:last-child,
-.input-prepend.input-append .btn:last-child {
-  margin-left: -1px;
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append .btn-group:first-child {
-  margin-left: 0;
-}
-
-input.search-query {
-  padding-right: 14px;
-  padding-right: 4px \9;
-  padding-left: 14px;
-  padding-left: 4px \9;
-  /* IE7-8 doesn't have border-radius, so don't indent the padding */
-
-  margin-bottom: 0;
-  -webkit-border-radius: 15px;
-     -moz-border-radius: 15px;
-          border-radius: 15px;
-}
-
-/* Allow for input prepend/append in search forms */
-
-.form-search .input-append .search-query,
-.form-search .input-prepend .search-query {
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.form-search .input-append .search-query {
-  -webkit-border-radius: 14px 0 0 14px;
-     -moz-border-radius: 14px 0 0 14px;
-          border-radius: 14px 0 0 14px;
-}
-
-.form-search .input-append .btn {
-  -webkit-border-radius: 0 14px 14px 0;
-     -moz-border-radius: 0 14px 14px 0;
-          border-radius: 0 14px 14px 0;
-}
-
-.form-search .input-prepend .search-query {
-  -webkit-border-radius: 0 14px 14px 0;
-     -moz-border-radius: 0 14px 14px 0;
-          border-radius: 0 14px 14px 0;
-}
-
-.form-search .input-prepend .btn {
-  -webkit-border-radius: 14px 0 0 14px;
-     -moz-border-radius: 14px 0 0 14px;
-          border-radius: 14px 0 0 14px;
-}
-
-.form-search input,
-.form-inline input,
-.form-horizontal input,
-.form-search textarea,
-.form-inline textarea,
-.form-horizontal textarea,
-.form-search select,
-.form-inline select,
-.form-horizontal select,
-.form-search .help-inline,
-.form-inline .help-inline,
-.form-horizontal .help-inline,
-.form-search .uneditable-input,
-.form-inline .uneditable-input,
-.form-horizontal .uneditable-input,
-.form-search .input-prepend,
-.form-inline .input-prepend,
-.form-horizontal .input-prepend,
-.form-search .input-append,
-.form-inline .input-append,
-.form-horizontal .input-append {
-  display: inline-block;
-  *display: inline;
-  margin-bottom: 0;
-  vertical-align: middle;
-  *zoom: 1;
-}
-
-.form-search .hide,
-.form-inline .hide,
-.form-horizontal .hide {
-  display: none;
-}
-
-.form-search label,
-.form-inline label,
-.form-search .btn-group,
-.form-inline .btn-group {
-  display: inline-block;
-}
-
-.form-search .input-append,
-.form-inline .input-append,
-.form-search .input-prepend,
-.form-inline .input-prepend {
-  margin-bottom: 0;
-}
-
-.form-search .radio,
-.form-search .checkbox,
-.form-inline .radio,
-.form-inline .checkbox {
-  padding-left: 0;
-  margin-bottom: 0;
-  vertical-align: middle;
-}
-
-.form-search .radio input[type="radio"],
-.form-search .checkbox input[type="checkbox"],
-.form-inline .radio input[type="radio"],
-.form-inline .checkbox input[type="checkbox"] {
-  float: left;
-  margin-right: 3px;
-  margin-left: 0;
-}
-
-.control-group {
-  margin-bottom: 10px;
-}
-
-legend + .control-group {
-  margin-top: 20px;
-  -webkit-margin-top-collapse: separate;
-}
-
-.form-horizontal .control-group {
-  margin-bottom: 20px;
-  *zoom: 1;
-}
-
-.form-horizontal .control-group:before,
-.form-horizontal .control-group:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.form-horizontal .control-group:after {
-  clear: both;
-}
-
-.form-horizontal .control-label {
-  float: left;
-  width: 160px;
-  padding-top: 5px;
-  text-align: right;
-}
-
-.form-horizontal .controls {
-  *display: inline-block;
-  *padding-left: 20px;
-  margin-left: 180px;
-  *margin-left: 0;
-}
-
-.form-horizontal .controls:first-child {
-  *padding-left: 180px;
-}
-
-.form-horizontal .help-block {
-  margin-bottom: 0;
-}
-
-.form-horizontal input + .help-block,
-.form-horizontal select + .help-block,
-.form-horizontal textarea + .help-block,
-.form-horizontal .uneditable-input + .help-block,
-.form-horizontal .input-prepend + .help-block,
-.form-horizontal .input-append + .help-block {
-  margin-top: 10px;
-}
-
-.form-horizontal .form-actions {
-  padding-left: 180px;
-}
-
-table {
-  max-width: 100%;
-  background-color: transparent;
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-
-.table {
-  width: 100%;
-  margin-bottom: 20px;
-}
-
-.table th,
-.table td {
-  padding: 8px;
-  line-height: 20px;
-  text-align: left;
-  vertical-align: top;
-  border-top: 1px solid #dddddd;
-}
-
-.table th {
-  font-weight: bold;
-}
-
-.table thead th {
-  vertical-align: bottom;
-}
-
-.table caption + thead tr:first-child th,
-.table caption + thead tr:first-child td,
-.table colgroup + thead tr:first-child th,
-.table colgroup + thead tr:first-child td,
-.table thead:first-child tr:first-child th,
-.table thead:first-child tr:first-child td {
-  border-top: 0;
-}
-
-.table tbody + tbody {
-  border-top: 2px solid #dddddd;
-}
-
-.table .table {
-  background-color: #ffffff;
-}
-
-.table-condensed th,
-.table-condensed td {
-  padding: 4px 5px;
-}
-
-.table-bordered {
-  border: 1px solid #dddddd;
-  border-collapse: separate;
-  *border-collapse: collapse;
-  border-left: 0;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.table-bordered th,
-.table-bordered td {
-  border-left: 1px solid #dddddd;
-}
-
-.table-bordered caption + thead tr:first-child th,
-.table-bordered caption + tbody tr:first-child th,
-.table-bordered caption + tbody tr:first-child td,
-.table-bordered colgroup + thead tr:first-child th,
-.table-bordered colgroup + tbody tr:first-child th,
-.table-bordered colgroup + tbody tr:first-child td,
-.table-bordered thead:first-child tr:first-child th,
-.table-bordered tbody:first-child tr:first-child th,
-.table-bordered tbody:first-child tr:first-child td {
-  border-top: 0;
-}
-
-.table-bordered thead:first-child tr:first-child > th:first-child,
-.table-bordered tbody:first-child tr:first-child > td:first-child {
-  -webkit-border-top-left-radius: 4px;
-          border-top-left-radius: 4px;
-  -moz-border-radius-topleft: 4px;
-}
-
-.table-bordered thead:first-child tr:first-child > th:last-child,
-.table-bordered tbody:first-child tr:first-child > td:last-child {
-  -webkit-border-top-right-radius: 4px;
-          border-top-right-radius: 4px;
-  -moz-border-radius-topright: 4px;
-}
-
-.table-bordered thead:last-child tr:last-child > th:first-child,
-.table-bordered tbody:last-child tr:last-child > td:first-child,
-.table-bordered tfoot:last-child tr:last-child > td:first-child {
-  -webkit-border-bottom-left-radius: 4px;
-          border-bottom-left-radius: 4px;
-  -moz-border-radius-bottomleft: 4px;
-}
-
-.table-bordered thead:last-child tr:last-child > th:last-child,
-.table-bordered tbody:last-child tr:last-child > td:last-child,
-.table-bordered tfoot:last-child tr:last-child > td:last-child {
-  -webkit-border-bottom-right-radius: 4px;
-          border-bottom-right-radius: 4px;
-  -moz-border-radius-bottomright: 4px;
-}
-
-.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
-  -webkit-border-bottom-left-radius: 0;
-          border-bottom-left-radius: 0;
-  -moz-border-radius-bottomleft: 0;
-}
-
-.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
-  -webkit-border-bottom-right-radius: 0;
-          border-bottom-right-radius: 0;
-  -moz-border-radius-bottomright: 0;
-}
-
-.table-bordered caption + thead tr:first-child th:first-child,
-.table-bordered caption + tbody tr:first-child td:first-child,
-.table-bordered colgroup + thead tr:first-child th:first-child,
-.table-bordered colgroup + tbody tr:first-child td:first-child {
-  -webkit-border-top-left-radius: 4px;
-          border-top-left-radius: 4px;
-  -moz-border-radius-topleft: 4px;
-}
-
-.table-bordered caption + thead tr:first-child th:last-child,
-.table-bordered caption + tbody tr:first-child td:last-child,
-.table-bordered colgroup + thead tr:first-child th:last-child,
-.table-bordered colgroup + tbody tr:first-child td:last-child {
-  -webkit-border-top-right-radius: 4px;
-          border-top-right-radius: 4px;
-  -moz-border-radius-topright: 4px;
-}
-
-.table-striped tbody > tr:nth-child(odd) > td,
-.table-striped tbody > tr:nth-child(odd) > th {
-  background-color: #f9f9f9;
-}
-
-.table-hover tbody tr:hover td,
-.table-hover tbody tr:hover th {
-  background-color: #f5f5f5;
-}
-
-table td[class*="span"],
-table th[class*="span"],
-.row-fluid table td[class*="span"],
-.row-fluid table th[class*="span"] {
-  display: table-cell;
-  float: none;
-  margin-left: 0;
-}
-
-.table td.span1,
-.table th.span1 {
-  float: none;
-  width: 44px;
-  margin-left: 0;
-}
-
-.table td.span2,
-.table th.span2 {
-  float: none;
-  width: 124px;
-  margin-left: 0;
-}
-
-.table td.span3,
-.table th.span3 {
-  float: none;
-  width: 204px;
-  margin-left: 0;
-}
-
-.table td.span4,
-.table th.span4 {
-  float: none;
-  width: 284px;
-  margin-left: 0;
-}
-
-.table td.span5,
-.table th.span5 {
-  float: none;
-  width: 364px;
-  margin-left: 0;
-}
-
-.table td.span6,
-.table th.span6 {
-  float: none;
-  width: 444px;
-  margin-left: 0;
-}
-
-.table td.span7,
-.table th.span7 {
-  float: none;
-  width: 524px;
-  margin-left: 0;
-}
-
-.table td.span8,
-.table th.span8 {
-  float: none;
-  width: 604px;
-  margin-left: 0;
-}
-
-.table td.span9,
-.table th.span9 {
-  float: none;
-  width: 684px;
-  margin-left: 0;
-}
-
-.table td.span10,
-.table th.span10 {
-  float: none;
-  width: 764px;
-  margin-left: 0;
-}
-
-.table td.span11,
-.table th.span11 {
-  float: none;
-  width: 844px;
-  margin-left: 0;
-}
-
-.table td.span12,
-.table th.span12 {
-  float: none;
-  width: 924px;
-  margin-left: 0;
-}
-
-.table tbody tr.success td {
-  background-color: #dff0d8;
-}
-
-.table tbody tr.error td {
-  background-color: #f2dede;
-}
-
-.table tbody tr.warning td {
-  background-color: #fcf8e3;
-}
-
-.table tbody tr.info td {
-  background-color: #d9edf7;
-}
-
-.table-hover tbody tr.success:hover td {
-  background-color: #d0e9c6;
-}
-
-.table-hover tbody tr.error:hover td {
-  background-color: #ebcccc;
-}
-
-.table-hover tbody tr.warning:hover td {
-  background-color: #faf2cc;
-}
-
-.table-hover tbody tr.info:hover td {
-  background-color: #c4e3f3;
-}
-
-[class^="icon-"],
-[class*=" icon-"] {
-  display: inline-block;
-  width: 14px;
-  height: 14px;
-  margin-top: 1px;
-  *margin-right: .3em;
-  line-height: 14px;
-  vertical-align: text-top;
-  background-image: url("../img/glyphicons-halflings.png");
-  background-position: 14px 14px;
-  background-repeat: no-repeat;
-}
-
-/* White icons with optional class, or on hover/active states of certain elements */
-
-.icon-white,
-.nav-pills > .active > a > [class^="icon-"],
-.nav-pills > .active > a > [class*=" icon-"],
-.nav-list > .active > a > [class^="icon-"],
-.nav-list > .active > a > [class*=" icon-"],
-.navbar-inverse .nav > .active > a > [class^="icon-"],
-.navbar-inverse .nav > .active > a > [class*=" icon-"],
-.dropdown-menu > li > a:hover > [class^="icon-"],
-.dropdown-menu > li > a:hover > [class*=" icon-"],
-.dropdown-menu > .active > a > [class^="icon-"],
-.dropdown-menu > .active > a > [class*=" icon-"],
-.dropdown-submenu:hover > a > [class^="icon-"],
-.dropdown-submenu:hover > a > [class*=" icon-"] {
-  background-image: url("../img/glyphicons-halflings-white.png");
-}
-
-.icon-glass {
-  background-position: 0      0;
-}
-
-.icon-music {
-  background-position: -24px 0;
-}
-
-.icon-search {
-  background-position: -48px 0;
-}
-
-.icon-envelope {
-  background-position: -72px 0;
-}
-
-.icon-heart {
-  background-position: -96px 0;
-}
-
-.icon-star {
-  background-position: -120px 0;
-}
-
-.icon-star-empty {
-  background-position: -144px 0;
-}
-
-.icon-user {
-  background-position: -168px 0;
-}
-
-.icon-film {
-  background-position: -192px 0;
-}
-
-.icon-th-large {
-  background-position: -216px 0;
-}
-
-.icon-th {
-  background-position: -240px 0;
-}
-
-.icon-th-list {
-  background-position: -264px 0;
-}
-
-.icon-ok {
-  background-position: -288px 0;
-}
-
-.icon-remove {
-  background-position: -312px 0;
-}
-
-.icon-zoom-in {
-  background-position: -336px 0;
-}
-
-.icon-zoom-out {
-  background-position: -360px 0;
-}
-
-.icon-off {
-  background-position: -384px 0;
-}
-
-.icon-signal {
-  background-position: -408px 0;
-}
-
-.icon-cog {
-  background-position: -432px 0;
-}
-
-.icon-trash {
-  background-position: -456px 0;
-}
-
-.icon-home {
-  background-position: 0 -24px;
-}
-
-.icon-file {
-  background-position: -24px -24px;
-}
-
-.icon-time {
-  background-position: -48px -24px;
-}
-
-.icon-road {
-  background-position: -72px -24px;
-}
-
-.icon-download-alt {
-  background-position: -96px -24px;
-}
-
-.icon-download {
-  background-position: -120px -24px;
-}
-
-.icon-upload {
-  background-position: -144px -24px;
-}
-
-.icon-inbox {
-  background-position: -168px -24px;
-}
-
-.icon-play-circle {
-  background-position: -192px -24px;
-}
-
-.icon-repeat {
-  background-position: -216px -24px;
-}
-
-.icon-refresh {
-  background-position: -240px -24px;
-}
-
-.icon-list-alt {
-  background-position: -264px -24px;
-}
-
-.icon-lock {
-  background-position: -287px -24px;
-}
-
-.icon-flag {
-  background-position: -312px -24px;
-}
-
-.icon-headphones {
-  background-position: -336px -24px;
-}
-
-.icon-volume-off {
-  background-position: -360px -24px;
-}
-
-.icon-volume-down {
-  background-position: -384px -24px;
-}
-
-.icon-volume-up {
-  background-position: -408px -24px;
-}
-
-.icon-qrcode {
-  background-position: -432px -24px;
-}
-
-.icon-barcode {
-  background-position: -456px -24px;
-}
-
-.icon-tag {
-  background-position: 0 -48px;
-}
-
-.icon-tags {
-  background-position: -25px -48px;
-}
-
-.icon-book {
-  background-position: -48px -48px;
-}
-
-.icon-bookmark {
-  background-position: -72px -48px;
-}
-
-.icon-print {
-  background-position: -96px -48px;
-}
-
-.icon-camera {
-  background-position: -120px -48px;
-}
-
-.icon-font {
-  background-position: -144px -48px;
-}
-
-.icon-bold {
-  background-position: -167px -48px;
-}
-
-.icon-italic {
-  background-position: -192px -48px;
-}
-
-.icon-text-height {
-  background-position: -216px -48px;
-}
-
-.icon-text-width {
-  background-position: -240px -48px;
-}
-
-.icon-align-left {
-  background-position: -264px -48px;
-}
-
-.icon-align-center {
-  background-position: -288px -48px;
-}
-
-.icon-align-right {
-  background-position: -312px -48px;
-}
-
-.icon-align-justify {
-  background-position: -336px -48px;
-}
-
-.icon-list {
-  background-position: -360px -48px;
-}
-
-.icon-indent-left {
-  background-position: -384px -48px;
-}
-
-.icon-indent-right {
-  background-position: -408px -48px;
-}
-
-.icon-facetime-video {
-  background-position: -432px -48px;
-}
-
-.icon-picture {
-  background-position: -456px -48px;
-}
-
-.icon-pencil {
-  background-position: 0 -72px;
-}
-
-.icon-map-marker {
-  background-position: -24px -72px;
-}
-
-.icon-adjust {
-  background-position: -48px -72px;
-}
-
-.icon-tint {
-  background-position: -72px -72px;
-}
-
-.icon-edit {
-  background-position: -96px -72px;
-}
-
-.icon-share {
-  background-position: -120px -72px;
-}
-
-.icon-check {
-  background-position: -144px -72px;
-}
-
-.icon-move {
-  background-position: -168px -72px;
-}
-
-.icon-step-backward {
-  background-position: -192px -72px;
-}
-
-.icon-fast-backward {
-  background-position: -216px -72px;
-}
-
-.icon-backward {
-  background-position: -240px -72px;
-}
-
-.icon-play {
-  background-position: -264px -72px;
-}
-
-.icon-pause {
-  background-position: -288px -72px;
-}
-
-.icon-stop {
-  background-position: -312px -72px;
-}
-
-.icon-forward {
-  background-position: -336px -72px;
-}
-
-.icon-fast-forward {
-  background-position: -360px -72px;
-}
-
-.icon-step-forward {
-  background-position: -384px -72px;
-}
-
-.icon-eject {
-  background-position: -408px -72px;
-}
-
-.icon-chevron-left {
-  background-position: -432px -72px;
-}
-
-.icon-chevron-right {
-  background-position: -456px -72px;
-}
-
-.icon-plus-sign {
-  background-position: 0 -96px;
-}
-
-.icon-minus-sign {
-  background-position: -24px -96px;
-}
-
-.icon-remove-sign {
-  background-position: -48px -96px;
-}
-
-.icon-ok-sign {
-  background-position: -72px -96px;
-}
-
-.icon-question-sign {
-  background-position: -96px -96px;
-}
-
-.icon-info-sign {
-  background-position: -120px -96px;
-}
-
-.icon-screenshot {
-  background-position: -144px -96px;
-}
-
-.icon-remove-circle {
-  background-position: -168px -96px;
-}
-
-.icon-ok-circle {
-  background-position: -192px -96px;
-}
-
-.icon-ban-circle {
-  background-position: -216px -96px;
-}
-
-.icon-arrow-left {
-  background-position: -240px -96px;
-}
-
-.icon-arrow-right {
-  background-position: -264px -96px;
-}
-
-.icon-arrow-up {
-  background-position: -289px -96px;
-}
-
-.icon-arrow-down {
-  background-position: -312px -96px;
-}
-
-.icon-share-alt {
-  background-position: -336px -96px;
-}
-
-.icon-resize-full {
-  background-position: -360px -96px;
-}
-
-.icon-resize-small {
-  background-position: -384px -96px;
-}
-
-.icon-plus {
-  background-position: -408px -96px;
-}
-
-.icon-minus {
-  background-position: -433px -96px;
-}
-
-.icon-asterisk {
-  background-position: -456px -96px;
-}
-
-.icon-exclamation-sign {
-  background-position: 0 -120px;
-}
-
-.icon-gift {
-  background-position: -24px -120px;
-}
-
-.icon-leaf {
-  background-position: -48px -120px;
-}
-
-.icon-fire {
-  background-position: -72px -120px;
-}
-
-.icon-eye-open {
-  background-position: -96px -120px;
-}
-
-.icon-eye-close {
-  background-position: -120px -120px;
-}
-
-.icon-warning-sign {
-  background-position: -144px -120px;
-}
-
-.icon-plane {
-  background-position: -168px -120px;
-}
-
-.icon-calendar {
-  background-position: -192px -120px;
-}
-
-.icon-random {
-  width: 16px;
-  background-position: -216px -120px;
-}
-
-.icon-comment {
-  background-position: -240px -120px;
-}
-
-.icon-magnet {
-  background-position: -264px -120px;
-}
-
-.icon-chevron-up {
-  background-position: -288px -120px;
-}
-
-.icon-chevron-down {
-  background-position: -313px -119px;
-}
-
-.icon-retweet {
-  background-position: -336px -120px;
-}
-
-.icon-shopping-cart {
-  background-position: -360px -120px;
-}
-
-.icon-folder-close {
-  background-position: -384px -120px;
-}
-
-.icon-folder-open {
-  width: 16px;
-  background-position: -408px -120px;
-}
-
-.icon-resize-vertical {
-  background-position: -432px -119px;
-}
-
-.icon-resize-horizontal {
-  background-position: -456px -118px;
-}
-
-.icon-hdd {
-  background-position: 0 -144px;
-}
-
-.icon-bullhorn {
-  background-position: -24px -144px;
-}
-
-.icon-bell {
-  background-position: -48px -144px;
-}
-
-.icon-certificate {
-  background-position: -72px -144px;
-}
-
-.icon-thumbs-up {
-  background-position: -96px -144px;
-}
-
-.icon-thumbs-down {
-  background-position: -120px -144px;
-}
-
-.icon-hand-right {
-  background-position: -144px -144px;
-}
-
-.icon-hand-left {
-  background-position: -168px -144px;
-}
-
-.icon-hand-up {
-  background-position: -192px -144px;
-}
-
-.icon-hand-down {
-  background-position: -216px -144px;
-}
-
-.icon-circle-arrow-right {
-  background-position: -240px -144px;
-}
-
-.icon-circle-arrow-left {
-  background-position: -264px -144px;
-}
-
-.icon-circle-arrow-up {
-  background-position: -288px -144px;
-}
-
-.icon-circle-arrow-down {
-  background-position: -312px -144px;
-}
-
-.icon-globe {
-  background-position: -336px -144px;
-}
-
-.icon-wrench {
-  background-position: -360px -144px;
-}
-
-.icon-tasks {
-  background-position: -384px -144px;
-}
-
-.icon-filter {
-  background-position: -408px -144px;
-}
-
-.icon-briefcase {
-  background-position: -432px -144px;
-}
-
-.icon-fullscreen {
-  background-position: -456px -144px;
-}
-
-.dropup,
-.dropdown {
-  position: relative;
-}
-
-.dropdown-toggle {
-  *margin-bottom: -3px;
-}
-
-.dropdown-toggle:active,
-.open .dropdown-toggle {
-  outline: 0;
-}
-
-.caret {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  vertical-align: top;
-  border-top: 4px solid #000000;
-  border-right: 4px solid transparent;
-  border-left: 4px solid transparent;
-  content: "";
-}
-
-.dropdown .caret {
-  margin-top: 8px;
-  margin-left: 2px;
-}
-
-.dropdown-menu {
-  position: absolute;
-  top: 100%;
-  left: 0;
-  z-index: 1000;
-  display: none;
-  float: left;
-  min-width: 160px;
-  padding: 5px 0;
-  margin: 2px 0 0;
-  list-style: none;
-  background-color: #ffffff;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  *border-right-width: 2px;
-  *border-bottom-width: 2px;
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  -webkit-background-clip: padding-box;
-     -moz-background-clip: padding;
-          background-clip: padding-box;
-}
-
-.dropdown-menu.pull-right {
-  right: 0;
-  left: auto;
-}
-
-.dropdown-menu .divider {
-  *width: 100%;
-  height: 1px;
-  margin: 9px 1px;
-  *margin: -5px 0 5px;
-  overflow: hidden;
-  background-color: #e5e5e5;
-  border-bottom: 1px solid #ffffff;
-}
-
-.dropdown-menu li > a {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 20px;
-  color: #333333;
-  white-space: nowrap;
-}
-
-.dropdown-menu li > a:hover,
-.dropdown-menu li > a:focus,
-.dropdown-submenu:hover > a {
-  color: #ffffff;
-  text-decoration: none;
-  background-color: #0081c2;
-  background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -o-linear-gradient(top, #0088cc, #0077b3);
-  background-image: linear-gradient(to bottom, #0088cc, #0077b3);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
-}
-
-.dropdown-menu .active > a,
-.dropdown-menu .active > a:hover {
-  color: #ffffff;
-  text-decoration: none;
-  background-color: #0081c2;
-  background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -o-linear-gradient(top, #0088cc, #0077b3);
-  background-image: linear-gradient(to bottom, #0088cc, #0077b3);
-  background-repeat: repeat-x;
-  outline: 0;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
-}
-
-.dropdown-menu .disabled > a,
-.dropdown-menu .disabled > a:hover {
-  color: #999999;
-}
-
-.dropdown-menu .disabled > a:hover {
-  text-decoration: none;
-  cursor: default;
-  background-color: transparent;
-  background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.open {
-  *z-index: 1000;
-}
-
-.open > .dropdown-menu {
-  display: block;
-}
-
-.pull-right > .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
-  border-top: 0;
-  border-bottom: 4px solid #000000;
-  content: "";
-}
-
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
-  top: auto;
-  bottom: 100%;
-  margin-bottom: 1px;
-}
-
-.dropdown-submenu {
-  position: relative;
-}
-
-.dropdown-submenu > .dropdown-menu {
-  top: 0;
-  left: 100%;
-  margin-top: -6px;
-  margin-left: -1px;
-  -webkit-border-radius: 0 6px 6px 6px;
-     -moz-border-radius: 0 6px 6px 6px;
-          border-radius: 0 6px 6px 6px;
-}
-
-.dropdown-submenu:hover > .dropdown-menu {
-  display: block;
-}
-
-.dropup .dropdown-submenu > .dropdown-menu {
-  top: auto;
-  bottom: 0;
-  margin-top: 0;
-  margin-bottom: -2px;
-  -webkit-border-radius: 5px 5px 5px 0;
-     -moz-border-radius: 5px 5px 5px 0;
-          border-radius: 5px 5px 5px 0;
-}
-
-.dropdown-submenu > a:after {
-  display: block;
-  float: right;
-  width: 0;
-  height: 0;
-  margin-top: 5px;
-  margin-right: -10px;
-  border-color: transparent;
-  border-left-color: #cccccc;
-  border-style: solid;
-  border-width: 5px 0 5px 5px;
-  content: " ";
-}
-
-.dropdown-submenu:hover > a:after {
-  border-left-color: #ffffff;
-}
-
-.dropdown-submenu.pull-left {
-  float: none;
-}
-
-.dropdown-submenu.pull-left > .dropdown-menu {
-  left: -100%;
-  margin-left: 10px;
-  -webkit-border-radius: 6px 0 6px 6px;
-     -moz-border-radius: 6px 0 6px 6px;
-          border-radius: 6px 0 6px 6px;
-}
-
-.dropdown .dropdown-menu .nav-header {
-  padding-right: 20px;
-  padding-left: 20px;
-}
-
-.typeahead {
-  z-index: 1051;
-  margin-top: 2px;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.well {
-  min-height: 20px;
-  padding: 19px;
-  margin-bottom: 20px;
-  background-color: #f5f5f5;
-  border: 1px solid #e3e3e3;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-}
-
-.well blockquote {
-  border-color: #ddd;
-  border-color: rgba(0, 0, 0, 0.15);
-}
-
-.well-large {
-  padding: 24px;
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-}
-
-.well-small {
-  padding: 9px;
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-}
-
-.fade {
-  opacity: 0;
-  -webkit-transition: opacity 0.15s linear;
-     -moz-transition: opacity 0.15s linear;
-       -o-transition: opacity 0.15s linear;
-          transition: opacity 0.15s linear;
-}
-
-.fade.in {
-  opacity: 1;
-}
-
-.collapse {
-  position: relative;
-  height: 0;
-  overflow: hidden;
-  -webkit-transition: height 0.35s ease;
-     -moz-transition: height 0.35s ease;
-       -o-transition: height 0.35s ease;
-          transition: height 0.35s ease;
-}
-
-.collapse.in {
-  height: auto;
-}
-
-.close {
-  float: right;
-  font-size: 20px;
-  font-weight: bold;
-  line-height: 20px;
-  color: #000000;
-  text-shadow: 0 1px 0 #ffffff;
-  opacity: 0.2;
-  filter: alpha(opacity=20);
-}
-
-.close:hover {
-  color: #000000;
-  text-decoration: none;
-  cursor: pointer;
-  opacity: 0.4;
-  filter: alpha(opacity=40);
-}
-
-button.close {
-  padding: 0;
-  cursor: pointer;
-  background: transparent;
-  border: 0;
-  -webkit-appearance: none;
-}
-
-.btn {
-  display: inline-block;
-  *display: inline;
-  padding: 4px 12px;
-  margin-bottom: 0;
-  *margin-left: .3em;
-  font-size: 14px;
-  line-height: 20px;
-  color: #333333;
-  text-align: center;
-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-  vertical-align: middle;
-  cursor: pointer;
-  background-color: #f5f5f5;
-  *background-color: #e6e6e6;
-  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
-  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
-  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
-  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
-  background-repeat: repeat-x;
-  border: 1px solid #bbbbbb;
-  *border: 0;
-  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  border-bottom-color: #a2a2a2;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  *zoom: 1;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn:hover,
-.btn:active,
-.btn.active,
-.btn.disabled,
-.btn[disabled] {
-  color: #333333;
-  background-color: #e6e6e6;
-  *background-color: #d9d9d9;
-}
-
-.btn:active,
-.btn.active {
-  background-color: #cccccc \9;
-}
-
-.btn:first-child {
-  *margin-left: 0;
-}
-
-.btn:hover {
-  color: #333333;
-  text-decoration: none;
-  background-position: 0 -15px;
-  -webkit-transition: background-position 0.1s linear;
-     -moz-transition: background-position 0.1s linear;
-       -o-transition: background-position 0.1s linear;
-          transition: background-position 0.1s linear;
-}
-
-.btn:focus {
-  outline: thin dotted #333;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-
-.btn.active,
-.btn:active {
-  background-image: none;
-  outline: 0;
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn.disabled,
-.btn[disabled] {
-  cursor: default;
-  background-image: none;
-  opacity: 0.65;
-  filter: alpha(opacity=65);
-  -webkit-box-shadow: none;
-     -moz-box-shadow: none;
-          box-shadow: none;
-}
-
-.btn-large {
-  padding: 11px 19px;
-  font-size: 17.5px;
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-}
-
-.btn-large [class^="icon-"],
-.btn-large [class*=" icon-"] {
-  margin-top: 4px;
-}
-
-.btn-small {
-  padding: 2px 10px;
-  font-size: 11.9px;
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-}
-
-.btn-small [class^="icon-"],
-.btn-small [class*=" icon-"] {
-  margin-top: 0;
-}
-
-.btn-mini [class^="icon-"],
-.btn-mini [class*=" icon-"] {
-  margin-top: -1px;
-}
-
-.btn-mini {
-  padding: 0 6px;
-  font-size: 10.5px;
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-}
-
-.btn-block {
-  display: block;
-  width: 100%;
-  padding-right: 0;
-  padding-left: 0;
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-
-.btn-block + .btn-block {
-  margin-top: 5px;
-}
-
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].btn-block {
-  width: 100%;
-}
-
-.btn-primary.active,
-.btn-warning.active,
-.btn-danger.active,
-.btn-success.active,
-.btn-info.active,
-.btn-inverse.active {
-  color: rgba(255, 255, 255, 0.75);
-}
-
-.btn {
-  border-color: #c5c5c5;
-  border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
-}
-
-.btn-primary {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #006dcc;
-  *background-color: #0044cc;
-  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
-  background-image: linear-gradient(to bottom, #0088cc, #0044cc);
-  background-repeat: repeat-x;
-  border-color: #0044cc #0044cc #002a80;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-primary:hover,
-.btn-primary:active,
-.btn-primary.active,
-.btn-primary.disabled,
-.btn-primary[disabled] {
-  color: #ffffff;
-  background-color: #0044cc;
-  *background-color: #003bb3;
-}
-
-.btn-primary:active,
-.btn-primary.active {
-  background-color: #003399 \9;
-}
-
-.btn-warning {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #faa732;
-  *background-color: #f89406;
-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
-  background-image: -o-linear-gradient(top, #fbb450, #f89406);
-  background-image: linear-gradient(to bottom, #fbb450, #f89406);
-  background-repeat: repeat-x;
-  border-color: #f89406 #f89406 #ad6704;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-warning:hover,
-.btn-warning:active,
-.btn-warning.active,
-.btn-warning.disabled,
-.btn-warning[disabled] {
-  color: #ffffff;
-  background-color: #f89406;
-  *background-color: #df8505;
-}
-
-.btn-warning:active,
-.btn-warning.active {
-  background-color: #c67605 \9;
-}
-
-.btn-danger {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #da4f49;
-  *background-color: #bd362f;
-  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
-  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
-  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
-  background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
-  background-repeat: repeat-x;
-  border-color: #bd362f #bd362f #802420;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-danger:hover,
-.btn-danger:active,
-.btn-danger.active,
-.btn-danger.disabled,
-.btn-danger[disabled] {
-  color: #ffffff;
-  background-color: #bd362f;
-  *background-color: #a9302a;
-}
-
-.btn-danger:active,
-.btn-danger.active {
-  background-color: #942a25 \9;
-}
-
-.btn-success {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #5bb75b;
-  *background-color: #51a351;
-  background-image: -moz-linear-gradient(top, #62c462, #51a351);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
-  background-image: -webkit-linear-gradient(top, #62c462, #51a351);
-  background-image: -o-linear-gradient(top, #62c462, #51a351);
-  background-image: linear-gradient(to bottom, #62c462, #51a351);
-  background-repeat: repeat-x;
-  border-color: #51a351 #51a351 #387038;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-success:hover,
-.btn-success:active,
-.btn-success.active,
-.btn-success.disabled,
-.btn-success[disabled] {
-  color: #ffffff;
-  background-color: #51a351;
-  *background-color: #499249;
-}
-
-.btn-success:active,
-.btn-success.active {
-  background-color: #408140 \9;
-}
-
-.btn-info {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #49afcd;
-  *background-color: #2f96b4;
-  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
-  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
-  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
-  background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
-  background-repeat: repeat-x;
-  border-color: #2f96b4 #2f96b4 #1f6377;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-info:hover,
-.btn-info:active,
-.btn-info.active,
-.btn-info.disabled,
-.btn-info[disabled] {
-  color: #ffffff;
-  background-color: #2f96b4;
-  *background-color: #2a85a0;
-}
-
-.btn-info:active,
-.btn-info.active {
-  background-color: #24748c \9;
-}
-
-.btn-inverse {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #363636;
-  *background-color: #222222;
-  background-image: -moz-linear-gradient(top, #444444, #222222);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
-  background-image: -webkit-linear-gradient(top, #444444, #222222);
-  background-image: -o-linear-gradient(top, #444444, #222222);
-  background-image: linear-gradient(to bottom, #444444, #222222);
-  background-repeat: repeat-x;
-  border-color: #222222 #222222 #000000;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-inverse:hover,
-.btn-inverse:active,
-.btn-inverse.active,
-.btn-inverse.disabled,
-.btn-inverse[disabled] {
-  color: #ffffff;
-  background-color: #222222;
-  *background-color: #151515;
-}
-
-.btn-inverse:active,
-.btn-inverse.active {
-  background-color: #080808 \9;
-}
-
-button.btn,
-input[type="submit"].btn {
-  *padding-top: 3px;
-  *padding-bottom: 3px;
-}
-
-button.btn::-moz-focus-inner,
-input[type="submit"].btn::-moz-focus-inner {
-  padding: 0;
-  border: 0;
-}
-
-button.btn.btn-large,
-input[type="submit"].btn.btn-large {
-  *padding-top: 7px;
-  *padding-bottom: 7px;
-}
-
-button.btn.btn-small,
-input[type="submit"].btn.btn-small {
-  *padding-top: 3px;
-  *padding-bottom: 3px;
-}
-
-button.btn.btn-mini,
-input[type="submit"].btn.btn-mini {
-  *padding-top: 1px;
-  *padding-bottom: 1px;
-}
-
-.btn-link,
-.btn-link:active,
-.btn-link[disabled] {
-  background-color: transparent;
-  background-image: none;
-  -webkit-box-shadow: none;
-     -moz-box-shadow: none;
-          box-shadow: none;
-}
-
-.btn-link {
-  color: #0088cc;
-  cursor: pointer;
-  border-color: transparent;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.btn-link:hover {
-  color: #005580;
-  text-decoration: underline;
-  background-color: transparent;
-}
-
-.btn-link[disabled]:hover {
-  color: #333333;
-  text-decoration: none;
-}
-
-.btn-group {
-  position: relative;
-  display: inline-block;
-  *display: inline;
-  *margin-left: .3em;
-  font-size: 0;
-  white-space: nowrap;
-  vertical-align: middle;
-  *zoom: 1;
-}
-
-.btn-group:first-child {
-  *margin-left: 0;
-}
-
-.btn-group + .btn-group {
-  margin-left: 5px;
-}
-
-.btn-toolbar {
-  margin-top: 10px;
-  margin-bottom: 10px;
-  font-size: 0;
-}
-
-.btn-toolbar > .btn + .btn,
-.btn-toolbar > .btn-group + .btn,
-.btn-toolbar > .btn + .btn-group {
-  margin-left: 5px;
-}
-
-.btn-group > .btn {
-  position: relative;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.btn-group > .btn + .btn {
-  margin-left: -1px;
-}
-
-.btn-group > .btn,
-.btn-group > .dropdown-menu,
-.btn-group > .popover {
-  font-size: 14px;
-}
-
-.btn-group > .btn-mini {
-  font-size: 10.5px;
-}
-
-.btn-group > .btn-small {
-  font-size: 11.9px;
-}
-
-.btn-group > .btn-large {
-  font-size: 17.5px;
-}
-
-.btn-group > .btn:first-child {
-  margin-left: 0;
-  -webkit-border-bottom-left-radius: 4px;
-          border-bottom-left-radius: 4px;
-  -webkit-border-top-left-radius: 4px;
-          border-top-left-radius: 4px;
-  -moz-border-radius-bottomleft: 4px;
-  -moz-border-radius-topleft: 4px;
-}
-
-.btn-group > .btn:last-child,
-.btn-group > .dropdown-toggle {
-  -webkit-border-top-right-radius: 4px;
-          border-top-right-radius: 4px;
-  -webkit-border-bottom-right-radius: 4px;
-          border-bottom-right-radius: 4px;
-  -moz-border-radius-topright: 4px;
-  -moz-border-radius-bottomright: 4px;
-}
-
-.btn-group > .btn.large:first-child {
-  margin-left: 0;
-  -webkit-border-bottom-left-radius: 6px;
-          border-bottom-left-radius: 6px;
-  -webkit-border-top-left-radius: 6px;
-          border-top-left-radius: 6px;
-  -moz-border-radius-bottomleft: 6px;
-  -moz-border-radius-topleft: 6px;
-}
-
-.btn-group > .btn.large:last-child,
-.btn-group > .large.dropdown-toggle {
-  -webkit-border-top-right-radius: 6px;
-          border-top-right-radius: 6px;
-  -webkit-border-bottom-right-radius: 6px;
-          border-bottom-right-radius: 6px;
-  -moz-border-radius-topright: 6px;
-  -moz-border-radius-bottomright: 6px;
-}
-
-.btn-group > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group > .btn:active,
-.btn-group > .btn.active {
-  z-index: 2;
-}
-
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
-  outline: 0;
-}
-
-.btn-group > .btn + .dropdown-toggle {
-  *padding-top: 5px;
-  padding-right: 8px;
-  *padding-bottom: 5px;
-  padding-left: 8px;
-  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-          box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn-group > .btn-mini + .dropdown-toggle {
-  *padding-top: 2px;
-  padding-right: 5px;
-  *padding-bottom: 2px;
-  padding-left: 5px;
-}
-
-.btn-group > .btn-small + .dropdown-toggle {
-  *padding-top: 5px;
-  *padding-bottom: 4px;
-}
-
-.btn-group > .btn-large + .dropdown-toggle {
-  *padding-top: 7px;
-  padding-right: 12px;
-  *padding-bottom: 7px;
-  padding-left: 12px;
-}
-
-.btn-group.open .dropdown-toggle {
-  background-image: none;
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn-group.open .btn.dropdown-toggle {
-  background-color: #e6e6e6;
-}
-
-.btn-group.open .btn-primary.dropdown-toggle {
-  background-color: #0044cc;
-}
-
-.btn-group.open .btn-warning.dropdown-toggle {
-  background-color: #f89406;
-}
-
-.btn-group.open .btn-danger.dropdown-toggle {
-  background-color: #bd362f;
-}
-
-.btn-group.open .btn-success.dropdown-toggle {
-  background-color: #51a351;
-}
-
-.btn-group.open .btn-info.dropdown-toggle {
-  background-color: #2f96b4;
-}
-
-.btn-group.open .btn-inverse.dropdown-toggle {
-  background-color: #222222;
-}
-
-.btn .caret {
-  margin-top: 8px;
-  margin-left: 0;
-}
-
-.btn-mini .caret,
-.btn-small .caret,
-.btn-large .caret {
-  margin-top: 6px;
-}
-
-.btn-large .caret {
-  border-top-width: 5px;
-  border-right-width: 5px;
-  border-left-width: 5px;
-}
-
-.dropup .btn-large .caret {
-  border-bottom-width: 5px;
-}
-
-.btn-primary .caret,
-.btn-warning .caret,
-.btn-danger .caret,
-.btn-info .caret,
-.btn-success .caret,
-.btn-inverse .caret {
-  border-top-color: #ffffff;
-  border-bottom-color: #ffffff;
-}
-
-.btn-group-vertical {
-  display: inline-block;
-  *display: inline;
-  /* IE7 inline-block hack */
-
-  *zoom: 1;
-}
-
-.btn-group-vertical > .btn {
-  display: block;
-  float: none;
-  max-width: 100%;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.btn-group-vertical > .btn + .btn {
-  margin-top: -1px;
-  margin-left: 0;
-}
-
-.btn-group-vertical > .btn:first-child {
-  -webkit-border-radius: 4px 4px 0 0;
-     -moz-border-radius: 4px 4px 0 0;
-          border-radius: 4px 4px 0 0;
-}
-
-.btn-group-vertical > .btn:last-child {
-  -webkit-border-radius: 0 0 4px 4px;
-     -moz-border-radius: 0 0 4px 4px;
-          border-radius: 0 0 4px 4px;
-}
-
-.btn-group-vertical > .btn-large:first-child {
-  -webkit-border-radius: 6px 6px 0 0;
-     -moz-border-radius: 6px 6px 0 0;
-          border-radius: 6px 6px 0 0;
-}
-
-.btn-group-vertical > .btn-large:last-child {
-  -webkit-border-radius: 0 0 6px 6px;
-     -moz-border-radius: 0 0 6px 6px;
-          border-radius: 0 0 6px 6px;
-}
-
-.alert {
-  padding: 8px 35px 8px 14px;
-  margin-bottom: 20px;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-  background-color: #fcf8e3;
-  border: 1px solid #fbeed5;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.alert,
-.alert h4 {
-  color: #c09853;
-}
-
-.alert h4 {
-  margin: 0;
-}
-
-.alert .close {
-  position: relative;
-  top: -2px;
-  right: -21px;
-  line-height: 20px;
-}
-
-.alert-success {
-  color: #468847;
-  background-color: #dff0d8;
-  border-color: #d6e9c6;
-}
-
-.alert-success h4 {
-  color: #468847;
-}
-
-.alert-danger,
-.alert-error {
-  color: #b94a48;
-  background-color: #f2dede;
-  border-color: #eed3d7;
-}
-
-.alert-danger h4,
-.alert-error h4 {
-  color: #b94a48;
-}
-
-.alert-info {
-  color: #3a87ad;
-  background-color: #d9edf7;
-  border-color: #bce8f1;
-}
-
-.alert-info h4 {
-  color: #3a87ad;
-}
-
-.alert-block {
-  padding-top: 14px;
-  padding-bottom: 14px;
-}
-
-.alert-block > p,
-.alert-block > ul {
-  margin-bottom: 0;
-}
-
-.alert-block p + p {
-  margin-top: 5px;
-}
-
-.nav {
-  margin-bottom: 20px;
-  margin-left: 0;
-  list-style: none;
-}
-
-.nav > li > a {
-  display: block;
-}
-
-.nav > li > a:hover {
-  text-decoration: none;
-  background-color: #eeeeee;
-}
-
-.nav > li > a > img {
-  max-width: none;
-}
-
-.nav > .pull-right {
-  float: right;
-}
-
-.nav-header {
-  display: block;
-  padding: 3px 15px;
-  font-size: 11px;
-  font-weight: bold;
-  line-height: 20px;
-  color: #999999;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-  text-transform: uppercase;
-}
-
-.nav li + .nav-header {
-  margin-top: 9px;
-}
-
-.nav-list {
-  padding-right: 15px;
-  padding-left: 15px;
-  margin-bottom: 0;
-}
-
-.nav-list > li > a,
-.nav-list .nav-header {
-  margin-right: -15px;
-  margin-left: -15px;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-}
-
-.nav-list > li > a {
-  padding: 3px 15px;
-}
-
-.nav-list > .active > a,
-.nav-list > .active > a:hover {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
-  background-color: #0088cc;
-}
-
-.nav-list [class^="icon-"],
-.nav-list [class*=" icon-"] {
-  margin-right: 2px;
-}
-
-.nav-list .divider {
-  *width: 100%;
-  height: 1px;
-  margin: 9px 1px;
-  *margin: -5px 0 5px;
-  overflow: hidden;
-  background-color: #e5e5e5;
-  border-bottom: 1px solid #ffffff;
-}
-
-.nav-tabs,
-.nav-pills {
-  *zoom: 1;
-}
-
-.nav-tabs:before,
-.nav-pills:before,
-.nav-tabs:after,
-.nav-pills:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.nav-tabs:after,
-.nav-pills:after {
-  clear: both;
-}
-
-.nav-tabs > li,
-.nav-pills > li {
-  float: left;
-}
-
-.nav-tabs > li > a,
-.nav-pills > li > a {
-  padding-right: 12px;
-  padding-left: 12px;
-  margin-right: 2px;
-  line-height: 14px;
-}
-
-.nav-tabs {
-  border-bottom: 1px solid #ddd;
-}
-
-.nav-tabs > li {
-  margin-bottom: -1px;
-}
-
-.nav-tabs > li > a {
-  padding-top: 8px;
-  padding-bottom: 8px;
-  line-height: 20px;
-  border: 1px solid transparent;
-  -webkit-border-radius: 4px 4px 0 0;
-     -moz-border-radius: 4px 4px 0 0;
-          border-radius: 4px 4px 0 0;
-}
-
-.nav-tabs > li > a:hover {
-  border-color: #eeeeee #eeeeee #dddddd;
-}
-
-.nav-tabs > .active > a,
-.nav-tabs > .active > a:hover {
-  color: #555555;
-  cursor: default;
-  background-color: #ffffff;
-  border: 1px solid #ddd;
-  border-bottom-color: transparent;
-}
-
-.nav-pills > li > a {
-  padding-top: 8px;
-  padding-bottom: 8px;
-  margin-top: 2px;
-  margin-bottom: 2px;
-  -webkit-border-radius: 5px;
-     -moz-border-radius: 5px;
-          border-radius: 5px;
-}
-
-.nav-pills > .active > a,
-.nav-pills > .active > a:hover {
-  color: #ffffff;
-  background-color: #0088cc;
-}
-
-.nav-stacked > li {
-  float: none;
-}
-
-.nav-stacked > li > a {
-  margin-right: 0;
-}
-
-.nav-tabs.nav-stacked {
-  border-bottom: 0;
-}
-
-.nav-tabs.nav-stacked > li > a {
-  border: 1px solid #ddd;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.nav-tabs.nav-stacked > li:first-child > a {
-  -webkit-border-top-right-radius: 4px;
-          border-top-right-radius: 4px;
-  -webkit-border-top-left-radius: 4px;
-          border-top-left-radius: 4px;
-  -moz-border-radius-topright: 4px;
-  -moz-border-radius-topleft: 4px;
-}
-
-.nav-tabs.nav-stacked > li:last-child > a {
-  -webkit-border-bottom-right-radius: 4px;
-          border-bottom-right-radius: 4px;
-  -webkit-border-bottom-left-radius: 4px;
-          border-bottom-left-radius: 4px;
-  -moz-border-radius-bottomright: 4px;
-  -moz-border-radius-bottomleft: 4px;
-}
-
-.nav-tabs.nav-stacked > li > a:hover {
-  z-index: 2;
-  border-color: #ddd;
-}
-
-.nav-pills.nav-stacked > li > a {
-  margin-bottom: 3px;
-}
-
-.nav-pills.nav-stacked > li:last-child > a {
-  margin-bottom: 1px;
-}
-
-.nav-tabs .dropdown-menu {
-  -webkit-border-radius: 0 0 6px 6px;
-     -moz-border-radius: 0 0 6px 6px;
-          border-radius: 0 0 6px 6px;
-}
-
-.nav-pills .dropdown-menu {
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-}
-
-.nav .dropdown-toggle .caret {
-  margin-top: 6px;
-  border-top-color: #0088cc;
-  border-bottom-color: #0088cc;
-}
-
-.nav .dropdown-toggle:hover .caret {
-  border-top-color: #005580;
-  border-bottom-color: #005580;
-}
-
-/* move down carets for tabs */
-
-.nav-tabs .dropdown-toggle .caret {
-  margin-top: 8px;
-}
-
-.nav .active .dropdown-toggle .caret {
-  border-top-color: #fff;
-  border-bottom-color: #fff;
-}
-
-.nav-tabs .active .dropdown-toggle .caret {
-  border-top-color: #555555;
-  border-bottom-color: #555555;
-}
-
-.nav > .dropdown.active > a:hover {
-  cursor: pointer;
-}
-
-.nav-tabs .open .dropdown-toggle,
-.nav-pills .open .dropdown-toggle,
-.nav > li.dropdown.open.active > a:hover {
-  color: #ffffff;
-  background-color: #999999;
-  border-color: #999999;
-}
-
-.nav li.dropdown.open .caret,
-.nav li.dropdown.open.active .caret,
-.nav li.dropdown.open a:hover .caret {
-  border-top-color: #ffffff;
-  border-bottom-color: #ffffff;
-  opacity: 1;
-  filter: alpha(opacity=100);
-}
-
-.tabs-stacked .open > a:hover {
-  border-color: #999999;
-}
-
-.tabbable {
-  *zoom: 1;
-}
-
-.tabbable:before,
-.tabbable:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.tabbable:after {
-  clear: both;
-}
-
-.tab-content {
-  overflow: auto;
-}
-
-.tabs-below > .nav-tabs,
-.tabs-right > .nav-tabs,
-.tabs-left > .nav-tabs {
-  border-bottom: 0;
-}
-
-.tab-content > .tab-pane,
-.pill-content > .pill-pane {
-  display: none;
-}
-
-.tab-content > .active,
-.pill-content > .active {
-  display: block;
-}
-
-.tabs-below > .nav-tabs {
-  border-top: 1px solid #ddd;
-}
-
-.tabs-below > .nav-tabs > li {
-  margin-top: -1px;
-  margin-bottom: 0;
-}
-
-.tabs-below > .nav-tabs > li > a {
-  -webkit-border-radius: 0 0 4px 4px;
-     -moz-border-radius: 0 0 4px 4px;
-          border-radius: 0 0 4px 4px;
-}
-
-.tabs-below > .nav-tabs > li > a:hover {
-  border-top-color: #ddd;
-  border-bottom-color: transparent;
-}
-
-.tabs-below > .nav-tabs > .active > a,
-.tabs-below > .nav-tabs > .active > a:hover {
-  border-color: transparent #ddd #ddd #ddd;
-}
-
-.tabs-left > .nav-tabs > li,
-.tabs-right > .nav-tabs > li {
-  float: none;
-}
-
-.tabs-left > .nav-tabs > li > a,
-.tabs-right > .nav-tabs > li > a {
-  min-width: 74px;
-  margin-right: 0;
-  margin-bottom: 3px;
-}
-
-.tabs-left > .nav-tabs {
-  float: left;
-  margin-right: 19px;
-  border-right: 1px solid #ddd;
-}
-
-.tabs-left > .nav-tabs > li > a {
-  margin-right: -1px;
-  -webkit-border-radius: 4px 0 0 4px;
-     -moz-border-radius: 4px 0 0 4px;
-          border-radius: 4px 0 0 4px;
-}
-
-.tabs-left > .nav-tabs > li > a:hover {
-  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
-}
-
-.tabs-left > .nav-tabs .active > a,
-.tabs-left > .nav-tabs .active > a:hover {
-  border-color: #ddd transparent #ddd #ddd;
-  *border-right-color: #ffffff;
-}
-
-.tabs-right > .nav-tabs {
-  float: right;
-  margin-left: 19px;
-  border-left: 1px solid #ddd;
-}
-
-.tabs-right > .nav-tabs > li > a {
-  margin-left: -1px;
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.tabs-right > .nav-tabs > li > a:hover {
-  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
-}
-
-.tabs-right > .nav-tabs .active > a,
-.tabs-right > .nav-tabs .active > a:hover {
-  border-color: #ddd #ddd #ddd transparent;
-  *border-left-color: #ffffff;
-}
-
-.nav > .disabled > a {
-  color: #999999;
-}
-
-.nav > .disabled > a:hover {
-  text-decoration: none;
-  cursor: default;
-  background-color: transparent;
-}
-
-.navbar {
-  *position: relative;
-  *z-index: 2;
-  margin-bottom: 20px;
-  overflow: visible;
-}
-
-.navbar-inner {
-  min-height: 40px;
-  padding-right: 20px;
-  padding-left: 20px;
-  background-color: #fafafa;
-  background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
-  background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
-  background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
-  background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
-  background-repeat: repeat-x;
-  border: 1px solid #d4d4d4;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
-  *zoom: 1;
-  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-     -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-}
-
-.navbar-inner:before,
-.navbar-inner:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.navbar-inner:after {
-  clear: both;
-}
-
-.navbar .container {
-  width: auto;
-}
-
-.nav-collapse.collapse {
-  height: auto;
-  overflow: visible;
-}
-
-.navbar .brand {
-  display: block;
-  float: left;
-  padding: 10px 20px 10px;
-  margin-left: -20px;
-  font-size: 20px;
-  font-weight: 200;
-  color: #777777;
-  text-shadow: 0 1px 0 #ffffff;
-}
-
-.navbar .brand:hover {
-  text-decoration: none;
-}
-
-.navbar-text {
-  margin-bottom: 0;
-  line-height: 40px;
-  color: #777777;
-}
-
-.navbar-link {
-  color: #777777;
-}
-
-.navbar-link:hover {
-  color: #333333;
-}
-
-.navbar .divider-vertical {
-  height: 40px;
-  margin: 0 9px;
-  border-right: 1px solid #ffffff;
-  border-left: 1px solid #f2f2f2;
-}
-
-.navbar .btn,
-.navbar .btn-group {
-  margin-top: 5px;
-}
-
-.navbar .btn-group .btn,
-.navbar .input-prepend .btn,
-.navbar .input-append .btn {
-  margin-top: 0;
-}
-
-.navbar-form {
-  margin-bottom: 0;
-  *zoom: 1;
-}
-
-.navbar-form:before,
-.navbar-form:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.navbar-form:after {
-  clear: both;
-}
-
-.navbar-form input,
-.navbar-form select,
-.navbar-form .radio,
-.navbar-form .checkbox {
-  margin-top: 5px;
-}
-
-.navbar-form input,
-.navbar-form select,
-.navbar-form .btn {
-  display: inline-block;
-  margin-bottom: 0;
-}
-
-.navbar-form input[type="image"],
-.navbar-form input[type="checkbox"],
-.navbar-form input[type="radio"] {
-  margin-top: 3px;
-}
-
-.navbar-form .input-append,
-.navbar-form .input-prepend {
-  margin-top: 5px;
-  white-space: nowrap;
-}
-
-.navbar-form .input-append input,
-.navbar-form .input-prepend input {
-  margin-top: 0;
-}
-
-.navbar-search {
-  position: relative;
-  float: left;
-  margin-top: 5px;
-  margin-bottom: 0;
-}
-
-.navbar-search .search-query {
-  padding: 4px 14px;
-  margin-bottom: 0;
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 13px;
-  font-weight: normal;
-  line-height: 1;
-  -webkit-border-radius: 15px;
-     -moz-border-radius: 15px;
-          border-radius: 15px;
-}
-
-.navbar-static-top {
-  position: static;
-  margin-bottom: 0;
-}
-
-.navbar-static-top .navbar-inner {
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  position: fixed;
-  right: 0;
-  left: 0;
-  z-index: 1030;
-  margin-bottom: 0;
-}
-
-.navbar-fixed-top .navbar-inner,
-.navbar-static-top .navbar-inner {
-  border-width: 0 0 1px;
-}
-
-.navbar-fixed-bottom .navbar-inner {
-  border-width: 1px 0 0;
-}
-
-.navbar-fixed-top .navbar-inner,
-.navbar-fixed-bottom .navbar-inner {
-  padding-right: 0;
-  padding-left: 0;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.navbar-static-top .container,
-.navbar-fixed-top .container,
-.navbar-fixed-bottom .container {
-  width: 940px;
-}
-
-.navbar-fixed-top {
-  top: 0;
-}
-
-.navbar-fixed-top .navbar-inner,
-.navbar-static-top .navbar-inner {
-  -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
-     -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
-          box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
-}
-
-.navbar-fixed-bottom {
-  bottom: 0;
-}
-
-.navbar-fixed-bottom .navbar-inner {
-  -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
-     -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
-          box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
-}
-
-.navbar .nav {
-  position: relative;
-  left: 0;
-  display: block;
-  float: left;
-  margin: 0 10px 0 0;
-}
-
-.navbar .nav.pull-right {
-  float: right;
-  margin-right: 0;
-}
-
-.navbar .nav > li {
-  float: left;
-}
-
-.navbar .nav > li > a {
-  float: none;
-  padding: 10px 15px 10px;
-  color: #777777;
-  text-decoration: none;
-  text-shadow: 0 1px 0 #ffffff;
-}
-
-.navbar .nav .dropdown-toggle .caret {
-  margin-top: 8px;
-}
-
-.navbar .nav > li > a:focus,
-.navbar .nav > li > a:hover {
-  color: #333333;
-  text-decoration: none;
-  background-color: transparent;
-}
-
-.navbar .nav > .active > a,
-.navbar .nav > .active > a:hover,
-.navbar .nav > .active > a:focus {
-  color: #555555;
-  text-decoration: none;
-  background-color: #e5e5e5;
-  -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
-     -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
-          box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
-}
-
-.navbar .btn-navbar {
-  display: none;
-  float: right;
-  padding: 7px 10px;
-  margin-right: 5px;
-  margin-left: 5px;
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #ededed;
-  *background-color: #e5e5e5;
-  background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
-  background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
-  background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
-  background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
-  background-repeat: repeat-x;
-  border-color: #e5e5e5 #e5e5e5 #bfbfbf;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
-     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
-}
-
-.navbar .btn-navbar:hover,
-.navbar .btn-navbar:active,
-.navbar .btn-navbar.active,
-.navbar .btn-navbar.disabled,
-.navbar .btn-navbar[disabled] {
-  color: #ffffff;
-  background-color: #e5e5e5;
-  *background-color: #d9d9d9;
-}
-
-.navbar .btn-navbar:active,
-.navbar .btn-navbar.active {
-  background-color: #cccccc \9;
-}
-
-.navbar .btn-navbar .icon-bar {
-  display: block;
-  width: 18px;
-  height: 2px;
-  background-color: #f5f5f5;
-  -webkit-border-radius: 1px;
-     -moz-border-radius: 1px;
-          border-radius: 1px;
-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-     -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-          box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-}
-
-.btn-navbar .icon-bar + .icon-bar {
-  margin-top: 3px;
-}
-
-.navbar .nav > li > .dropdown-menu:before {
-  position: absolute;
-  top: -7px;
-  left: 9px;
-  display: inline-block;
-  border-right: 7px solid transparent;
-  border-bottom: 7px solid #ccc;
-  border-left: 7px solid transparent;
-  border-bottom-color: rgba(0, 0, 0, 0.2);
-  content: '';
-}
-
-.navbar .nav > li > .dropdown-menu:after {
-  position: absolute;
-  top: -6px;
-  left: 10px;
-  display: inline-block;
-  border-right: 6px solid transparent;
-  border-bottom: 6px solid #ffffff;
-  border-left: 6px solid transparent;
-  content: '';
-}
-
-.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
-  top: auto;
-  bottom: -7px;
-  border-top: 7px solid #ccc;
-  border-bottom: 0;
-  border-top-color: rgba(0, 0, 0, 0.2);
-}
-
-.navbar-fixed-bottom .nav > li > .dropdown-menu:after {
-  top: auto;
-  bottom: -6px;
-  border-top: 6px solid #ffffff;
-  border-bottom: 0;
-}
-
-.navbar .nav li.dropdown > a:hover .caret {
-  border-top-color: #555555;
-  border-bottom-color: #555555;
-}
-
-.navbar .nav li.dropdown.open > .dropdown-toggle,
-.navbar .nav li.dropdown.active > .dropdown-toggle,
-.navbar .nav li.dropdown.open.active > .dropdown-toggle {
-  color: #555555;
-  background-color: #e5e5e5;
-}
-
-.navbar .nav li.dropdown > .dropdown-toggle .caret {
-  border-top-color: #777777;
-  border-bottom-color: #777777;
-}
-
-.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
-.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
-.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
-  border-top-color: #555555;
-  border-bottom-color: #555555;
-}
-
-.navbar .pull-right > li > .dropdown-menu,
-.navbar .nav > li > .dropdown-menu.pull-right {
-  right: 0;
-  left: auto;
-}
-
-.navbar .pull-right > li > .dropdown-menu:before,
-.navbar .nav > li > .dropdown-menu.pull-right:before {
-  right: 12px;
-  left: auto;
-}
-
-.navbar .pull-right > li > .dropdown-menu:after,
-.navbar .nav > li > .dropdown-menu.pull-right:after {
-  right: 13px;
-  left: auto;
-}
-
-.navbar .pull-right > li > .dropdown-menu .dropdown-menu,
-.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
-  right: 100%;
-  left: auto;
-  margin-right: -1px;
-  margin-left: 0;
-  -webkit-border-radius: 6px 0 6px 6px;
-     -moz-border-radius: 6px 0 6px 6px;
-          border-radius: 6px 0 6px 6px;
-}
-
-.navbar-inverse .navbar-inner {
-  background-color: #1b1b1b;
-  background-image: -moz-linear-gradient(top, #222222, #111111);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
-  background-image: -webkit-linear-gradient(top, #222222, #111111);
-  background-image: -o-linear-gradient(top, #222222, #111111);
-  background-image: linear-gradient(to bottom, #222222, #111111);
-  background-repeat: repeat-x;
-  border-color: #252525;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
-}
-
-.navbar-inverse .brand,
-.navbar-inverse .nav > li > a {
-  color: #999999;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-
-.navbar-inverse .brand:hover,
-.navbar-inverse .nav > li > a:hover {
-  color: #ffffff;
-}
-
-.navbar-inverse .brand {
-  color: #999999;
-}
-
-.navbar-inverse .navbar-text {
-  color: #999999;
-}
-
-.navbar-inverse .nav > li > a:focus,
-.navbar-inverse .nav > li > a:hover {
-  color: #ffffff;
-  background-color: transparent;
-}
-
-.navbar-inverse .nav .active > a,
-.navbar-inverse .nav .active > a:hover,
-.navbar-inverse .nav .active > a:focus {
-  color: #ffffff;
-  background-color: #111111;
-}
-
-.navbar-inverse .navbar-link {
-  color: #999999;
-}
-
-.navbar-inverse .navbar-link:hover {
-  color: #ffffff;
-}
-
-.navbar-inverse .divider-vertical {
-  border-right-color: #222222;
-  border-left-color: #111111;
-}
-
-.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
-.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
-.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
-  color: #ffffff;
-  background-color: #111111;
-}
-
-.navbar-inverse .nav li.dropdown > a:hover .caret {
-  border-top-color: #ffffff;
-  border-bottom-color: #ffffff;
-}
-
-.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
-  border-top-color: #999999;
-  border-bottom-color: #999999;
-}
-
-.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
-.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
-.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
-  border-top-color: #ffffff;
-  border-bottom-color: #ffffff;
-}
-
-.navbar-inverse .navbar-search .search-query {
-  color: #ffffff;
-  background-color: #515151;
-  border-color: #111111;
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
-     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
-  -webkit-transition: none;
-     -moz-transition: none;
-       -o-transition: none;
-          transition: none;
-}
-
-.navbar-inverse .navbar-search .search-query:-moz-placeholder {
-  color: #cccccc;
-}
-
-.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
-  color: #cccccc;
-}
-
-.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
-  color: #cccccc;
-}
-
-.navbar-inverse .navbar-search .search-query:focus,
-.navbar-inverse .navbar-search .search-query.focused {
-  padding: 5px 15px;
-  color: #333333;
-  text-shadow: 0 1px 0 #ffffff;
-  background-color: #ffffff;
-  border: 0;
-  outline: 0;
-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-     -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-          box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-}
-
-.navbar-inverse .btn-navbar {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #0e0e0e;
-  *background-color: #040404;
-  background-image: -moz-linear-gradient(top, #151515, #040404);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
-  background-image: -webkit-linear-gradient(top, #151515, #040404);
-  background-image: -o-linear-gradient(top, #151515, #040404);
-  background-image: linear-gradient(to bottom, #151515, #040404);
-  background-repeat: repeat-x;
-  border-color: #040404 #040404 #000000;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.navbar-inverse .btn-navbar:hover,
-.navbar-inverse .btn-navbar:active,
-.navbar-inverse .btn-navbar.active,
-.navbar-inverse .btn-navbar.disabled,
-.navbar-inverse .btn-navbar[disabled] {
-  color: #ffffff;
-  background-color: #040404;
-  *background-color: #000000;
-}
-
-.navbar-inverse .btn-navbar:active,
-.navbar-inverse .btn-navbar.active {
-  background-color: #000000 \9;
-}
-
-.breadcrumb {
-  padding: 8px 15px;
-  margin: 0 0 20px;
-  list-style: none;
-  background-color: #f5f5f5;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.breadcrumb > li {
-  display: inline-block;
-  *display: inline;
-  text-shadow: 0 1px 0 #ffffff;
-  *zoom: 1;
-}
-
-.breadcrumb > li > .divider {
-  padding: 0 5px;
-  color: #ccc;
-}
-
-.breadcrumb > .active {
-  color: #999999;
-}
-
-.pagination {
-  margin: 20px 0;
-}
-
-.pagination ul {
-  display: inline-block;
-  *display: inline;
-  margin-bottom: 0;
-  margin-left: 0;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  *zoom: 1;
-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.pagination ul > li {
-  display: inline;
-}
-
-.pagination ul > li > a,
-.pagination ul > li > span {
-  float: left;
-  padding: 4px 12px;
-  line-height: 20px;
-  text-decoration: none;
-  background-color: #ffffff;
-  border: 1px solid #dddddd;
-  border-left-width: 0;
-}
-
-.pagination ul > li > a:hover,
-.pagination ul > .active > a,
-.pagination ul > .active > span {
-  background-color: #f5f5f5;
-}
-
-.pagination ul > .active > a,
-.pagination ul > .active > span {
-  color: #999999;
-  cursor: default;
-}
-
-.pagination ul > .disabled > span,
-.pagination ul > .disabled > a,
-.pagination ul > .disabled > a:hover {
-  color: #999999;
-  cursor: default;
-  background-color: transparent;
-}
-
-.pagination ul > li:first-child > a,
-.pagination ul > li:first-child > span {
-  border-left-width: 1px;
-  -webkit-border-bottom-left-radius: 4px;
-          border-bottom-left-radius: 4px;
-  -webkit-border-top-left-radius: 4px;
-          border-top-left-radius: 4px;
-  -moz-border-radius-bottomleft: 4px;
-  -moz-border-radius-topleft: 4px;
-}
-
-.pagination ul > li:last-child > a,
-.pagination ul > li:last-child > span {
-  -webkit-border-top-right-radius: 4px;
-          border-top-right-radius: 4px;
-  -webkit-border-bottom-right-radius: 4px;
-          border-bottom-right-radius: 4px;
-  -moz-border-radius-topright: 4px;
-  -moz-border-radius-bottomright: 4px;
-}
-
-.pagination-centered {
-  text-align: center;
-}
-
-.pagination-right {
-  text-align: right;
-}
-
-.pagination-large ul > li > a,
-.pagination-large ul > li > span {
-  padding: 11px 19px;
-  font-size: 17.5px;
-}
-
-.pagination-large ul > li:first-child > a,
-.pagination-large ul > li:first-child > span {
-  -webkit-border-bottom-left-radius: 6px;
-          border-bottom-left-radius: 6px;
-  -webkit-border-top-left-radius: 6px;
-          border-top-left-radius: 6px;
-  -moz-border-radius-bottomleft: 6px;
-  -moz-border-radius-topleft: 6px;
-}
-
-.pagination-large ul > li:last-child > a,
-.pagination-large ul > li:last-child > span {
-  -webkit-border-top-right-radius: 6px;
-          border-top-right-radius: 6px;
-  -webkit-border-bottom-right-radius: 6px;
-          border-bottom-right-radius: 6px;
-  -moz-border-radius-topright: 6px;
-  -moz-border-radius-bottomright: 6px;
-}
-
-.pagination-mini ul > li:first-child > a,
-.pagination-small ul > li:first-child > a,
-.pagination-mini ul > li:first-child > span,
-.pagination-small ul > li:first-child > span {
-  -webkit-border-bottom-left-radius: 3px;
-          border-bottom-left-radius: 3px;
-  -webkit-border-top-left-radius: 3px;
-          border-top-left-radius: 3px;
-  -moz-border-radius-bottomleft: 3px;
-  -moz-border-radius-topleft: 3px;
-}
-
-.pagination-mini ul > li:last-child > a,
-.pagination-small ul > li:last-child > a,
-.pagination-mini ul > li:last-child > span,
-.pagination-small ul > li:last-child > span {
-  -webkit-border-top-right-radius: 3px;
-          border-top-right-radius: 3px;
-  -webkit-border-bottom-right-radius: 3px;
-          border-bottom-right-radius: 3px;
-  -moz-border-radius-topright: 3px;
-  -moz-border-radius-bottomright: 3px;
-}
-
-.pagination-small ul > li > a,
-.pagination-small ul > li > span {
-  padding: 2px 10px;
-  font-size: 11.9px;
-}
-
-.pagination-mini ul > li > a,
-.pagination-mini ul > li > span {
-  padding: 0 6px;
-  font-size: 10.5px;
-}
-
-.pager {
-  margin: 20px 0;
-  text-align: center;
-  list-style: none;
-  *zoom: 1;
-}
-
-.pager:before,
-.pager:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.pager:after {
-  clear: both;
-}
-
-.pager li {
-  display: inline;
-}
-
-.pager li > a,
-.pager li > span {
-  display: inline-block;
-  padding: 5px 14px;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  -webkit-border-radius: 15px;
-     -moz-border-radius: 15px;
-          border-radius: 15px;
-}
-
-.pager li > a:hover {
-  text-decoration: none;
-  background-color: #f5f5f5;
-}
-
-.pager .next > a,
-.pager .next > span {
-  float: right;
-}
-
-.pager .previous > a,
-.pager .previous > span {
-  float: left;
-}
-
-.pager .disabled > a,
-.pager .disabled > a:hover,
-.pager .disabled > span {
-  color: #999999;
-  cursor: default;
-  background-color: #fff;
-}
-
-.modal-backdrop {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1040;
-  background-color: #000000;
-}
-
-.modal-backdrop.fade {
-  opacity: 0;
-}
-
-.modal-backdrop,
-.modal-backdrop.fade.in {
-  opacity: 0.8;
-  filter: alpha(opacity=80);
-}
-
-.modal {
-  position: fixed;
-  top: 10%;
-  left: 50%;
-  z-index: 1050;
-  width: 560px;
-  margin-left: -280px;
-  background-color: #ffffff;
-  border: 1px solid #999;
-  border: 1px solid rgba(0, 0, 0, 0.3);
-  *border: 1px solid #999;
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-  outline: none;
-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-  -webkit-background-clip: padding-box;
-     -moz-background-clip: padding-box;
-          background-clip: padding-box;
-}
-
-.modal.fade {
-  top: -25%;
-  -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
-     -moz-transition: opacity 0.3s linear, top 0.3s ease-out;
-       -o-transition: opacity 0.3s linear, top 0.3s ease-out;
-          transition: opacity 0.3s linear, top 0.3s ease-out;
-}
-
-.modal.fade.in {
-  top: 10%;
-}
-
-.modal-header {
-  padding: 9px 15px;
-  border-bottom: 1px solid #eee;
-}
-
-.modal-header .close {
-  margin-top: 2px;
-}
-
-.modal-header h3 {
-  margin: 0;
-  line-height: 30px;
-}
-
-.modal-body {
-  position: relative;
-  max-height: 400px;
-  padding: 15px;
-  overflow-y: auto;
-}
-
-.modal-form {
-  margin-bottom: 0;
-}
-
-.modal-footer {
-  padding: 14px 15px 15px;
-  margin-bottom: 0;
-  text-align: right;
-  background-color: #f5f5f5;
-  border-top: 1px solid #ddd;
-  -webkit-border-radius: 0 0 6px 6px;
-     -moz-border-radius: 0 0 6px 6px;
-          border-radius: 0 0 6px 6px;
-  *zoom: 1;
-  -webkit-box-shadow: inset 0 1px 0 #ffffff;
-     -moz-box-shadow: inset 0 1px 0 #ffffff;
-          box-shadow: inset 0 1px 0 #ffffff;
-}
-
-.modal-footer:before,
-.modal-footer:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.modal-footer:after {
-  clear: both;
-}
-
-.modal-footer .btn + .btn {
-  margin-bottom: 0;
-  margin-left: 5px;
-}
-
-.modal-footer .btn-group .btn + .btn {
-  margin-left: -1px;
-}
-
-.modal-footer .btn-block + .btn-block {
-  margin-left: 0;
-}
-
-.tooltip {
-  position: absolute;
-  z-index: 1030;
-  display: block;
-  padding: 5px;
-  font-size: 11px;
-  opacity: 0;
-  filter: alpha(opacity=0);
-  visibility: visible;
-}
-
-.tooltip.in {
-  opacity: 0.8;
-  filter: alpha(opacity=80);
-}
-
-.tooltip.top {
-  margin-top: -3px;
-}
-
-.tooltip.right {
-  margin-left: 3px;
-}
-
-.tooltip.bottom {
-  margin-top: 3px;
-}
-
-.tooltip.left {
-  margin-left: -3px;
-}
-
-.tooltip-inner {
-  max-width: 200px;
-  padding: 3px 8px;
-  color: #ffffff;
-  text-align: center;
-  text-decoration: none;
-  background-color: #000000;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.tooltip-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-
-.tooltip.top .tooltip-arrow {
-  bottom: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-top-color: #000000;
-  border-width: 5px 5px 0;
-}
-
-.tooltip.right .tooltip-arrow {
-  top: 50%;
-  left: 0;
-  margin-top: -5px;
-  border-right-color: #000000;
-  border-width: 5px 5px 5px 0;
-}
-
-.tooltip.left .tooltip-arrow {
-  top: 50%;
-  right: 0;
-  margin-top: -5px;
-  border-left-color: #000000;
-  border-width: 5px 0 5px 5px;
-}
-
-.tooltip.bottom .tooltip-arrow {
-  top: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-bottom-color: #000000;
-  border-width: 0 5px 5px;
-}
-
-.popover {
-  position: absolute;
-  top: 0;
-  left: 0;
-  z-index: 1010;
-  display: none;
-  width: 236px;
-  padding: 1px;
-  text-align: left;
-  white-space: normal;
-  background-color: #ffffff;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  -webkit-background-clip: padding-box;
-     -moz-background-clip: padding;
-          background-clip: padding-box;
-}
-
-.popover.top {
-  margin-top: -10px;
-}
-
-.popover.right {
-  margin-left: 10px;
-}
-
-.popover.bottom {
-  margin-top: 10px;
-}
-
-.popover.left {
-  margin-left: -10px;
-}
-
-.popover-title {
-  padding: 8px 14px;
-  margin: 0;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 18px;
-  background-color: #f7f7f7;
-  border-bottom: 1px solid #ebebeb;
-  -webkit-border-radius: 5px 5px 0 0;
-     -moz-border-radius: 5px 5px 0 0;
-          border-radius: 5px 5px 0 0;
-}
-
-.popover-content {
-  padding: 9px 14px;
-}
-
-.popover .arrow,
-.popover .arrow:after {
-  position: absolute;
-  display: block;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-
-.popover .arrow {
-  border-width: 11px;
-}
-
-.popover .arrow:after {
-  border-width: 10px;
-  content: "";
-}
-
-.popover.top .arrow {
-  bottom: -11px;
-  left: 50%;
-  margin-left: -11px;
-  border-top-color: #999;
-  border-top-color: rgba(0, 0, 0, 0.25);
-  border-bottom-width: 0;
-}
-
-.popover.top .arrow:after {
-  bottom: 1px;
-  margin-left: -10px;
-  border-top-color: #ffffff;
-  border-bottom-width: 0;
-}
-
-.popover.right .arrow {
-  top: 50%;
-  left: -11px;
-  margin-top: -11px;
-  border-right-color: #999;
-  border-right-color: rgba(0, 0, 0, 0.25);
-  border-left-width: 0;
-}
-
-.popover.right .arrow:after {
-  bottom: -10px;
-  left: 1px;
-  border-right-color: #ffffff;
-  border-left-width: 0;
-}
-
-.popover.bottom .arrow {
-  top: -11px;
-  left: 50%;
-  margin-left: -11px;
-  border-bottom-color: #999;
-  border-bottom-color: rgba(0, 0, 0, 0.25);
-  border-top-width: 0;
-}
-
-.popover.bottom .arrow:after {
-  top: 1px;
-  margin-left: -10px;
-  border-bottom-color: #ffffff;
-  border-top-width: 0;
-}
-
-.popover.left .arrow {
-  top: 50%;
-  right: -11px;
-  margin-top: -11px;
-  border-left-color: #999;
-  border-left-color: rgba(0, 0, 0, 0.25);
-  border-right-width: 0;
-}
-
-.popover.left .arrow:after {
-  right: 1px;
-  bottom: -10px;
-  border-left-color: #ffffff;
-  border-right-width: 0;
-}
-
-.thumbnails {
-  margin-left: -20px;
-  list-style: none;
-  *zoom: 1;
-}
-
-.thumbnails:before,
-.thumbnails:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.thumbnails:after {
-  clear: both;
-}
-
-.row-fluid .thumbnails {
-  margin-left: 0;
-}
-
-.thumbnails > li {
-  float: left;
-  margin-bottom: 20px;
-  margin-left: 20px;
-}
-
-.thumbnail {
-  display: block;
-  padding: 4px;
-  line-height: 20px;
-  border: 1px solid #ddd;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
-     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
-          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
-  -webkit-transition: all 0.2s ease-in-out;
-     -moz-transition: all 0.2s ease-in-out;
-       -o-transition: all 0.2s ease-in-out;
-          transition: all 0.2s ease-in-out;
-}
-
-a.thumbnail:hover {
-  border-color: #0088cc;
-  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
-     -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
-          box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
-}
-
-.thumbnail > img {
-  display: block;
-  max-width: 100%;
-  margin-right: auto;
-  margin-left: auto;
-}
-
-.thumbnail .caption {
-  padding: 9px;
-  color: #555555;
-}
-
-.media,
-.media-body {
-  overflow: hidden;
-  *overflow: visible;
-  zoom: 1;
-}
-
-.media,
-.media .media {
-  margin-top: 15px;
-}
-
-.media:first-child {
-  margin-top: 0;
-}
-
-.media-object {
-  display: block;
-}
-
-.media-heading {
-  margin: 0 0 5px;
-}
-
-.media .pull-left {
-  margin-right: 10px;
-}
-
-.media .pull-right {
-  margin-left: 10px;
-}
-
-.media-list {
-  margin-left: 0;
-  list-style: none;
-}
-
-.label,
-.badge {
-  display: inline-block;
-  padding: 2px 4px;
-  font-size: 11.844px;
-  font-weight: bold;
-  line-height: 14px;
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  white-space: nowrap;
-  vertical-align: baseline;
-  background-color: #999999;
-}
-
-.label {
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-}
-
-.badge {
-  padding-right: 9px;
-  padding-left: 9px;
-  -webkit-border-radius: 9px;
-     -moz-border-radius: 9px;
-          border-radius: 9px;
-}
-
-.label:empty,
-.badge:empty {
-  display: none;
-}
-
-a.label:hover,
-a.badge:hover {
-  color: #ffffff;
-  text-decoration: none;
-  cursor: pointer;
-}
-
-.label-important,
-.badge-important {
-  background-color: #b94a48;
-}
-
-.label-important[href],
-.badge-important[href] {
-  background-color: #953b39;
-}
-
-.label-warning,
-.badge-warning {
-  background-color: #f89406;
-}
-
-.label-warning[href],
-.badge-warning[href] {
-  background-color: #c67605;
-}
-
-.label-success,
-.badge-success {
-  background-color: #468847;
-}
-
-.label-success[href],
-.badge-success[href] {
-  background-color: #356635;
-}
-
-.label-info,
-.badge-info {
-  background-color: #3a87ad;
-}
-
-.label-info[href],
-.badge-info[href] {
-  background-color: #2d6987;
-}
-
-.label-inverse,
-.badge-inverse {
-  background-color: #333333;
-}
-
-.label-inverse[href],
-.badge-inverse[href] {
-  background-color: #1a1a1a;
-}
-
-.btn .label,
-.btn .badge {
-  position: relative;
-  top: -1px;
-}
-
-.btn-mini .label,
-.btn-mini .badge {
-  top: 0;
-}
-
-@-webkit-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-
-@-moz-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-
-@-ms-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-
-@-o-keyframes progress-bar-stripes {
-  from {
-    background-position: 0 0;
-  }
-  to {
-    background-position: 40px 0;
-  }
-}
-
-@keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-
-.progress {
-  height: 20px;
-  margin-bottom: 20px;
-  overflow: hidden;
-  background-color: #f7f7f7;
-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
-  background-repeat: repeat-x;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-}
-
-.progress .bar {
-  float: left;
-  width: 0;
-  height: 100%;
-  font-size: 12px;
-  color: #ffffff;
-  text-align: center;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #0e90d2;
-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
-  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
-  background-image: -o-linear-gradient(top, #149bdf, #0480be);
-  background-image: linear-gradient(to bottom, #149bdf, #0480be);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-     -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-  -webkit-transition: width 0.6s ease;
-     -moz-transition: width 0.6s ease;
-       -o-transition: width 0.6s ease;
-          transition: width 0.6s ease;
-}
-
-.progress .bar + .bar {
-  -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-     -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-          box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-}
-
-.progress-striped .bar {
-  background-color: #149bdf;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  -webkit-background-size: 40px 40px;
-     -moz-background-size: 40px 40px;
-       -o-background-size: 40px 40px;
-          background-size: 40px 40px;
-}
-
-.progress.active .bar {
-  -webkit-animation: progress-bar-stripes 2s linear infinite;
-     -moz-animation: progress-bar-stripes 2s linear infinite;
-      -ms-animation: progress-bar-stripes 2s linear infinite;
-       -o-animation: progress-bar-stripes 2s linear infinite;
-          animation: progress-bar-stripes 2s linear infinite;
-}
-
-.progress-danger .bar,
-.progress .bar-danger {
-  background-color: #dd514c;
-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
-}
-
-.progress-danger.progress-striped .bar,
-.progress-striped .bar-danger {
-  background-color: #ee5f5b;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-
-.progress-success .bar,
-.progress .bar-success {
-  background-color: #5eb95e;
-  background-image: -moz-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
-  background-image: -o-linear-gradient(top, #62c462, #57a957);
-  background-image: linear-gradient(to bottom, #62c462, #57a957);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
-}
-
-.progress-success.progress-striped .bar,
-.progress-striped .bar-success {
-  background-color: #62c462;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-
-.progress-info .bar,
-.progress .bar-info {
-  background-color: #4bb1cf;
-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
-}
-
-.progress-info.progress-striped .bar,
-.progress-striped .bar-info {
-  background-color: #5bc0de;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-
-.progress-warning .bar,
-.progress .bar-warning {
-  background-color: #faa732;
-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
-  background-image: -o-linear-gradient(top, #fbb450, #f89406);
-  background-image: linear-gradient(to bottom, #fbb450, #f89406);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
-}
-
-.progress-warning.progress-striped .bar,
-.progress-striped .bar-warning {
-  background-color: #fbb450;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-
-.accordion {
-  margin-bottom: 20px;
-}
-
-.accordion-group {
-  margin-bottom: 2px;
-  border: 1px solid #e5e5e5;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.accordion-heading {
-  border-bottom: 0;
-}
-
-.accordion-heading .accordion-toggle {
-  display: block;
-  padding: 8px 15px;
-}
-
-.accordion-toggle {
-  cursor: pointer;
-}
-
-.accordion-inner {
-  padding: 9px 15px;
-  border-top: 1px solid #e5e5e5;
-}
-
-.carousel {
-  position: relative;
-  margin-bottom: 20px;
-  line-height: 1;
-}
-
-.carousel-inner {
-  position: relative;
-  width: 100%;
-  overflow: hidden;
-}
-
-.carousel-inner > .item {
-  position: relative;
-  display: none;
-  -webkit-transition: 0.6s ease-in-out left;
-     -moz-transition: 0.6s ease-in-out left;
-       -o-transition: 0.6s ease-in-out left;
-          transition: 0.6s ease-in-out left;
-}
-
-.carousel-inner > .item > img {
-  display: block;
-  line-height: 1;
-}
-
-.carousel-inner > .active,
-.carousel-inner > .next,
-.carousel-inner > .prev {
-  display: block;
-}
-
-.carousel-inner > .active {
-  left: 0;
-}
-
-.carousel-inner > .next,
-.carousel-inner > .prev {
-  position: absolute;
-  top: 0;
-  width: 100%;
-}
-
-.carousel-inner > .next {
-  left: 100%;
-}
-
-.carousel-inner > .prev {
-  left: -100%;
-}
-
-.carousel-inner > .next.left,
-.carousel-inner > .prev.right {
-  left: 0;
-}
-
-.carousel-inner > .active.left {
-  left: -100%;
-}
-
-.carousel-inner > .active.right {
-  left: 100%;
-}
-
-.carousel-control {
-  position: absolute;
-  top: 40%;
-  left: 15px;
-  width: 40px;
-  height: 40px;
-  margin-top: -20px;
-  font-size: 60px;
-  font-weight: 100;
-  line-height: 30px;
-  color: #ffffff;
-  text-align: center;
-  background: #222222;
-  border: 3px solid #ffffff;
-  -webkit-border-radius: 23px;
-     -moz-border-radius: 23px;
-          border-radius: 23px;
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-}
-
-.carousel-control.right {
-  right: 15px;
-  left: auto;
-}
-
-.carousel-control:hover {
-  color: #ffffff;
-  text-decoration: none;
-  opacity: 0.9;
-  filter: alpha(opacity=90);
-}
-
-.carousel-caption {
-  position: absolute;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  padding: 15px;
-  background: #333333;
-  background: rgba(0, 0, 0, 0.75);
-}
-
-.carousel-caption h4,
-.carousel-caption p {
-  line-height: 20px;
-  color: #ffffff;
-}
-
-.carousel-caption h4 {
-  margin: 0 0 5px;
-}
-
-.carousel-caption p {
-  margin-bottom: 0;
-}
-
-.hero-unit {
-  padding: 60px;
-  margin-bottom: 30px;
-  font-size: 18px;
-  font-weight: 200;
-  line-height: 30px;
-  color: inherit;
-  background-color: #eeeeee;
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-}
-
-.hero-unit h1 {
-  margin-bottom: 0;
-  font-size: 60px;
-  line-height: 1;
-  letter-spacing: -1px;
-  color: inherit;
-}
-
-.hero-unit li {
-  line-height: 30px;
-}
-
-.pull-right {
-  float: right;
-}
-
-.pull-left {
-  float: left;
-}
-
-.hide {
-  display: none;
-}
-
-.show {
-  display: block;
-}
-
-.invisible {
-  visibility: hidden;
-}
-
-.affix {
-  position: fixed;
-}
diff --git a/source/bootstrap-2.2.2/css/bootstrap.min.css b/source/bootstrap-2.2.2/css/bootstrap.min.css
deleted file mode 100644 (file)
index 140f731..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap v2.2.2
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover{color:#808080}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media .pull-left{margin-right:10px}.media .pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}
diff --git a/source/bootstrap-2.2.2/img/glyphicons-halflings-white.png b/source/bootstrap-2.2.2/img/glyphicons-halflings-white.png
deleted file mode 100644 (file)
index 3bf6484..0000000
Binary files a/source/bootstrap-2.2.2/img/glyphicons-halflings-white.png and /dev/null differ
diff --git a/source/bootstrap-2.2.2/img/glyphicons-halflings.png b/source/bootstrap-2.2.2/img/glyphicons-halflings.png
deleted file mode 100644 (file)
index a996999..0000000
Binary files a/source/bootstrap-2.2.2/img/glyphicons-halflings.png and /dev/null differ
diff --git a/source/bootstrap-2.2.2/js/bootstrap.js b/source/bootstrap-2.2.2/js/bootstrap.js
deleted file mode 100644 (file)
index 6c15a58..0000000
+++ /dev/null
@@ -1,2159 +0,0 @@
-/* ===================================================
- * bootstrap-transition.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#transitions
- * ===================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
-  /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
-   * ======================================================= */
-
-  $(function () {
-
-    $.support.transition = (function () {
-
-      var transitionEnd = (function () {
-
-        var el = document.createElement('bootstrap')
-          , transEndEventNames = {
-               'WebkitTransition' : 'webkitTransitionEnd'
-            ,  'MozTransition'    : 'transitionend'
-            ,  'OTransition'      : 'oTransitionEnd otransitionend'
-            ,  'transition'       : 'transitionend'
-            }
-          , name
-
-        for (name in transEndEventNames){
-          if (el.style[name] !== undefined) {
-            return transEndEventNames[name]
-          }
-        }
-
-      }())
-
-      return transitionEnd && {
-        end: transitionEnd
-      }
-
-    })()
-
-  })
-
-}(window.jQuery);/* ==========================================================
- * bootstrap-alert.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#alerts
- * ==========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* ALERT CLASS DEFINITION
-  * ====================== */
-
-  var dismiss = '[data-dismiss="alert"]'
-    , Alert = function (el) {
-        $(el).on('click', dismiss, this.close)
-      }
-
-  Alert.prototype.close = function (e) {
-    var $this = $(this)
-      , selector = $this.attr('data-target')
-      , $parent
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
-    }
-
-    $parent = $(selector)
-
-    e && e.preventDefault()
-
-    $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
-
-    $parent.trigger(e = $.Event('close'))
-
-    if (e.isDefaultPrevented()) return
-
-    $parent.removeClass('in')
-
-    function removeElement() {
-      $parent
-        .trigger('closed')
-        .remove()
-    }
-
-    $.support.transition && $parent.hasClass('fade') ?
-      $parent.on($.support.transition.end, removeElement) :
-      removeElement()
-  }
-
-
- /* ALERT PLUGIN DEFINITION
-  * ======================= */
-
-  var old = $.fn.alert
-
-  $.fn.alert = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('alert')
-      if (!data) $this.data('alert', (data = new Alert(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
-
-  $.fn.alert.Constructor = Alert
-
-
- /* ALERT NO CONFLICT
-  * ================= */
-
-  $.fn.alert.noConflict = function () {
-    $.fn.alert = old
-    return this
-  }
-
-
- /* ALERT DATA-API
-  * ============== */
-
-  $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
-
-}(window.jQuery);/* ============================================================
- * bootstrap-button.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#buttons
- * ============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* BUTTON PUBLIC CLASS DEFINITION
-  * ============================== */
-
-  var Button = function (element, options) {
-    this.$element = $(element)
-    this.options = $.extend({}, $.fn.button.defaults, options)
-  }
-
-  Button.prototype.setState = function (state) {
-    var d = 'disabled'
-      , $el = this.$element
-      , data = $el.data()
-      , val = $el.is('input') ? 'val' : 'html'
-
-    state = state + 'Text'
-    data.resetText || $el.data('resetText', $el[val]())
-
-    $el[val](data[state] || this.options[state])
-
-    // push to event loop to allow forms to submit
-    setTimeout(function () {
-      state == 'loadingText' ?
-        $el.addClass(d).attr(d, d) :
-        $el.removeClass(d).removeAttr(d)
-    }, 0)
-  }
-
-  Button.prototype.toggle = function () {
-    var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
-
-    $parent && $parent
-      .find('.active')
-      .removeClass('active')
-
-    this.$element.toggleClass('active')
-  }
-
-
- /* BUTTON PLUGIN DEFINITION
-  * ======================== */
-
-  var old = $.fn.button
-
-  $.fn.button = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('button')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('button', (data = new Button(this, options)))
-      if (option == 'toggle') data.toggle()
-      else if (option) data.setState(option)
-    })
-  }
-
-  $.fn.button.defaults = {
-    loadingText: 'loading...'
-  }
-
-  $.fn.button.Constructor = Button
-
-
- /* BUTTON NO CONFLICT
-  * ================== */
-
-  $.fn.button.noConflict = function () {
-    $.fn.button = old
-    return this
-  }
-
-
- /* BUTTON DATA-API
-  * =============== */
-
-  $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
-    var $btn = $(e.target)
-    if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
-    $btn.button('toggle')
-  })
-
-}(window.jQuery);/* ==========================================================
- * bootstrap-carousel.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#carousel
- * ==========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* CAROUSEL CLASS DEFINITION
-  * ========================= */
-
-  var Carousel = function (element, options) {
-    this.$element = $(element)
-    this.options = options
-    this.options.pause == 'hover' && this.$element
-      .on('mouseenter', $.proxy(this.pause, this))
-      .on('mouseleave', $.proxy(this.cycle, this))
-  }
-
-  Carousel.prototype = {
-
-    cycle: function (e) {
-      if (!e) this.paused = false
-      this.options.interval
-        && !this.paused
-        && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
-      return this
-    }
-
-  , to: function (pos) {
-      var $active = this.$element.find('.item.active')
-        , children = $active.parent().children()
-        , activePos = children.index($active)
-        , that = this
-
-      if (pos > (children.length - 1) || pos < 0) return
-
-      if (this.sliding) {
-        return this.$element.one('slid', function () {
-          that.to(pos)
-        })
-      }
-
-      if (activePos == pos) {
-        return this.pause().cycle()
-      }
-
-      return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
-    }
-
-  , pause: function (e) {
-      if (!e) this.paused = true
-      if (this.$element.find('.next, .prev').length && $.support.transition.end) {
-        this.$element.trigger($.support.transition.end)
-        this.cycle()
-      }
-      clearInterval(this.interval)
-      this.interval = null
-      return this
-    }
-
-  , next: function () {
-      if (this.sliding) return
-      return this.slide('next')
-    }
-
-  , prev: function () {
-      if (this.sliding) return
-      return this.slide('prev')
-    }
-
-  , slide: function (type, next) {
-      var $active = this.$element.find('.item.active')
-        , $next = next || $active[type]()
-        , isCycling = this.interval
-        , direction = type == 'next' ? 'left' : 'right'
-        , fallback  = type == 'next' ? 'first' : 'last'
-        , that = this
-        , e
-
-      this.sliding = true
-
-      isCycling && this.pause()
-
-      $next = $next.length ? $next : this.$element.find('.item')[fallback]()
-
-      e = $.Event('slide', {
-        relatedTarget: $next[0]
-      })
-
-      if ($next.hasClass('active')) return
-
-      if ($.support.transition && this.$element.hasClass('slide')) {
-        this.$element.trigger(e)
-        if (e.isDefaultPrevented()) return
-        $next.addClass(type)
-        $next[0].offsetWidth // force reflow
-        $active.addClass(direction)
-        $next.addClass(direction)
-        this.$element.one($.support.transition.end, function () {
-          $next.removeClass([type, direction].join(' ')).addClass('active')
-          $active.removeClass(['active', direction].join(' '))
-          that.sliding = false
-          setTimeout(function () { that.$element.trigger('slid') }, 0)
-        })
-      } else {
-        this.$element.trigger(e)
-        if (e.isDefaultPrevented()) return
-        $active.removeClass('active')
-        $next.addClass('active')
-        this.sliding = false
-        this.$element.trigger('slid')
-      }
-
-      isCycling && this.cycle()
-
-      return this
-    }
-
-  }
-
-
- /* CAROUSEL PLUGIN DEFINITION
-  * ========================== */
-
-  var old = $.fn.carousel
-
-  $.fn.carousel = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('carousel')
-        , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
-        , action = typeof option == 'string' ? option : options.slide
-      if (!data) $this.data('carousel', (data = new Carousel(this, options)))
-      if (typeof option == 'number') data.to(option)
-      else if (action) data[action]()
-      else if (options.interval) data.cycle()
-    })
-  }
-
-  $.fn.carousel.defaults = {
-    interval: 5000
-  , pause: 'hover'
-  }
-
-  $.fn.carousel.Constructor = Carousel
-
-
- /* CAROUSEL NO CONFLICT
-  * ==================== */
-
-  $.fn.carousel.noConflict = function () {
-    $.fn.carousel = old
-    return this
-  }
-
- /* CAROUSEL DATA-API
-  * ================= */
-
-  $(document).on('click.carousel.data-api', '[data-slide]', function (e) {
-    var $this = $(this), href
-      , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
-      , options = $.extend({}, $target.data(), $this.data())
-    $target.carousel(options)
-    e.preventDefault()
-  })
-
-}(window.jQuery);/* =============================================================
- * bootstrap-collapse.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#collapse
- * =============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* COLLAPSE PUBLIC CLASS DEFINITION
-  * ================================ */
-
-  var Collapse = function (element, options) {
-    this.$element = $(element)
-    this.options = $.extend({}, $.fn.collapse.defaults, options)
-
-    if (this.options.parent) {
-      this.$parent = $(this.options.parent)
-    }
-
-    this.options.toggle && this.toggle()
-  }
-
-  Collapse.prototype = {
-
-    constructor: Collapse
-
-  , dimension: function () {
-      var hasWidth = this.$element.hasClass('width')
-      return hasWidth ? 'width' : 'height'
-    }
-
-  , show: function () {
-      var dimension
-        , scroll
-        , actives
-        , hasData
-
-      if (this.transitioning) return
-
-      dimension = this.dimension()
-      scroll = $.camelCase(['scroll', dimension].join('-'))
-      actives = this.$parent && this.$parent.find('> .accordion-group > .in')
-
-      if (actives && actives.length) {
-        hasData = actives.data('collapse')
-        if (hasData && hasData.transitioning) return
-        actives.collapse('hide')
-        hasData || actives.data('collapse', null)
-      }
-
-      this.$element[dimension](0)
-      this.transition('addClass', $.Event('show'), 'shown')
-      $.support.transition && this.$element[dimension](this.$element[0][scroll])
-    }
-
-  , hide: function () {
-      var dimension
-      if (this.transitioning) return
-      dimension = this.dimension()
-      this.reset(this.$element[dimension]())
-      this.transition('removeClass', $.Event('hide'), 'hidden')
-      this.$element[dimension](0)
-    }
-
-  , reset: function (size) {
-      var dimension = this.dimension()
-
-      this.$element
-        .removeClass('collapse')
-        [dimension](size || 'auto')
-        [0].offsetWidth
-
-      this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
-
-      return this
-    }
-
-  , transition: function (method, startEvent, completeEvent) {
-      var that = this
-        , complete = function () {
-            if (startEvent.type == 'show') that.reset()
-            that.transitioning = 0
-            that.$element.trigger(completeEvent)
-          }
-
-      this.$element.trigger(startEvent)
-
-      if (startEvent.isDefaultPrevented()) return
-
-      this.transitioning = 1
-
-      this.$element[method]('in')
-
-      $.support.transition && this.$element.hasClass('collapse') ?
-        this.$element.one($.support.transition.end, complete) :
-        complete()
-    }
-
-  , toggle: function () {
-      this[this.$element.hasClass('in') ? 'hide' : 'show']()
-    }
-
-  }
-
-
- /* COLLAPSE PLUGIN DEFINITION
-  * ========================== */
-
-  var old = $.fn.collapse
-
-  $.fn.collapse = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('collapse')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('collapse', (data = new Collapse(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.collapse.defaults = {
-    toggle: true
-  }
-
-  $.fn.collapse.Constructor = Collapse
-
-
- /* COLLAPSE NO CONFLICT
-  * ==================== */
-
-  $.fn.collapse.noConflict = function () {
-    $.fn.collapse = old
-    return this
-  }
-
-
- /* COLLAPSE DATA-API
-  * ================= */
-
-  $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
-    var $this = $(this), href
-      , target = $this.attr('data-target')
-        || e.preventDefault()
-        || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
-      , option = $(target).data('collapse') ? 'toggle' : $this.data()
-    $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
-    $(target).collapse(option)
-  })
-
-}(window.jQuery);/* ============================================================
- * bootstrap-dropdown.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#dropdowns
- * ============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* DROPDOWN CLASS DEFINITION
-  * ========================= */
-
-  var toggle = '[data-toggle=dropdown]'
-    , Dropdown = function (element) {
-        var $el = $(element).on('click.dropdown.data-api', this.toggle)
-        $('html').on('click.dropdown.data-api', function () {
-          $el.parent().removeClass('open')
-        })
-      }
-
-  Dropdown.prototype = {
-
-    constructor: Dropdown
-
-  , toggle: function (e) {
-      var $this = $(this)
-        , $parent
-        , isActive
-
-      if ($this.is('.disabled, :disabled')) return
-
-      $parent = getParent($this)
-
-      isActive = $parent.hasClass('open')
-
-      clearMenus()
-
-      if (!isActive) {
-        $parent.toggleClass('open')
-      }
-
-      $this.focus()
-
-      return false
-    }
-
-  , keydown: function (e) {
-      var $this
-        , $items
-        , $active
-        , $parent
-        , isActive
-        , index
-
-      if (!/(38|40|27)/.test(e.keyCode)) return
-
-      $this = $(this)
-
-      e.preventDefault()
-      e.stopPropagation()
-
-      if ($this.is('.disabled, :disabled')) return
-
-      $parent = getParent($this)
-
-      isActive = $parent.hasClass('open')
-
-      if (!isActive || (isActive && e.keyCode == 27)) return $this.click()
-
-      $items = $('[role=menu] li:not(.divider):visible a', $parent)
-
-      if (!$items.length) return
-
-      index = $items.index($items.filter(':focus'))
-
-      if (e.keyCode == 38 && index > 0) index--                                        // up
-      if (e.keyCode == 40 && index < $items.length - 1) index++                        // down
-      if (!~index) index = 0
-
-      $items
-        .eq(index)
-        .focus()
-    }
-
-  }
-
-  function clearMenus() {
-    $(toggle).each(function () {
-      getParent($(this)).removeClass('open')
-    })
-  }
-
-  function getParent($this) {
-    var selector = $this.attr('data-target')
-      , $parent
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
-    }
-
-    $parent = $(selector)
-    $parent.length || ($parent = $this.parent())
-
-    return $parent
-  }
-
-
-  /* DROPDOWN PLUGIN DEFINITION
-   * ========================== */
-
-  var old = $.fn.dropdown
-
-  $.fn.dropdown = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('dropdown')
-      if (!data) $this.data('dropdown', (data = new Dropdown(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
-
-  $.fn.dropdown.Constructor = Dropdown
-
-
- /* DROPDOWN NO CONFLICT
-  * ==================== */
-
-  $.fn.dropdown.noConflict = function () {
-    $.fn.dropdown = old
-    return this
-  }
-
-
-  /* APPLY TO STANDARD DROPDOWN ELEMENTS
-   * =================================== */
-
-  $(document)
-    .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
-    .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
-    .on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() })
-    .on('click.dropdown.data-api touchstart.dropdown.data-api'  , toggle, Dropdown.prototype.toggle)
-    .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
-
-}(window.jQuery);/* =========================================================
- * bootstrap-modal.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#modals
- * =========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================= */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* MODAL CLASS DEFINITION
-  * ====================== */
-
-  var Modal = function (element, options) {
-    this.options = options
-    this.$element = $(element)
-      .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
-    this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
-  }
-
-  Modal.prototype = {
-
-      constructor: Modal
-
-    , toggle: function () {
-        return this[!this.isShown ? 'show' : 'hide']()
-      }
-
-    , show: function () {
-        var that = this
-          , e = $.Event('show')
-
-        this.$element.trigger(e)
-
-        if (this.isShown || e.isDefaultPrevented()) return
-
-        this.isShown = true
-
-        this.escape()
-
-        this.backdrop(function () {
-          var transition = $.support.transition && that.$element.hasClass('fade')
-
-          if (!that.$element.parent().length) {
-            that.$element.appendTo(document.body) //don't move modals dom position
-          }
-
-          that.$element
-            .show()
-
-          if (transition) {
-            that.$element[0].offsetWidth // force reflow
-          }
-
-          that.$element
-            .addClass('in')
-            .attr('aria-hidden', false)
-
-          that.enforceFocus()
-
-          transition ?
-            that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
-            that.$element.focus().trigger('shown')
-
-        })
-      }
-
-    , hide: function (e) {
-        e && e.preventDefault()
-
-        var that = this
-
-        e = $.Event('hide')
-
-        this.$element.trigger(e)
-
-        if (!this.isShown || e.isDefaultPrevented()) return
-
-        this.isShown = false
-
-        this.escape()
-
-        $(document).off('focusin.modal')
-
-        this.$element
-          .removeClass('in')
-          .attr('aria-hidden', true)
-
-        $.support.transition && this.$element.hasClass('fade') ?
-          this.hideWithTransition() :
-          this.hideModal()
-      }
-
-    , enforceFocus: function () {
-        var that = this
-        $(document).on('focusin.modal', function (e) {
-          if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
-            that.$element.focus()
-          }
-        })
-      }
-
-    , escape: function () {
-        var that = this
-        if (this.isShown && this.options.keyboard) {
-          this.$element.on('keyup.dismiss.modal', function ( e ) {
-            e.which == 27 && that.hide()
-          })
-        } else if (!this.isShown) {
-          this.$element.off('keyup.dismiss.modal')
-        }
-      }
-
-    , hideWithTransition: function () {
-        var that = this
-          , timeout = setTimeout(function () {
-              that.$element.off($.support.transition.end)
-              that.hideModal()
-            }, 500)
-
-        this.$element.one($.support.transition.end, function () {
-          clearTimeout(timeout)
-          that.hideModal()
-        })
-      }
-
-    , hideModal: function (that) {
-        this.$element
-          .hide()
-          .trigger('hidden')
-
-        this.backdrop()
-      }
-
-    , removeBackdrop: function () {
-        this.$backdrop.remove()
-        this.$backdrop = null
-      }
-
-    , backdrop: function (callback) {
-        var that = this
-          , animate = this.$element.hasClass('fade') ? 'fade' : ''
-
-        if (this.isShown && this.options.backdrop) {
-          var doAnimate = $.support.transition && animate
-
-          this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
-            .appendTo(document.body)
-
-          this.$backdrop.click(
-            this.options.backdrop == 'static' ?
-              $.proxy(this.$element[0].focus, this.$element[0])
-            : $.proxy(this.hide, this)
-          )
-
-          if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
-
-          this.$backdrop.addClass('in')
-
-          doAnimate ?
-            this.$backdrop.one($.support.transition.end, callback) :
-            callback()
-
-        } else if (!this.isShown && this.$backdrop) {
-          this.$backdrop.removeClass('in')
-
-          $.support.transition && this.$element.hasClass('fade')?
-            this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) :
-            this.removeBackdrop()
-
-        } else if (callback) {
-          callback()
-        }
-      }
-  }
-
-
- /* MODAL PLUGIN DEFINITION
-  * ======================= */
-
-  var old = $.fn.modal
-
-  $.fn.modal = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('modal')
-        , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
-      if (!data) $this.data('modal', (data = new Modal(this, options)))
-      if (typeof option == 'string') data[option]()
-      else if (options.show) data.show()
-    })
-  }
-
-  $.fn.modal.defaults = {
-      backdrop: true
-    , keyboard: true
-    , show: true
-  }
-
-  $.fn.modal.Constructor = Modal
-
-
- /* MODAL NO CONFLICT
-  * ================= */
-
-  $.fn.modal.noConflict = function () {
-    $.fn.modal = old
-    return this
-  }
-
-
- /* MODAL DATA-API
-  * ============== */
-
-  $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
-    var $this = $(this)
-      , href = $this.attr('href')
-      , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
-      , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
-
-    e.preventDefault()
-
-    $target
-      .modal(option)
-      .one('hide', function () {
-        $this.focus()
-      })
-  })
-
-}(window.jQuery);
-/* ===========================================================
- * bootstrap-tooltip.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#tooltips
- * Inspired by the original jQuery.tipsy by Jason Frame
- * ===========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* TOOLTIP PUBLIC CLASS DEFINITION
-  * =============================== */
-
-  var Tooltip = function (element, options) {
-    this.init('tooltip', element, options)
-  }
-
-  Tooltip.prototype = {
-
-    constructor: Tooltip
-
-  , init: function (type, element, options) {
-      var eventIn
-        , eventOut
-
-      this.type = type
-      this.$element = $(element)
-      this.options = this.getOptions(options)
-      this.enabled = true
-
-      if (this.options.trigger == 'click') {
-        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
-      } else if (this.options.trigger != 'manual') {
-        eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
-        eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
-        this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
-        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
-      }
-
-      this.options.selector ?
-        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
-        this.fixTitle()
-    }
-
-  , getOptions: function (options) {
-      options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
-
-      if (options.delay && typeof options.delay == 'number') {
-        options.delay = {
-          show: options.delay
-        , hide: options.delay
-        }
-      }
-
-      return options
-    }
-
-  , enter: function (e) {
-      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
-
-      if (!self.options.delay || !self.options.delay.show) return self.show()
-
-      clearTimeout(this.timeout)
-      self.hoverState = 'in'
-      this.timeout = setTimeout(function() {
-        if (self.hoverState == 'in') self.show()
-      }, self.options.delay.show)
-    }
-
-  , leave: function (e) {
-      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
-
-      if (this.timeout) clearTimeout(this.timeout)
-      if (!self.options.delay || !self.options.delay.hide) return self.hide()
-
-      self.hoverState = 'out'
-      this.timeout = setTimeout(function() {
-        if (self.hoverState == 'out') self.hide()
-      }, self.options.delay.hide)
-    }
-
-  , show: function () {
-      var $tip
-        , inside
-        , pos
-        , actualWidth
-        , actualHeight
-        , placement
-        , tp
-
-      if (this.hasContent() && this.enabled) {
-        $tip = this.tip()
-        this.setContent()
-
-        if (this.options.animation) {
-          $tip.addClass('fade')
-        }
-
-        placement = typeof this.options.placement == 'function' ?
-          this.options.placement.call(this, $tip[0], this.$element[0]) :
-          this.options.placement
-
-        inside = /in/.test(placement)
-
-        $tip
-          .detach()
-          .css({ top: 0, left: 0, display: 'block' })
-          .insertAfter(this.$element)
-
-        pos = this.getPosition(inside)
-
-        actualWidth = $tip[0].offsetWidth
-        actualHeight = $tip[0].offsetHeight
-
-        switch (inside ? placement.split(' ')[1] : placement) {
-          case 'bottom':
-            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
-            break
-          case 'top':
-            tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
-            break
-          case 'left':
-            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
-            break
-          case 'right':
-            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
-            break
-        }
-
-        $tip
-          .offset(tp)
-          .addClass(placement)
-          .addClass('in')
-      }
-    }
-
-  , setContent: function () {
-      var $tip = this.tip()
-        , title = this.getTitle()
-
-      $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
-      $tip.removeClass('fade in top bottom left right')
-    }
-
-  , hide: function () {
-      var that = this
-        , $tip = this.tip()
-
-      $tip.removeClass('in')
-
-      function removeWithAnimation() {
-        var timeout = setTimeout(function () {
-          $tip.off($.support.transition.end).detach()
-        }, 500)
-
-        $tip.one($.support.transition.end, function () {
-          clearTimeout(timeout)
-          $tip.detach()
-        })
-      }
-
-      $.support.transition && this.$tip.hasClass('fade') ?
-        removeWithAnimation() :
-        $tip.detach()
-
-      return this
-    }
-
-  , fixTitle: function () {
-      var $e = this.$element
-      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
-        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
-      }
-    }
-
-  , hasContent: function () {
-      return this.getTitle()
-    }
-
-  , getPosition: function (inside) {
-      return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
-        width: this.$element[0].offsetWidth
-      , height: this.$element[0].offsetHeight
-      })
-    }
-
-  , getTitle: function () {
-      var title
-        , $e = this.$element
-        , o = this.options
-
-      title = $e.attr('data-original-title')
-        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
-
-      return title
-    }
-
-  , tip: function () {
-      return this.$tip = this.$tip || $(this.options.template)
-    }
-
-  , validate: function () {
-      if (!this.$element[0].parentNode) {
-        this.hide()
-        this.$element = null
-        this.options = null
-      }
-    }
-
-  , enable: function () {
-      this.enabled = true
-    }
-
-  , disable: function () {
-      this.enabled = false
-    }
-
-  , toggleEnabled: function () {
-      this.enabled = !this.enabled
-    }
-
-  , toggle: function (e) {
-      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
-      self[self.tip().hasClass('in') ? 'hide' : 'show']()
-    }
-
-  , destroy: function () {
-      this.hide().$element.off('.' + this.type).removeData(this.type)
-    }
-
-  }
-
-
- /* TOOLTIP PLUGIN DEFINITION
-  * ========================= */
-
-  var old = $.fn.tooltip
-
-  $.fn.tooltip = function ( option ) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('tooltip')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.tooltip.Constructor = Tooltip
-
-  $.fn.tooltip.defaults = {
-    animation: true
-  , placement: 'top'
-  , selector: false
-  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
-  , trigger: 'hover'
-  , title: ''
-  , delay: 0
-  , html: false
-  }
-
-
- /* TOOLTIP NO CONFLICT
-  * =================== */
-
-  $.fn.tooltip.noConflict = function () {
-    $.fn.tooltip = old
-    return this
-  }
-
-}(window.jQuery);/* ===========================================================
- * bootstrap-popover.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#popovers
- * ===========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * =========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* POPOVER PUBLIC CLASS DEFINITION
-  * =============================== */
-
-  var Popover = function (element, options) {
-    this.init('popover', element, options)
-  }
-
-
-  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
-     ========================================== */
-
-  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
-
-    constructor: Popover
-
-  , setContent: function () {
-      var $tip = this.tip()
-        , title = this.getTitle()
-        , content = this.getContent()
-
-      $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
-      $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
-
-      $tip.removeClass('fade top bottom left right in')
-    }
-
-  , hasContent: function () {
-      return this.getTitle() || this.getContent()
-    }
-
-  , getContent: function () {
-      var content
-        , $e = this.$element
-        , o = this.options
-
-      content = $e.attr('data-content')
-        || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)
-
-      return content
-    }
-
-  , tip: function () {
-      if (!this.$tip) {
-        this.$tip = $(this.options.template)
-      }
-      return this.$tip
-    }
-
-  , destroy: function () {
-      this.hide().$element.off('.' + this.type).removeData(this.type)
-    }
-
-  })
-
-
- /* POPOVER PLUGIN DEFINITION
-  * ======================= */
-
-  var old = $.fn.popover
-
-  $.fn.popover = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('popover')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('popover', (data = new Popover(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.popover.Constructor = Popover
-
-  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
-    placement: 'right'
-  , trigger: 'click'
-  , content: ''
-  , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'
-  })
-
-
- /* POPOVER NO CONFLICT
-  * =================== */
-
-  $.fn.popover.noConflict = function () {
-    $.fn.popover = old
-    return this
-  }
-
-}(window.jQuery);/* =============================================================
- * bootstrap-scrollspy.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#scrollspy
- * =============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* SCROLLSPY CLASS DEFINITION
-  * ========================== */
-
-  function ScrollSpy(element, options) {
-    var process = $.proxy(this.process, this)
-      , $element = $(element).is('body') ? $(window) : $(element)
-      , href
-    this.options = $.extend({}, $.fn.scrollspy.defaults, options)
-    this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
-    this.selector = (this.options.target
-      || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
-      || '') + ' .nav li > a'
-    this.$body = $('body')
-    this.refresh()
-    this.process()
-  }
-
-  ScrollSpy.prototype = {
-
-      constructor: ScrollSpy
-
-    , refresh: function () {
-        var self = this
-          , $targets
-
-        this.offsets = $([])
-        this.targets = $([])
-
-        $targets = this.$body
-          .find(this.selector)
-          .map(function () {
-            var $el = $(this)
-              , href = $el.data('target') || $el.attr('href')
-              , $href = /^#\w/.test(href) && $(href)
-            return ( $href
-              && $href.length
-              && [[ $href.position().top + self.$scrollElement.scrollTop(), href ]] ) || null
-          })
-          .sort(function (a, b) { return a[0] - b[0] })
-          .each(function () {
-            self.offsets.push(this[0])
-            self.targets.push(this[1])
-          })
-      }
-
-    , process: function () {
-        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
-          , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
-          , maxScroll = scrollHeight - this.$scrollElement.height()
-          , offsets = this.offsets
-          , targets = this.targets
-          , activeTarget = this.activeTarget
-          , i
-
-        if (scrollTop >= maxScroll) {
-          return activeTarget != (i = targets.last()[0])
-            && this.activate ( i )
-        }
-
-        for (i = offsets.length; i--;) {
-          activeTarget != targets[i]
-            && scrollTop >= offsets[i]
-            && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
-            && this.activate( targets[i] )
-        }
-      }
-
-    , activate: function (target) {
-        var active
-          , selector
-
-        this.activeTarget = target
-
-        $(this.selector)
-          .parent('.active')
-          .removeClass('active')
-
-        selector = this.selector
-          + '[data-target="' + target + '"],'
-          + this.selector + '[href="' + target + '"]'
-
-        active = $(selector)
-          .parent('li')
-          .addClass('active')
-
-        if (active.parent('.dropdown-menu').length)  {
-          active = active.closest('li.dropdown').addClass('active')
-        }
-
-        active.trigger('activate')
-      }
-
-  }
-
-
- /* SCROLLSPY PLUGIN DEFINITION
-  * =========================== */
-
-  var old = $.fn.scrollspy
-
-  $.fn.scrollspy = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('scrollspy')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.scrollspy.Constructor = ScrollSpy
-
-  $.fn.scrollspy.defaults = {
-    offset: 10
-  }
-
-
- /* SCROLLSPY NO CONFLICT
-  * ===================== */
-
-  $.fn.scrollspy.noConflict = function () {
-    $.fn.scrollspy = old
-    return this
-  }
-
-
- /* SCROLLSPY DATA-API
-  * ================== */
-
-  $(window).on('load', function () {
-    $('[data-spy="scroll"]').each(function () {
-      var $spy = $(this)
-      $spy.scrollspy($spy.data())
-    })
-  })
-
-}(window.jQuery);/* ========================================================
- * bootstrap-tab.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#tabs
- * ========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* TAB CLASS DEFINITION
-  * ==================== */
-
-  var Tab = function (element) {
-    this.element = $(element)
-  }
-
-  Tab.prototype = {
-
-    constructor: Tab
-
-  , show: function () {
-      var $this = this.element
-        , $ul = $this.closest('ul:not(.dropdown-menu)')
-        , selector = $this.attr('data-target')
-        , previous
-        , $target
-        , e
-
-      if (!selector) {
-        selector = $this.attr('href')
-        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
-      }
-
-      if ( $this.parent('li').hasClass('active') ) return
-
-      previous = $ul.find('.active:last a')[0]
-
-      e = $.Event('show', {
-        relatedTarget: previous
-      })
-
-      $this.trigger(e)
-
-      if (e.isDefaultPrevented()) return
-
-      $target = $(selector)
-
-      this.activate($this.parent('li'), $ul)
-      this.activate($target, $target.parent(), function () {
-        $this.trigger({
-          type: 'shown'
-        , relatedTarget: previous
-        })
-      })
-    }
-
-  , activate: function ( element, container, callback) {
-      var $active = container.find('> .active')
-        , transition = callback
-            && $.support.transition
-            && $active.hasClass('fade')
-
-      function next() {
-        $active
-          .removeClass('active')
-          .find('> .dropdown-menu > .active')
-          .removeClass('active')
-
-        element.addClass('active')
-
-        if (transition) {
-          element[0].offsetWidth // reflow for transition
-          element.addClass('in')
-        } else {
-          element.removeClass('fade')
-        }
-
-        if ( element.parent('.dropdown-menu') ) {
-          element.closest('li.dropdown').addClass('active')
-        }
-
-        callback && callback()
-      }
-
-      transition ?
-        $active.one($.support.transition.end, next) :
-        next()
-
-      $active.removeClass('in')
-    }
-  }
-
-
- /* TAB PLUGIN DEFINITION
-  * ===================== */
-
-  var old = $.fn.tab
-
-  $.fn.tab = function ( option ) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('tab')
-      if (!data) $this.data('tab', (data = new Tab(this)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.tab.Constructor = Tab
-
-
- /* TAB NO CONFLICT
-  * =============== */
-
-  $.fn.tab.noConflict = function () {
-    $.fn.tab = old
-    return this
-  }
-
-
- /* TAB DATA-API
-  * ============ */
-
-  $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
-    e.preventDefault()
-    $(this).tab('show')
-  })
-
-}(window.jQuery);/* =============================================================
- * bootstrap-typeahead.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#typeahead
- * =============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function($){
-
-  "use strict"; // jshint ;_;
-
-
- /* TYPEAHEAD PUBLIC CLASS DEFINITION
-  * ================================= */
-
-  var Typeahead = function (element, options) {
-    this.$element = $(element)
-    this.options = $.extend({}, $.fn.typeahead.defaults, options)
-    this.matcher = this.options.matcher || this.matcher
-    this.sorter = this.options.sorter || this.sorter
-    this.highlighter = this.options.highlighter || this.highlighter
-    this.updater = this.options.updater || this.updater
-    this.source = this.options.source
-    this.$menu = $(this.options.menu)
-    this.shown = false
-    this.listen()
-  }
-
-  Typeahead.prototype = {
-
-    constructor: Typeahead
-
-  , select: function () {
-      var val = this.$menu.find('.active').attr('data-value')
-      this.$element
-        .val(this.updater(val))
-        .change()
-      return this.hide()
-    }
-
-  , updater: function (item) {
-      return item
-    }
-
-  , show: function () {
-      var pos = $.extend({}, this.$element.position(), {
-        height: this.$element[0].offsetHeight
-      })
-
-      this.$menu
-        .insertAfter(this.$element)
-        .css({
-          top: pos.top + pos.height
-        , left: pos.left
-        })
-        .show()
-
-      this.shown = true
-      return this
-    }
-
-  , hide: function () {
-      this.$menu.hide()
-      this.shown = false
-      return this
-    }
-
-  , lookup: function (event) {
-      var items
-
-      this.query = this.$element.val()
-
-      if (!this.query || this.query.length < this.options.minLength) {
-        return this.shown ? this.hide() : this
-      }
-
-      items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
-
-      return items ? this.process(items) : this
-    }
-
-  , process: function (items) {
-      var that = this
-
-      items = $.grep(items, function (item) {
-        return that.matcher(item)
-      })
-
-      items = this.sorter(items)
-
-      if (!items.length) {
-        return this.shown ? this.hide() : this
-      }
-
-      return this.render(items.slice(0, this.options.items)).show()
-    }
-
-  , matcher: function (item) {
-      return ~item.toLowerCase().indexOf(this.query.toLowerCase())
-    }
-
-  , sorter: function (items) {
-      var beginswith = []
-        , caseSensitive = []
-        , caseInsensitive = []
-        , item
-
-      while (item = items.shift()) {
-        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
-        else if (~item.indexOf(this.query)) caseSensitive.push(item)
-        else caseInsensitive.push(item)
-      }
-
-      return beginswith.concat(caseSensitive, caseInsensitive)
-    }
-
-  , highlighter: function (item) {
-      var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
-      return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
-        return '<strong>' + match + '</strong>'
-      })
-    }
-
-  , render: function (items) {
-      var that = this
-
-      items = $(items).map(function (i, item) {
-        i = $(that.options.item).attr('data-value', item)
-        i.find('a').html(that.highlighter(item))
-        return i[0]
-      })
-
-      items.first().addClass('active')
-      this.$menu.html(items)
-      return this
-    }
-
-  , next: function (event) {
-      var active = this.$menu.find('.active').removeClass('active')
-        , next = active.next()
-
-      if (!next.length) {
-        next = $(this.$menu.find('li')[0])
-      }
-
-      next.addClass('active')
-    }
-
-  , prev: function (event) {
-      var active = this.$menu.find('.active').removeClass('active')
-        , prev = active.prev()
-
-      if (!prev.length) {
-        prev = this.$menu.find('li').last()
-      }
-
-      prev.addClass('active')
-    }
-
-  , listen: function () {
-      this.$element
-        .on('blur',     $.proxy(this.blur, this))
-        .on('keypress', $.proxy(this.keypress, this))
-        .on('keyup',    $.proxy(this.keyup, this))
-
-      if (this.eventSupported('keydown')) {
-        this.$element.on('keydown', $.proxy(this.keydown, this))
-      }
-
-      this.$menu
-        .on('click', $.proxy(this.click, this))
-        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
-    }
-
-  , eventSupported: function(eventName) {
-      var isSupported = eventName in this.$element
-      if (!isSupported) {
-        this.$element.setAttribute(eventName, 'return;')
-        isSupported = typeof this.$element[eventName] === 'function'
-      }
-      return isSupported
-    }
-
-  , move: function (e) {
-      if (!this.shown) return
-
-      switch(e.keyCode) {
-        case 9: // tab
-        case 13: // enter
-        case 27: // escape
-          e.preventDefault()
-          break
-
-        case 38: // up arrow
-          e.preventDefault()
-          this.prev()
-          break
-
-        case 40: // down arrow
-          e.preventDefault()
-          this.next()
-          break
-      }
-
-      e.stopPropagation()
-    }
-
-  , keydown: function (e) {
-      this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
-      this.move(e)
-    }
-
-  , keypress: function (e) {
-      if (this.suppressKeyPressRepeat) return
-      this.move(e)
-    }
-
-  , keyup: function (e) {
-      switch(e.keyCode) {
-        case 40: // down arrow
-        case 38: // up arrow
-        case 16: // shift
-        case 17: // ctrl
-        case 18: // alt
-          break
-
-        case 9: // tab
-        case 13: // enter
-          if (!this.shown) return
-          this.select()
-          break
-
-        case 27: // escape
-          if (!this.shown) return
-          this.hide()
-          break
-
-        default:
-          this.lookup()
-      }
-
-      e.stopPropagation()
-      e.preventDefault()
-  }
-
-  , blur: function (e) {
-      var that = this
-      setTimeout(function () { that.hide() }, 150)
-    }
-
-  , click: function (e) {
-      e.stopPropagation()
-      e.preventDefault()
-      this.select()
-    }
-
-  , mouseenter: function (e) {
-      this.$menu.find('.active').removeClass('active')
-      $(e.currentTarget).addClass('active')
-    }
-
-  }
-
-
-  /* TYPEAHEAD PLUGIN DEFINITION
-   * =========================== */
-
-  var old = $.fn.typeahead
-
-  $.fn.typeahead = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('typeahead')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.typeahead.defaults = {
-    source: []
-  , items: 8
-  , menu: '<ul class="typeahead dropdown-menu"></ul>'
-  , item: '<li><a href="#"></a></li>'
-  , minLength: 1
-  }
-
-  $.fn.typeahead.Constructor = Typeahead
-
-
- /* TYPEAHEAD NO CONFLICT
-  * =================== */
-
-  $.fn.typeahead.noConflict = function () {
-    $.fn.typeahead = old
-    return this
-  }
-
-
- /* TYPEAHEAD DATA-API
-  * ================== */
-
-  $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
-    var $this = $(this)
-    if ($this.data('typeahead')) return
-    e.preventDefault()
-    $this.typeahead($this.data())
-  })
-
-}(window.jQuery);
-/* ==========================================================
- * bootstrap-affix.js v2.2.2
- * http://twitter.github.com/bootstrap/javascript.html#affix
- * ==========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* AFFIX CLASS DEFINITION
-  * ====================== */
-
-  var Affix = function (element, options) {
-    this.options = $.extend({}, $.fn.affix.defaults, options)
-    this.$window = $(window)
-      .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
-      .on('click.affix.data-api',  $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
-    this.$element = $(element)
-    this.checkPosition()
-  }
-
-  Affix.prototype.checkPosition = function () {
-    if (!this.$element.is(':visible')) return
-
-    var scrollHeight = $(document).height()
-      , scrollTop = this.$window.scrollTop()
-      , position = this.$element.offset()
-      , offset = this.options.offset
-      , offsetBottom = offset.bottom
-      , offsetTop = offset.top
-      , reset = 'affix affix-top affix-bottom'
-      , affix
-
-    if (typeof offset != 'object') offsetBottom = offsetTop = offset
-    if (typeof offsetTop == 'function') offsetTop = offset.top()
-    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
-
-    affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
-      false    : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
-      'bottom' : offsetTop != null && scrollTop <= offsetTop ?
-      'top'    : false
-
-    if (this.affixed === affix) return
-
-    this.affixed = affix
-    this.unpin = affix == 'bottom' ? position.top - scrollTop : null
-
-    this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
-  }
-
-
- /* AFFIX PLUGIN DEFINITION
-  * ======================= */
-
-  var old = $.fn.affix
-
-  $.fn.affix = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('affix')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('affix', (data = new Affix(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.affix.Constructor = Affix
-
-  $.fn.affix.defaults = {
-    offset: 0
-  }
-
-
- /* AFFIX NO CONFLICT
-  * ================= */
-
-  $.fn.affix.noConflict = function () {
-    $.fn.affix = old
-    return this
-  }
-
-
- /* AFFIX DATA-API
-  * ============== */
-
-  $(window).on('load', function () {
-    $('[data-spy="affix"]').each(function () {
-      var $spy = $(this)
-        , data = $spy.data()
-
-      data.offset = data.offset || {}
-
-      data.offsetBottom && (data.offset.bottom = data.offsetBottom)
-      data.offsetTop && (data.offset.top = data.offsetTop)
-
-      $spy.affix(data)
-    })
-  })
-
-
-}(window.jQuery);
\ No newline at end of file
diff --git a/source/bootstrap-2.2.2/js/bootstrap.min.js b/source/bootstrap-2.2.2/js/bootstrap.min.js
deleted file mode 100644 (file)
index 6eeb15c..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
-* Bootstrap.js by @fat & @mdo
-* Copyright 2012 Twitter, Inc.
-* http://www.apache.org/licenses/LICENSE-2.0.txt
-*/
-!function($){"use strict";$(function(){$.support.transition=function(){var transitionEnd=function(){var name,el=document.createElement("bootstrap"),transEndEventNames={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(name in transEndEventNames)if(void 0!==el.style[name])return transEndEventNames[name]}();return transitionEnd&&{end:transitionEnd}}()})}(window.jQuery),!function($){"use strict";var dismiss='[data-dismiss="alert"]',Alert=function(el){$(el).on("click",dismiss,this.close)};Alert.prototype.close=function(e){function removeElement(){$parent.trigger("closed").remove()}var $parent,$this=$(this),selector=$this.attr("data-target");selector||(selector=$this.attr("href"),selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,"")),$parent=$(selector),e&&e.preventDefault(),$parent.length||($parent=$this.hasClass("alert")?$this:$this.parent()),$parent.trigger(e=$.Event("close")),e.isDefaultPrevented()||($parent.removeClass("in"),$.support.transition&&$parent.hasClass("fade")?$parent.on($.support.transition.end,removeElement):removeElement())};var old=$.fn.alert;$.fn.alert=function(option){return this.each(function(){var $this=$(this),data=$this.data("alert");data||$this.data("alert",data=new Alert(this)),"string"==typeof option&&data[option].call($this)})},$.fn.alert.Constructor=Alert,$.fn.alert.noConflict=function(){return $.fn.alert=old,this},$(document).on("click.alert.data-api",dismiss,Alert.prototype.close)}(window.jQuery),!function($){"use strict";var Button=function(element,options){this.$element=$(element),this.options=$.extend({},$.fn.button.defaults,options)};Button.prototype.setState=function(state){var d="disabled",$el=this.$element,data=$el.data(),val=$el.is("input")?"val":"html";state+="Text",data.resetText||$el.data("resetText",$el[val]()),$el[val](data[state]||this.options[state]),setTimeout(function(){"loadingText"==state?$el.addClass(d).attr(d,d):$el.removeClass(d).removeAttr(d)},0)},Button.prototype.toggle=function(){var $parent=this.$element.closest('[data-toggle="buttons-radio"]');$parent&&$parent.find(".active").removeClass("active"),this.$element.toggleClass("active")};var old=$.fn.button;$.fn.button=function(option){return this.each(function(){var $this=$(this),data=$this.data("button"),options="object"==typeof option&&option;data||$this.data("button",data=new Button(this,options)),"toggle"==option?data.toggle():option&&data.setState(option)})},$.fn.button.defaults={loadingText:"loading..."},$.fn.button.Constructor=Button,$.fn.button.noConflict=function(){return $.fn.button=old,this},$(document).on("click.button.data-api","[data-toggle^=button]",function(e){var $btn=$(e.target);$btn.hasClass("btn")||($btn=$btn.closest(".btn")),$btn.button("toggle")})}(window.jQuery),!function($){"use strict";var Carousel=function(element,options){this.$element=$(element),this.options=options,"hover"==this.options.pause&&this.$element.on("mouseenter",$.proxy(this.pause,this)).on("mouseleave",$.proxy(this.cycle,this))};Carousel.prototype={cycle:function(e){return e||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval($.proxy(this.next,this),this.options.interval)),this},to:function(pos){var $active=this.$element.find(".item.active"),children=$active.parent().children(),activePos=children.index($active),that=this;if(!(pos>children.length-1||0>pos))return this.sliding?this.$element.one("slid",function(){that.to(pos)}):activePos==pos?this.pause().cycle():this.slide(pos>activePos?"next":"prev",$(children[pos]))},pause:function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&$.support.transition.end&&(this.$element.trigger($.support.transition.end),this.cycle()),clearInterval(this.interval),this.interval=null,this},next:function(){return this.sliding?void 0:this.slide("next")},prev:function(){return this.sliding?void 0:this.slide("prev")},slide:function(type,next){var e,$active=this.$element.find(".item.active"),$next=next||$active[type](),isCycling=this.interval,direction="next"==type?"left":"right",fallback="next"==type?"first":"last",that=this;if(this.sliding=!0,isCycling&&this.pause(),$next=$next.length?$next:this.$element.find(".item")[fallback](),e=$.Event("slide",{relatedTarget:$next[0]}),!$next.hasClass("active")){if($.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(e),e.isDefaultPrevented())return;$next.addClass(type),$next[0].offsetWidth,$active.addClass(direction),$next.addClass(direction),this.$element.one($.support.transition.end,function(){$next.removeClass([type,direction].join(" ")).addClass("active"),$active.removeClass(["active",direction].join(" ")),that.sliding=!1,setTimeout(function(){that.$element.trigger("slid")},0)})}else{if(this.$element.trigger(e),e.isDefaultPrevented())return;$active.removeClass("active"),$next.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return isCycling&&this.cycle(),this}}};var old=$.fn.carousel;$.fn.carousel=function(option){return this.each(function(){var $this=$(this),data=$this.data("carousel"),options=$.extend({},$.fn.carousel.defaults,"object"==typeof option&&option),action="string"==typeof option?option:options.slide;data||$this.data("carousel",data=new Carousel(this,options)),"number"==typeof option?data.to(option):action?data[action]():options.interval&&data.cycle()})},$.fn.carousel.defaults={interval:5e3,pause:"hover"},$.fn.carousel.Constructor=Carousel,$.fn.carousel.noConflict=function(){return $.fn.carousel=old,this},$(document).on("click.carousel.data-api","[data-slide]",function(e){var href,$this=$(this),$target=$($this.attr("data-target")||(href=$this.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,"")),options=$.extend({},$target.data(),$this.data());$target.carousel(options),e.preventDefault()})}(window.jQuery),!function($){"use strict";var Collapse=function(element,options){this.$element=$(element),this.options=$.extend({},$.fn.collapse.defaults,options),this.options.parent&&(this.$parent=$(this.options.parent)),this.options.toggle&&this.toggle()};Collapse.prototype={constructor:Collapse,dimension:function(){var hasWidth=this.$element.hasClass("width");return hasWidth?"width":"height"},show:function(){var dimension,scroll,actives,hasData;if(!this.transitioning){if(dimension=this.dimension(),scroll=$.camelCase(["scroll",dimension].join("-")),actives=this.$parent&&this.$parent.find("> .accordion-group > .in"),actives&&actives.length){if(hasData=actives.data("collapse"),hasData&&hasData.transitioning)return;actives.collapse("hide"),hasData||actives.data("collapse",null)}this.$element[dimension](0),this.transition("addClass",$.Event("show"),"shown"),$.support.transition&&this.$element[dimension](this.$element[0][scroll])}},hide:function(){var dimension;this.transitioning||(dimension=this.dimension(),this.reset(this.$element[dimension]()),this.transition("removeClass",$.Event("hide"),"hidden"),this.$element[dimension](0))},reset:function(size){var dimension=this.dimension();return this.$element.removeClass("collapse")[dimension](size||"auto")[0].offsetWidth,this.$element[null!==size?"addClass":"removeClass"]("collapse"),this},transition:function(method,startEvent,completeEvent){var that=this,complete=function(){"show"==startEvent.type&&that.reset(),that.transitioning=0,that.$element.trigger(completeEvent)};this.$element.trigger(startEvent),startEvent.isDefaultPrevented()||(this.transitioning=1,this.$element[method]("in"),$.support.transition&&this.$element.hasClass("collapse")?this.$element.one($.support.transition.end,complete):complete())},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var old=$.fn.collapse;$.fn.collapse=function(option){return this.each(function(){var $this=$(this),data=$this.data("collapse"),options="object"==typeof option&&option;data||$this.data("collapse",data=new Collapse(this,options)),"string"==typeof option&&data[option]()})},$.fn.collapse.defaults={toggle:!0},$.fn.collapse.Constructor=Collapse,$.fn.collapse.noConflict=function(){return $.fn.collapse=old,this},$(document).on("click.collapse.data-api","[data-toggle=collapse]",function(e){var href,$this=$(this),target=$this.attr("data-target")||e.preventDefault()||(href=$this.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,""),option=$(target).data("collapse")?"toggle":$this.data();$this[$(target).hasClass("in")?"addClass":"removeClass"]("collapsed"),$(target).collapse(option)})}(window.jQuery),!function($){"use strict";function clearMenus(){$(toggle).each(function(){getParent($(this)).removeClass("open")})}function getParent($this){var $parent,selector=$this.attr("data-target");return selector||(selector=$this.attr("href"),selector=selector&&/#/.test(selector)&&selector.replace(/.*(?=#[^\s]*$)/,"")),$parent=$(selector),$parent.length||($parent=$this.parent()),$parent}var toggle="[data-toggle=dropdown]",Dropdown=function(element){var $el=$(element).on("click.dropdown.data-api",this.toggle);$("html").on("click.dropdown.data-api",function(){$el.parent().removeClass("open")})};Dropdown.prototype={constructor:Dropdown,toggle:function(){var $parent,isActive,$this=$(this);if(!$this.is(".disabled, :disabled"))return $parent=getParent($this),isActive=$parent.hasClass("open"),clearMenus(),isActive||$parent.toggleClass("open"),$this.focus(),!1},keydown:function(e){var $this,$items,$parent,isActive,index;if(/(38|40|27)/.test(e.keyCode)&&($this=$(this),e.preventDefault(),e.stopPropagation(),!$this.is(".disabled, :disabled"))){if($parent=getParent($this),isActive=$parent.hasClass("open"),!isActive||isActive&&27==e.keyCode)return $this.click();$items=$("[role=menu] li:not(.divider):visible a",$parent),$items.length&&(index=$items.index($items.filter(":focus")),38==e.keyCode&&index>0&&index--,40==e.keyCode&&$items.length-1>index&&index++,~index||(index=0),$items.eq(index).focus())}}};var old=$.fn.dropdown;$.fn.dropdown=function(option){return this.each(function(){var $this=$(this),data=$this.data("dropdown");data||$this.data("dropdown",data=new Dropdown(this)),"string"==typeof option&&data[option].call($this)})},$.fn.dropdown.Constructor=Dropdown,$.fn.dropdown.noConflict=function(){return $.fn.dropdown=old,this},$(document).on("click.dropdown.data-api touchstart.dropdown.data-api",clearMenus).on("click.dropdown touchstart.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("touchstart.dropdown.data-api",".dropdown-menu",function(e){e.stopPropagation()}).on("click.dropdown.data-api touchstart.dropdown.data-api",toggle,Dropdown.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api",toggle+", [role=menu]",Dropdown.prototype.keydown)}(window.jQuery),!function($){"use strict";var Modal=function(element,options){this.options=options,this.$element=$(element).delegate('[data-dismiss="modal"]',"click.dismiss.modal",$.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};Modal.prototype={constructor:Modal,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var that=this,e=$.Event("show");this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.backdrop(function(){var transition=$.support.transition&&that.$element.hasClass("fade");that.$element.parent().length||that.$element.appendTo(document.body),that.$element.show(),transition&&that.$element[0].offsetWidth,that.$element.addClass("in").attr("aria-hidden",!1),that.enforceFocus(),transition?that.$element.one($.support.transition.end,function(){that.$element.focus().trigger("shown")}):that.$element.focus().trigger("shown")}))},hide:function(e){e&&e.preventDefault(),e=$.Event("hide"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),$(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),$.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal())},enforceFocus:function(){var that=this;$(document).on("focusin.modal",function(e){that.$element[0]===e.target||that.$element.has(e.target).length||that.$element.focus()})},escape:function(){var that=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(e){27==e.which&&that.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var that=this,timeout=setTimeout(function(){that.$element.off($.support.transition.end),that.hideModal()},500);this.$element.one($.support.transition.end,function(){clearTimeout(timeout),that.hideModal()})},hideModal:function(){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(callback){var animate=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var doAnimate=$.support.transition&&animate;this.$backdrop=$('<div class="modal-backdrop '+animate+'" />').appendTo(document.body),this.$backdrop.click("static"==this.options.backdrop?$.proxy(this.$element[0].focus,this.$element[0]):$.proxy(this.hide,this)),doAnimate&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),doAnimate?this.$backdrop.one($.support.transition.end,callback):callback()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),$.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one($.support.transition.end,$.proxy(this.removeBackdrop,this)):this.removeBackdrop()):callback&&callback()}};var old=$.fn.modal;$.fn.modal=function(option){return this.each(function(){var $this=$(this),data=$this.data("modal"),options=$.extend({},$.fn.modal.defaults,$this.data(),"object"==typeof option&&option);data||$this.data("modal",data=new Modal(this,options)),"string"==typeof option?data[option]():options.show&&data.show()})},$.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},$.fn.modal.Constructor=Modal,$.fn.modal.noConflict=function(){return $.fn.modal=old,this},$(document).on("click.modal.data-api",'[data-toggle="modal"]',function(e){var $this=$(this),href=$this.attr("href"),$target=$($this.attr("data-target")||href&&href.replace(/.*(?=#[^\s]+$)/,"")),option=$target.data("modal")?"toggle":$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data());e.preventDefault(),$target.modal(option).one("hide",function(){$this.focus()})})}(window.jQuery),!function($){"use strict";var Tooltip=function(element,options){this.init("tooltip",element,options)};Tooltip.prototype={constructor:Tooltip,init:function(type,element,options){var eventIn,eventOut;this.type=type,this.$element=$(element),this.options=this.getOptions(options),this.enabled=!0,"click"==this.options.trigger?this.$element.on("click."+this.type,this.options.selector,$.proxy(this.toggle,this)):"manual"!=this.options.trigger&&(eventIn="hover"==this.options.trigger?"mouseenter":"focus",eventOut="hover"==this.options.trigger?"mouseleave":"blur",this.$element.on(eventIn+"."+this.type,this.options.selector,$.proxy(this.enter,this)),this.$element.on(eventOut+"."+this.type,this.options.selector,$.proxy(this.leave,this))),this.options.selector?this._options=$.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(options){return options=$.extend({},$.fn[this.type].defaults,options,this.$element.data()),options.delay&&"number"==typeof options.delay&&(options.delay={show:options.delay,hide:options.delay}),options},enter:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type);return self.options.delay&&self.options.delay.show?(clearTimeout(this.timeout),self.hoverState="in",this.timeout=setTimeout(function(){"in"==self.hoverState&&self.show()},self.options.delay.show),void 0):self.show()},leave:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type);return this.timeout&&clearTimeout(this.timeout),self.options.delay&&self.options.delay.hide?(self.hoverState="out",this.timeout=setTimeout(function(){"out"==self.hoverState&&self.hide()},self.options.delay.hide),void 0):self.hide()},show:function(){var $tip,inside,pos,actualWidth,actualHeight,placement,tp;if(this.hasContent()&&this.enabled){switch($tip=this.tip(),this.setContent(),this.options.animation&&$tip.addClass("fade"),placement="function"==typeof this.options.placement?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement,inside=/in/.test(placement),$tip.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),pos=this.getPosition(inside),actualWidth=$tip[0].offsetWidth,actualHeight=$tip[0].offsetHeight,inside?placement.split(" ")[1]:placement){case"bottom":tp={top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2};break;case"top":tp={top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2};break;case"left":tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth};break;case"right":tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}}$tip.offset(tp).addClass(placement).addClass("in")}},setContent:function(){var $tip=this.tip(),title=this.getTitle();$tip.find(".tooltip-inner")[this.options.html?"html":"text"](title),$tip.removeClass("fade in top bottom left right")},hide:function(){function removeWithAnimation(){var timeout=setTimeout(function(){$tip.off($.support.transition.end).detach()},500);$tip.one($.support.transition.end,function(){clearTimeout(timeout),$tip.detach()})}var $tip=this.tip();return $tip.removeClass("in"),$.support.transition&&this.$tip.hasClass("fade")?removeWithAnimation():$tip.detach(),this},fixTitle:function(){var $e=this.$element;($e.attr("title")||"string"!=typeof $e.attr("data-original-title"))&&$e.attr("data-original-title",$e.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(inside){return $.extend({},inside?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var title,$e=this.$element,o=this.options;return title=$e.attr("data-original-title")||("function"==typeof o.title?o.title.call($e[0]):o.title)},tip:function(){return this.$tip=this.$tip||$(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type);self[self.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var old=$.fn.tooltip;$.fn.tooltip=function(option){return this.each(function(){var $this=$(this),data=$this.data("tooltip"),options="object"==typeof option&&option;data||$this.data("tooltip",data=new Tooltip(this,options)),"string"==typeof option&&data[option]()})},$.fn.tooltip.Constructor=Tooltip,$.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0,html:!1},$.fn.tooltip.noConflict=function(){return $.fn.tooltip=old,this}}(window.jQuery),!function($){"use strict";var Popover=function(element,options){this.init("popover",element,options)};Popover.prototype=$.extend({},$.fn.tooltip.Constructor.prototype,{constructor:Popover,setContent:function(){var $tip=this.tip(),title=this.getTitle(),content=this.getContent();$tip.find(".popover-title")[this.options.html?"html":"text"](title),$tip.find(".popover-content")[this.options.html?"html":"text"](content),$tip.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var content,$e=this.$element,o=this.options;return content=$e.attr("data-content")||("function"==typeof o.content?o.content.call($e[0]):o.content)},tip:function(){return this.$tip||(this.$tip=$(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var old=$.fn.popover;$.fn.popover=function(option){return this.each(function(){var $this=$(this),data=$this.data("popover"),options="object"==typeof option&&option;data||$this.data("popover",data=new Popover(this,options)),"string"==typeof option&&data[option]()})},$.fn.popover.Constructor=Popover,$.fn.popover.defaults=$.extend({},$.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'}),$.fn.popover.noConflict=function(){return $.fn.popover=old,this}}(window.jQuery),!function($){"use strict";function ScrollSpy(element,options){var href,process=$.proxy(this.process,this),$element=$(element).is("body")?$(window):$(element);this.options=$.extend({},$.fn.scrollspy.defaults,options),this.$scrollElement=$element.on("scroll.scroll-spy.data-api",process),this.selector=(this.options.target||(href=$(element).attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=$("body"),this.refresh(),this.process()}ScrollSpy.prototype={constructor:ScrollSpy,refresh:function(){var $targets,self=this;this.offsets=$([]),this.targets=$([]),$targets=this.$body.find(this.selector).map(function(){var $el=$(this),href=$el.data("target")||$el.attr("href"),$href=/^#\w/.test(href)&&$(href);return $href&&$href.length&&[[$href.position().top+self.$scrollElement.scrollTop(),href]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){self.offsets.push(this[0]),self.targets.push(this[1])})},process:function(){var i,scrollTop=this.$scrollElement.scrollTop()+this.options.offset,scrollHeight=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,maxScroll=scrollHeight-this.$scrollElement.height(),offsets=this.offsets,targets=this.targets,activeTarget=this.activeTarget;if(scrollTop>=maxScroll)return activeTarget!=(i=targets.last()[0])&&this.activate(i);for(i=offsets.length;i--;)activeTarget!=targets[i]&&scrollTop>=offsets[i]&&(!offsets[i+1]||offsets[i+1]>=scrollTop)&&this.activate(targets[i])},activate:function(target){var active,selector;this.activeTarget=target,$(this.selector).parent(".active").removeClass("active"),selector=this.selector+'[data-target="'+target+'"],'+this.selector+'[href="'+target+'"]',active=$(selector).parent("li").addClass("active"),active.parent(".dropdown-menu").length&&(active=active.closest("li.dropdown").addClass("active")),active.trigger("activate")}};var old=$.fn.scrollspy;$.fn.scrollspy=function(option){return this.each(function(){var $this=$(this),data=$this.data("scrollspy"),options="object"==typeof option&&option;data||$this.data("scrollspy",data=new ScrollSpy(this,options)),"string"==typeof option&&data[option]()})},$.fn.scrollspy.Constructor=ScrollSpy,$.fn.scrollspy.defaults={offset:10},$.fn.scrollspy.noConflict=function(){return $.fn.scrollspy=old,this},$(window).on("load",function(){$('[data-spy="scroll"]').each(function(){var $spy=$(this);$spy.scrollspy($spy.data())})})}(window.jQuery),!function($){"use strict";var Tab=function(element){this.element=$(element)};Tab.prototype={constructor:Tab,show:function(){var previous,$target,e,$this=this.element,$ul=$this.closest("ul:not(.dropdown-menu)"),selector=$this.attr("data-target");selector||(selector=$this.attr("href"),selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,"")),$this.parent("li").hasClass("active")||(previous=$ul.find(".active:last a")[0],e=$.Event("show",{relatedTarget:previous}),$this.trigger(e),e.isDefaultPrevented()||($target=$(selector),this.activate($this.parent("li"),$ul),this.activate($target,$target.parent(),function(){$this.trigger({type:"shown",relatedTarget:previous})})))},activate:function(element,container,callback){function next(){$active.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),element.addClass("active"),transition?(element[0].offsetWidth,element.addClass("in")):element.removeClass("fade"),element.parent(".dropdown-menu")&&element.closest("li.dropdown").addClass("active"),callback&&callback()}var $active=container.find("> .active"),transition=callback&&$.support.transition&&$active.hasClass("fade");transition?$active.one($.support.transition.end,next):next(),$active.removeClass("in")}};var old=$.fn.tab;$.fn.tab=function(option){return this.each(function(){var $this=$(this),data=$this.data("tab");data||$this.data("tab",data=new Tab(this)),"string"==typeof option&&data[option]()})},$.fn.tab.Constructor=Tab,$.fn.tab.noConflict=function(){return $.fn.tab=old,this},$(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(e){e.preventDefault(),$(this).tab("show")})}(window.jQuery),!function($){"use strict";var Typeahead=function(element,options){this.$element=$(element),this.options=$.extend({},$.fn.typeahead.defaults,options),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=$(this.options.menu),this.shown=!1,this.listen()};Typeahead.prototype={constructor:Typeahead,select:function(){var val=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(val)).change(),this.hide()},updater:function(item){return item},show:function(){var pos=$.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:pos.top+pos.height,left:pos.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(){var items;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(items=$.isFunction(this.source)?this.source(this.query,$.proxy(this.process,this)):this.source,items?this.process(items):this)},process:function(items){var that=this;return items=$.grep(items,function(item){return that.matcher(item)}),items=this.sorter(items),items.length?this.render(items.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(item){return~item.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(items){for(var item,beginswith=[],caseSensitive=[],caseInsensitive=[];item=items.shift();)item.toLowerCase().indexOf(this.query.toLowerCase())?~item.indexOf(this.query)?caseSensitive.push(item):caseInsensitive.push(item):beginswith.push(item);return beginswith.concat(caseSensitive,caseInsensitive)},highlighter:function(item){var query=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return item.replace(RegExp("("+query+")","ig"),function($1,match){return"<strong>"+match+"</strong>"})},render:function(items){var that=this;return items=$(items).map(function(i,item){return i=$(that.options.item).attr("data-value",item),i.find("a").html(that.highlighter(item)),i[0]}),items.first().addClass("active"),this.$menu.html(items),this},next:function(){var active=this.$menu.find(".active").removeClass("active"),next=active.next();next.length||(next=$(this.$menu.find("li")[0])),next.addClass("active")},prev:function(){var active=this.$menu.find(".active").removeClass("active"),prev=active.prev();prev.length||(prev=this.$menu.find("li").last()),prev.addClass("active")},listen:function(){this.$element.on("blur",$.proxy(this.blur,this)).on("keypress",$.proxy(this.keypress,this)).on("keyup",$.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",$.proxy(this.keydown,this)),this.$menu.on("click",$.proxy(this.click,this)).on("mouseenter","li",$.proxy(this.mouseenter,this))},eventSupported:function(eventName){var isSupported=eventName in this.$element;return isSupported||(this.$element.setAttribute(eventName,"return;"),isSupported="function"==typeof this.$element[eventName]),isSupported},move:function(e){if(this.shown){switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()}},keydown:function(e){this.suppressKeyPressRepeat=~$.inArray(e.keyCode,[40,38,9,13,27]),this.move(e)},keypress:function(e){this.suppressKeyPressRepeat||this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},blur:function(){var that=this;setTimeout(function(){that.hide()},150)},click:function(e){e.stopPropagation(),e.preventDefault(),this.select()},mouseenter:function(e){this.$menu.find(".active").removeClass("active"),$(e.currentTarget).addClass("active")}};var old=$.fn.typeahead;$.fn.typeahead=function(option){return this.each(function(){var $this=$(this),data=$this.data("typeahead"),options="object"==typeof option&&option;data||$this.data("typeahead",data=new Typeahead(this,options)),"string"==typeof option&&data[option]()})},$.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},$.fn.typeahead.Constructor=Typeahead,$.fn.typeahead.noConflict=function(){return $.fn.typeahead=old,this},$(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(e){var $this=$(this);$this.data("typeahead")||(e.preventDefault(),$this.typeahead($this.data()))})}(window.jQuery),!function($){"use strict";var Affix=function(element,options){this.options=$.extend({},$.fn.affix.defaults,options),this.$window=$(window).on("scroll.affix.data-api",$.proxy(this.checkPosition,this)).on("click.affix.data-api",$.proxy(function(){setTimeout($.proxy(this.checkPosition,this),1)},this)),this.$element=$(element),this.checkPosition()};Affix.prototype.checkPosition=function(){if(this.$element.is(":visible")){var affix,scrollHeight=$(document).height(),scrollTop=this.$window.scrollTop(),position=this.$element.offset(),offset=this.options.offset,offsetBottom=offset.bottom,offsetTop=offset.top,reset="affix affix-top affix-bottom";"object"!=typeof offset&&(offsetBottom=offsetTop=offset),"function"==typeof offsetTop&&(offsetTop=offset.top()),"function"==typeof offsetBottom&&(offsetBottom=offset.bottom()),affix=null!=this.unpin&&scrollTop+this.unpin<=position.top?!1:null!=offsetBottom&&position.top+this.$element.height()>=scrollHeight-offsetBottom?"bottom":null!=offsetTop&&offsetTop>=scrollTop?"top":!1,this.affixed!==affix&&(this.affixed=affix,this.unpin="bottom"==affix?position.top-scrollTop:null,this.$element.removeClass(reset).addClass("affix"+(affix?"-"+affix:"")))}};var old=$.fn.affix;$.fn.affix=function(option){return this.each(function(){var $this=$(this),data=$this.data("affix"),options="object"==typeof option&&option;data||$this.data("affix",data=new Affix(this,options)),"string"==typeof option&&data[option]()})},$.fn.affix.Constructor=Affix,$.fn.affix.defaults={offset:0},$.fn.affix.noConflict=function(){return $.fn.affix=old,this},$(window).on("load",function(){$('[data-spy="affix"]').each(function(){var $spy=$(this),data=$spy.data();data.offset=data.offset||{},data.offsetBottom&&(data.offset.bottom=data.offsetBottom),data.offsetTop&&(data.offset.top=data.offsetTop),$spy.affix(data)})})}(window.jQuery);
\ No newline at end of file
diff --git a/source/css/app.css b/source/css/app.css
deleted file mode 100644 (file)
index 0802831..0000000
+++ /dev/null
@@ -1,612 +0,0 @@
-#tree {
-  background-color: #212A30;
-  height: 100%;
-  overflow: scroll;
-  position: fixed;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  width: 300px;
-}
-
-#tree-inner {
-  padding: 15px 20px 30px 30px;
-}
-
-#tree h1.title {
-  font-size: 28px;
-  margin-bottom: 20px;
-  font-weight: normal;
-}
-
-#tree h1.title a:hover {
-  border-bottom: none;
-}
-
-#tree a {
-  font-size: 14px;
-  line-height: 28px;
-}
-
-#tree dd.other {
-  display: none;
-}
-
-#tree .level-1,
-#tree .parent,
-#tree .child,
-#tree .parent *,
-#tree .child * {
-  display: inherit;
-  color: inherit;
-}
-
-#tree dd.child-1,
-#tree .child-2,
-#tree .child-3,
-#tree .child-4 {
-  display: none;
-}
-
-
-#search {
-  height: 70px;
-}
-
-#content {
-    padding: 10px 30px 30px 350px;
-    margin-left: 0;
-}
-
-#content-main {
-  padding-top: 10px;
-  padding-left: 10px;
-}
-
-#content p,
-#content li,
-#content dt,
-#content dd {
-  font-size: 16px;
-  line-height: 28px;
-}
-
-
-#tree a {
-    display: inline !important;
-    font-weight: normal;
-    color: #E4E4E4;
-    border-bottom: 1px solid transparent;
-    padding-bottom: 2px;
-}
-
-#tree a:hover {
-    text-decoration: none;
-    border-bottom: 1px solid #aaa;
-}
-
-#tree .active > a {
-    display: inline;
-    color: #da0808;
-    border-bottom: 1px solid #FFF;
-
-}
-
-#content,
-#tree {
-  font-family: Junge;
-}
-
-#content h1,
-#content h2,
-#content h3,
-#content h4 {
-    font-weight: normal;
-}
-
-#content h1.title {
- border-bottom: 2px solid #ccc;
-  padding-bottom: 10px;
-  margin-bottom: 40px;
-}
-
-#content h2 {
-  margin: 30px 0 20px 0;
-  padding-bottom: 5px;
-  font-size: 22px;
-  border-bottom: 2px solid #ddd;
-}
-
-#content h3 {
- margin: 20px 0 10px 0;
-  padding-bottom: 5px;
-  font-size: 20px;
-  border-bottom: 1px solid #eee;
-}
-
-
-#content h4 {
-  font-size: 18px;
- margin: 20px 0 10px 0;
-  padding-bottom: 10px;
-  border-bottom: 1px solid #eee;
-}
-
-#content code {
-  font-size: 14px;
-  color: #555;
-}
-
-#content dl
-{
-    float:none;
-    clear:both;
-    width:100%;
-    margin: 1em 0;
-    padding: 0;
-}
-
-#content dl:after {
-    content:' ';
-    display:block;
-    clear:both;
-}
-
-#content dt
-{
-    clear: left;
-    float: left;
-    width: 25%;
-    margin: 0;
-    padding: 5px;
-    font-weight: normal;
-}
-
-#content dd
-{
-    float: left;
-    width: 65%;
-    margin: 0;
-    padding: 5px;
-    font-weight: normal;
-}
-
-#content dt.sub1 {
-    padding-left: 2em;
-}
-
-#content dt.sub2 {
-    padding-left: 4em;
-}
-
-
-#content figure {
-    display: table;
-}
-
-#content figcaption {
-       display: table-caption;
-       caption-side: bottom ;
-}
-
-#content figcaption.titleover {
-       caption-side: top ;
-}
-
-#content figure.right {
-    margin: 0 0 1em 1em;
-    float:right;
-    clear:right;
-}
-
-#content figure.left {
-    margin: 0 1em 1em 0;
-    float:left;
-    clear:left;
-}
-
-.multicol2 {
-    width: 48%;
-               float:left;
-               padding:0 0 0 2%;
-               margin:0;
-}
-
-.multicol3 {
-    width: 31%;
-               float:left;
-               padding:0 0 0 2%;
-               margin:0;
-}
-
-.multicol4 {
-    width: 23%;
-               float:left;
-               padding:0 0 0 2%;
-               margin:0;
-}
-
-.multicol5 {
-    width: 18%;
-               float:left;
-               padding:0 0 0 2%;
-               margin:0;
-}
-
-/* Keyboard binding layout */
-#content dl.bindings
-{
-    float: left;
-    width: 100%;
-    margin: 1em 0;
-    padding: 0;
-}
-
-#content .bindings dt
-{
-    clear: left;
-    float: left;
-    width: 65%;
-    margin: 0;
-    padding: 0px;
-    font-size: 100%;
-    font-family: "Trebuchet MS", "Bitstream Vera Sans", Verdana, Arial, Helvetica, sans-serif;
-    font-weight: normal;
-}
-
-#content .bindings dd
-{
-    float: left;
-    width: 30%;
-    margin: 0;
-    padding: 0px;
-    font-size: 110%;
-    font-family: "Bitstream Vera Sans Mono", "Courier New", monospace;
-    font-weight: normal;
-}
-
-
-#content dl.wide-table
-{
-    float: left;
-    width: 100%;
-    margin: 1em 0;
-    padding: 0;
-}
-
-#content .wide-table dt
-{
-        font-weight: normal;
-    clear: left;
-    float: left;
-    width: 30%;
-    margin: 0;
-    padding: 5px;
-}
-
-#content dt,
-#content dd {
-    border-top: 2px solid #eee;
-}
-
-#content dt:first-child,
-#content dd:nth-child(2) {
-    border-top: none;
-}
-
-#content .wide-table dd
-{
-    float: left;
-    width: 60%;
-    margin: 0;
-    padding: 5px;
-}
-
-#content dl.narrower-table
-{
-    float: left;
-    width: 100%;
-    margin: 1em 0;
-    padding: 0;
-}
-
-#content .narrower-table dt
-{
-    clear: left;
-    float: left;
-    width: 20%;
-    margin: 0;
-    padding: 5px;
-}
-
-#content .narrower-table dd
-{
-    float: left;
-    width: 70%;
-    margin: 0;
-    padding: 5px;
-}
-
-kbd {
-    -moz-background-clip:border;
-    -moz-background-inline-policy:continuous;
-    -moz-background-origin:padding;
-    background:#EEEEEE none repeat scroll 0 0;
-    border-color:#CCCCCC #AAAAAA #888888 #BBBBBB;
-    border-style:solid;
-    border-width:2px 2px 4px 4px;
-    color:#000000;
-    padding:1px 2px;
-    white-space:nowrap;
-    text-transform:capitalize;
-}
-
-kbd.input,kbd.cmd,kbd.osc {
-    font-family:mono;
-    border-width:0;
-    text-transform:none;
-
-}
-
-kbd.cmd {
-    display:block;
-    width:100%;
-    margin-bottom:1ex;
-    text-transform:none;
-}
-
-kbd.cmd.lin:before {
-    content: 'user@linux:~ ';
-    color:#999999;
-}
-
-kbd.cmd.mac:before {
-    content: 'MacBook:~/Desktop User\$ ';
-    color:#999999;
-}
-
-kbd.cmd.win:before {
-    content: 'C:\\Users\\myAccount> ';
-    color:#999999;
-}
-
-kbd.mouse {
-    -moz-border-radius:10px;
-    border-radius:10px;
-}
-
-/*
-.mouse:after {
-    position:relative;
-    top:-1em;
-    left:-1em;
-    content:url('/images/mouse-tail.png');
-}
-*/
-
-kbd.optoff, kbd.option {
-    border:none;
-    background-color:transparent;
-}
-
-kbd.optoff:after {
-    content:url('/images/checkbox-unchecked.png');
-}
-
-kbd.option:after {
-    content:url('/images/checkbox-checked.png');
-}
-
-kbd.menu {
-    border:none;
-    background-color:transparent;
-    font-weight:bold;
-    font-stretch:extra-condensed;
-    white-space:normal;
-}
-
-
-kbd.osc {
-}
-
-
-
-kbd.fader, kbd.knob, kbd.button {
-    border-color:#ccccff #aaaadd #8888bb #bbbbee;
-    background-color:#ddddff;
-    color:#000044;
-}
-
-kbd.fader {
-    border-width: 1px 1px 9px 9px;
-}
-
-kbd.knob {
-    -moz-border-radius:12px;
-    border-radius:12px;
-    border-width: 1px 1px 9px 9px;
-}
-
-kbd.button {
-    -moz-border-radius:8px;
-    border-radius:8px;
-    border-width: 1px 1px 3px 3px;
-}
-
-samp {
-    font-family:mono;
-    font-style:italic;
-    color:#333333;
-    background-color:transparent;
-    margin-left: 1ex;
-    margin-right: 1ex;
-}
-
-samp:before {
-    content:"\BB";
-}
-
-samp:after {
-    content:"\AB";
-}
-
-#content td {
-    padding: 0 1em 0 1em;
-}
-
-#content .small {
-    width:150px;
-}
-
-#subtopics ul {
-    font-size:20px;
-    font-weight:bold;
-}
-
-#content dfn {
-    font-weight: bold;
-    font-style: normal;
-}
-
-#content img.right {
-    margin: 0 0 1em 1em;
-    float:right;
-    clear:right;
-}
-
-#content img.left {
-    margin:0 1em 1em 0;
-    float:left;
-    clear:left;
-}
-
-#content p.center {
-       text-align:center;
-}
-
-#content .note,.warning,.fixme {
-    min-height: 20px;
-    padding: 19px;
-    margin-bottom: 20px;
-    border-style: solid;
-    border-width: 1px 1px 1px 8px;
-    -webkit-border-radius: 4px;
-       -moz-border-radius: 4px;
-            border-radius: 4px;
-    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-       -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-
-}
-
-#content .note {
-    border-color: #e3e3e3;
-    background-color: #f5f5f5;
-}
-
-#content .warning {
-    border-color: #995555;
-    background-color: #ffeeee;
-}
-
-#content .fixme {
-    border-color: #999944;
-    background-color: #f0f0e0;
-    font-weight:bold;
-}
-
-.fixme:before {
-    content:'FIXME: ';
-    font-style: italic;
-    font-size:200%;
-}
-
-
-
-
-.mod1:before {
-    content: "Ctrl ";
-}
-.mod2:before {
-    content: "Alt ";
-}
-.mod3:before {
-    content: "Shift ";
-}
-.mod4:before {
-    content: "Win ";
-}
-.mod12:before {
-    content: "Ctrl Alt ";
-}
-.mod13:before {
-    content: "Ctrl Shift ";
-}
-.mod14:before {
-    content: "Ctrl Win ";
-}
-.mod23:before {
-    content: "Alt Shift ";
-}
-.kp:before {
-    content: "Keypad ";
-}
-
-.mac .mod1:before {
-    content: "Cmd ";
-}
-.mac .mod2:before {
-    content: "Ctrl ";
-}
-.mac .mod3:before {
-    content: "Shift ";
-}
-.mac .mod4:before {
-    content: "Opt ";
-}
-.mac .mod12:before {
-    content: "Cmd Ctrl ";
-}
-.mac .mod13:before {
-    content: "Cmd Shift ";
-}
-.mac .mod14:before {
-    content: "Cmd Opt ";
-}
-.mac .mod23:before {
-    content: "Ctrl Shift ";
-}
-
-#gs_tti0 {
-
-  padding-top: 2px;
-  padding-bottom: 0;
-
-}
-
-@media (max-width: 800px) {
-  #tree {
-    position: relative;
-    height: 250px;
-    width: 100%;
-    margin-top: 20px;
-  }
-  #content {
-    padding-left: 20px;
-    margin-top: 0px;
-  }
-}
-
-#chapter { padding-top: 1em; padding-left: 1em; }
-
-#subchapter { padding-left: 4em; }
-
-#content table.alternate{      border-collapse:collapse; }
-.alternate td{ padding:7px; border:#4e95f4 1px solid; }
-.alternate tr{ background: #b8d1f3; }
-.alternate tr:nth-child(odd){ background: #b8d1f3; }
-.alternate tr:nth-child(even){ background: #dae5f4; }
-
-.container { position:relative; border: none;}
-.hoverimg { position: absolute; border: none;  }
-.hoverimg:hover{ z-index:100; box-shadow: 0 0 5px 5px lightgreen; }
diff --git a/source/css/luadoc.css b/source/css/luadoc.css
deleted file mode 100644 (file)
index b8a6777..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-div.luafooter              { text-align:center; font-size:80%; color: #888; margin: 2em 0; }
-#luaref dt { float:initial; width: initial; margin:initial; padding: initial; line-height:1.3em;}
-#luaref dd { float:initial; width: initial; margin: 0 0 0 2em; padding: initial; line-height:1.3em;}
-
-#luaref h2                 { margin:2em 0 0 0; padding:0em; border-bottom: 1px solid black; }
-#luaref h3.cls             { margin:2em 0 0 0; padding: 0 0 0 1em; border: 1px dashed #6666ee; }
-#luaref h3.cls abbr        { text-decoration:none; cursor:default; border: none;}
-#luaref h4.cls             { margin:1em 0 0 0; }
-#luaref h3.class           { background-color: #aaee66; }
-#luaref h3.enum            { background-color: #aaaaaa; }
-#luaref h3.pointerclass    { background-color: #eeaa66; }
-#luaref h3.array           { background-color: #66aaee; }
-#luaref h3.opaque          { background-color: #6666aa; }
-#luaref p                  { text-align: justify; }
-#luaref p.cdecl            { text-align: right; float:right; font-size:90%; margin:0; padding: 0 0 0 1em; }
-#luaref ul.classindex      { columns: 2; -webkit-columns: 2; -moz-columns: 2; }
-#luaref div.clear          { clear:both; }
-#luaref p.classinfo        { margin: .25em 0; }
-#luaref div.code           { width:80%; margin:.5em auto; }
-#luaref div.code div       { width:45%; }
-#luaref div.code pre       { line-height: 1.2em; margin: .25em 0; }
-#luaref div.code samp      { color: green; font-weight: bold; background-color: #eee; }
-#luaref div.classdox       { padding: .1em 1em; }
-#luaref div.classdox p     { margin: .5em 0 .5em .6em; }
-#luaref div.classdox p     { margin: .5em 0 .5em .6em; }
-#luaref div.classdox       { padding: .1em 1em; }
-#luaref div.classdox p     { margin: .5em 0 .5em .6em; }
-#luaref div.result-discussion      { font-size: 110%; }
-#luaref span.word-returns          { font-weight: bold; font-style: italic; }
-#luaref table.classmembers         { width: 100%; }
-#luaref table.classmembers th      { text-align:left; border-bottom:1px solid black; padding-top:1em; }
-#luaref table.classmembers td.def  { text-align:right; padding-right:.5em;  white-space: nowrap; font-family:mono; }
-#luaref table.classmembers td.decl { text-align:left; padding-left:.5em; white-space: nowrap; font-family:mono;}
-#luaref table.classmembers td.doc  { text-align:left; padding-left:.6em; line-height: 1.2em; font-size:85%; }
-#luaref table.classmembers td.doc div.dox { background-color:#eee; padding: .1em 1em; }
-#luaref table.classmembers td.doc p { margin: .5em 0; font-size:110%; }
-#luaref table.classmembers td.doc p.para-returns {font-size:inherit; }
-#luaref table.classmembers td.doc dl { font-size:110%; line-height: 1.2em; margin: 1em 0 0 0;}
-#luaref table.classmembers td.doc dt { font-weight: bold; font-size:inherit; }
-#luaref table.classmembers td.doc dd { font-size: inherit; }
-#luaref table.classmembers td.fill { width: 99%; }
-#luaref table.classmembers span.em { font-style: italic; }
-#luaref span.functionname abbr     { text-decoration:none; cursor:default; }
diff --git a/source/diagrams/ardour-monitoring.png b/source/diagrams/ardour-monitoring.png
deleted file mode 100644 (file)
index 5ad0e5e..0000000
Binary files a/source/diagrams/ardour-monitoring.png and /dev/null differ
diff --git a/source/diagrams/editor-summary.png b/source/diagrams/editor-summary.png
deleted file mode 100644 (file)
index 43781aa..0000000
Binary files a/source/diagrams/editor-summary.png and /dev/null differ
diff --git a/source/diagrams/external-monitoring.png b/source/diagrams/external-monitoring.png
deleted file mode 100644 (file)
index ed7b10b..0000000
Binary files a/source/diagrams/external-monitoring.png and /dev/null differ
diff --git a/source/diagrams/jack-latency-excerpt.png b/source/diagrams/jack-latency-excerpt.png
deleted file mode 100644 (file)
index e424789..0000000
Binary files a/source/diagrams/jack-latency-excerpt.png and /dev/null differ
diff --git a/source/diagrams/jack-monitoring.png b/source/diagrams/jack-monitoring.png
deleted file mode 100644 (file)
index da5664e..0000000
Binary files a/source/diagrams/jack-monitoring.png and /dev/null differ
diff --git a/source/diagrams/latency-chain.png b/source/diagrams/latency-chain.png
deleted file mode 100644 (file)
index 2f68aeb..0000000
Binary files a/source/diagrams/latency-chain.png and /dev/null differ
diff --git a/source/diagrams/ltc-transport-alignment.png b/source/diagrams/ltc-transport-alignment.png
deleted file mode 100644 (file)
index 3e7b3ce..0000000
Binary files a/source/diagrams/ltc-transport-alignment.png and /dev/null differ
diff --git a/source/diagrams/mixer-summary.png b/source/diagrams/mixer-summary.png
deleted file mode 100644 (file)
index 7f9f7cb..0000000
Binary files a/source/diagrams/mixer-summary.png and /dev/null differ
diff --git a/source/diagrams/solo-mute.png b/source/diagrams/solo-mute.png
deleted file mode 100644 (file)
index 7a04380..0000000
Binary files a/source/diagrams/solo-mute.png and /dev/null differ
diff --git a/source/diagrams/typical-midi-track-controls.png b/source/diagrams/typical-midi-track-controls.png
deleted file mode 100644 (file)
index 7ceb9d4..0000000
Binary files a/source/diagrams/typical-midi-track-controls.png and /dev/null differ
diff --git a/source/files/a3_mnemonic_cheat_sheet_osx.pdf b/source/files/a3_mnemonic_cheat_sheet_osx.pdf
deleted file mode 100644 (file)
index 5db1ff6..0000000
Binary files a/source/files/a3_mnemonic_cheat_sheet_osx.pdf and /dev/null differ
diff --git a/source/files/a3_mnemonic_cheatsheet-a4.pdf b/source/files/a3_mnemonic_cheatsheet-a4.pdf
deleted file mode 100644 (file)
index 7cf24d7..0000000
Binary files a/source/files/a3_mnemonic_cheatsheet-a4.pdf and /dev/null differ
diff --git a/source/files/a3_mnemonic_cheatsheet.pdf b/source/files/a3_mnemonic_cheatsheet.pdf
deleted file mode 100644 (file)
index 0c54c3c..0000000
Binary files a/source/files/a3_mnemonic_cheatsheet.pdf and /dev/null differ
diff --git a/source/files/ardour-2.8.3-bindings-osx-a4.pdf b/source/files/ardour-2.8.3-bindings-osx-a4.pdf
deleted file mode 100644 (file)
index 4440fc1..0000000
Binary files a/source/files/ardour-2.8.3-bindings-osx-a4.pdf and /dev/null differ
diff --git a/source/files/ardour-2.8.3-bindings-x.pdf b/source/files/ardour-2.8.3-bindings-x.pdf
deleted file mode 100644 (file)
index 9e7722b..0000000
Binary files a/source/files/ardour-2.8.3-bindings-x.pdf and /dev/null differ
diff --git a/source/images/225-ARDOUR_1_2_1.png b/source/images/225-ARDOUR_1_2_1.png
deleted file mode 100644 (file)
index 040d50f..0000000
Binary files a/source/images/225-ARDOUR_1_2_1.png and /dev/null differ
diff --git a/source/images/226-ARDOUR_1_2_1.png b/source/images/226-ARDOUR_1_2_1.png
deleted file mode 100644 (file)
index a14b839..0000000
Binary files a/source/images/226-ARDOUR_1_2_1.png and /dev/null differ
diff --git a/source/images/Audio-MIDI_Setup.png b/source/images/Audio-MIDI_Setup.png
deleted file mode 100644 (file)
index ff8e900..0000000
Binary files a/source/images/Audio-MIDI_Setup.png and /dev/null differ
diff --git a/source/images/BCF2000-EG.png b/source/images/BCF2000-EG.png
deleted file mode 100644 (file)
index 62388f9..0000000
Binary files a/source/images/BCF2000-EG.png and /dev/null differ
diff --git a/source/images/BCF2000-Modes.png b/source/images/BCF2000-Modes.png
deleted file mode 100644 (file)
index 9645b0b..0000000
Binary files a/source/images/BCF2000-Modes.png and /dev/null differ
diff --git a/source/images/BCF2000-Pan.png b/source/images/BCF2000-Pan.png
deleted file mode 100644 (file)
index f6aab52..0000000
Binary files a/source/images/BCF2000-Pan.png and /dev/null differ
diff --git a/source/images/BCF2000-Send.png b/source/images/BCF2000-Send.png
deleted file mode 100644 (file)
index 5f2cb5c..0000000
Binary files a/source/images/BCF2000-Send.png and /dev/null differ
diff --git a/source/images/BCF2000-Shift1.png b/source/images/BCF2000-Shift1.png
deleted file mode 100644 (file)
index 8a6f768..0000000
Binary files a/source/images/BCF2000-Shift1.png and /dev/null differ
diff --git a/source/images/BCF2000-Shift2.png b/source/images/BCF2000-Shift2.png
deleted file mode 100644 (file)
index 8cec44c..0000000
Binary files a/source/images/BCF2000-Shift2.png and /dev/null differ
diff --git a/source/images/BCF2000-Views.png b/source/images/BCF2000-Views.png
deleted file mode 100644 (file)
index 2787cb5..0000000
Binary files a/source/images/BCF2000-Views.png and /dev/null differ
diff --git a/source/images/BCF2000.png b/source/images/BCF2000.png
deleted file mode 100644 (file)
index 60f97a0..0000000
Binary files a/source/images/BCF2000.png and /dev/null differ
diff --git a/source/images/MIDI_pitch_bending.png b/source/images/MIDI_pitch_bending.png
deleted file mode 100644 (file)
index 7941abe..0000000
Binary files a/source/images/MIDI_pitch_bending.png and /dev/null differ
diff --git a/source/images/MIDI_transform.png b/source/images/MIDI_transform.png
deleted file mode 100644 (file)
index b582460..0000000
Binary files a/source/images/MIDI_transform.png and /dev/null differ
diff --git a/source/images/No_problem.gif b/source/images/No_problem.gif
deleted file mode 100644 (file)
index 2da26cc..0000000
Binary files a/source/images/No_problem.gif and /dev/null differ
diff --git a/source/images/VBAP-panner-10.png b/source/images/VBAP-panner-10.png
deleted file mode 100644 (file)
index fa99966..0000000
Binary files a/source/images/VBAP-panner-10.png and /dev/null differ
diff --git a/source/images/VBAP-panner-4in5.png b/source/images/VBAP-panner-4in5.png
deleted file mode 100644 (file)
index fe55a41..0000000
Binary files a/source/images/VBAP-panner-4in5.png and /dev/null differ
diff --git a/source/images/VBAP-panner-5.png b/source/images/VBAP-panner-5.png
deleted file mode 100644 (file)
index d144255..0000000
Binary files a/source/images/VBAP-panner-5.png and /dev/null differ
diff --git a/source/images/a3_after_push_trim.png b/source/images/a3_after_push_trim.png
deleted file mode 100644 (file)
index 4625717..0000000
Binary files a/source/images/a3_after_push_trim.png and /dev/null differ
diff --git a/source/images/a3_after_separate_under.png b/source/images/a3_after_separate_under.png
deleted file mode 100644 (file)
index 74933fc..0000000
Binary files a/source/images/a3_after_separate_under.png and /dev/null differ
diff --git a/source/images/a3_after_trim.png b/source/images/a3_after_trim.png
deleted file mode 100644 (file)
index b84f798..0000000
Binary files a/source/images/a3_after_trim.png and /dev/null differ
diff --git a/source/images/a3_ardour_preferences.png b/source/images/a3_ardour_preferences.png
deleted file mode 100644 (file)
index d603e5f..0000000
Binary files a/source/images/a3_ardour_preferences.png and /dev/null differ
diff --git a/source/images/a3_before_separate_under.png b/source/images/a3_before_separate_under.png
deleted file mode 100644 (file)
index 012e04e..0000000
Binary files a/source/images/a3_before_separate_under.png and /dev/null differ
diff --git a/source/images/a3_before_trim.png b/source/images/a3_before_trim.png
deleted file mode 100644 (file)
index e2ec1af..0000000
Binary files a/source/images/a3_before_trim.png and /dev/null differ
diff --git a/source/images/a3_layers_menu.png b/source/images/a3_layers_menu.png
deleted file mode 100644 (file)
index faa8436..0000000
Binary files a/source/images/a3_layers_menu.png and /dev/null differ
diff --git a/source/images/a3_layers_stacked.png b/source/images/a3_layers_stacked.png
deleted file mode 100644 (file)
index 96f6d2b..0000000
Binary files a/source/images/a3_layers_stacked.png and /dev/null differ
diff --git a/source/images/a3_nonlayered_example.png b/source/images/a3_nonlayered_example.png
deleted file mode 100644 (file)
index ddd864e..0000000
Binary files a/source/images/a3_nonlayered_example.png and /dev/null differ
diff --git a/source/images/a3_nonlayered_mode_menu.png b/source/images/a3_nonlayered_mode_menu.png
deleted file mode 100644 (file)
index eb35df6..0000000
Binary files a/source/images/a3_nonlayered_mode_menu.png and /dev/null differ
diff --git a/source/images/a3_overlaps_layered.png b/source/images/a3_overlaps_layered.png
deleted file mode 100644 (file)
index 59c6ecf..0000000
Binary files a/source/images/a3_overlaps_layered.png and /dev/null differ
diff --git a/source/images/a3_quantize.png b/source/images/a3_quantize.png
deleted file mode 100644 (file)
index faa535b..0000000
Binary files a/source/images/a3_quantize.png and /dev/null differ
diff --git a/source/images/a3_session_properties.png b/source/images/a3_session_properties.png
deleted file mode 100644 (file)
index 74a949a..0000000
Binary files a/source/images/a3_session_properties.png and /dev/null differ
diff --git a/source/images/a3_step_entry.png b/source/images/a3_step_entry.png
deleted file mode 100644 (file)
index 656654d..0000000
Binary files a/source/images/a3_step_entry.png and /dev/null differ
diff --git a/source/images/a3_strip_silence.png b/source/images/a3_strip_silence.png
deleted file mode 100644 (file)
index 197295c..0000000
Binary files a/source/images/a3_strip_silence.png and /dev/null differ
diff --git a/source/images/a3_video_export.png b/source/images/a3_video_export.png
deleted file mode 100644 (file)
index 0afaa2a..0000000
Binary files a/source/images/a3_video_export.png and /dev/null differ
diff --git a/source/images/a3_video_import.png b/source/images/a3_video_import.png
deleted file mode 100644 (file)
index 2323961..0000000
Binary files a/source/images/a3_video_import.png and /dev/null differ
diff --git a/source/images/a3_video_open.png b/source/images/a3_video_open.png
deleted file mode 100644 (file)
index 3a9d542..0000000
Binary files a/source/images/a3_video_open.png and /dev/null differ
diff --git a/source/images/a3_videotimeline.png b/source/images/a3_videotimeline.png
deleted file mode 100644 (file)
index db48bf1..0000000
Binary files a/source/images/a3_videotimeline.png and /dev/null differ
diff --git a/source/images/a4_meterbridge_full.png b/source/images/a4_meterbridge_full.png
deleted file mode 100644 (file)
index 5d52c51..0000000
Binary files a/source/images/a4_meterbridge_full.png and /dev/null differ
diff --git a/source/images/a4_monitoring_section.png b/source/images/a4_monitoring_section.png
deleted file mode 100644 (file)
index d1a7054..0000000
Binary files a/source/images/a4_monitoring_section.png and /dev/null differ
diff --git a/source/images/a4_plugin_manager.png b/source/images/a4_plugin_manager.png
deleted file mode 100644 (file)
index 3e5c2c9..0000000
Binary files a/source/images/a4_plugin_manager.png and /dev/null differ
diff --git a/source/images/a4_plugin_sidebar.png b/source/images/a4_plugin_sidebar.png
deleted file mode 100644 (file)
index b90403e..0000000
Binary files a/source/images/a4_plugin_sidebar.png and /dev/null differ
diff --git a/source/images/a4_preferences_audio.png b/source/images/a4_preferences_audio.png
deleted file mode 100644 (file)
index b79be36..0000000
Binary files a/source/images/a4_preferences_audio.png and /dev/null differ
diff --git a/source/images/a4_preferences_control_surfaces.png b/source/images/a4_preferences_control_surfaces.png
deleted file mode 100644 (file)
index 85dca77..0000000
Binary files a/source/images/a4_preferences_control_surfaces.png and /dev/null differ
diff --git a/source/images/a4_preferences_editor.png b/source/images/a4_preferences_editor.png
deleted file mode 100644 (file)
index e942426..0000000
Binary files a/source/images/a4_preferences_editor.png and /dev/null differ
diff --git a/source/images/a4_preferences_gui.png b/source/images/a4_preferences_gui.png
deleted file mode 100644 (file)
index 8ef6967..0000000
Binary files a/source/images/a4_preferences_gui.png and /dev/null differ
diff --git a/source/images/a4_preferences_interaction.png b/source/images/a4_preferences_interaction.png
deleted file mode 100644 (file)
index 8a2b42e..0000000
Binary files a/source/images/a4_preferences_interaction.png and /dev/null differ
diff --git a/source/images/a4_preferences_metering.png b/source/images/a4_preferences_metering.png
deleted file mode 100644 (file)
index 25b19ba..0000000
Binary files a/source/images/a4_preferences_metering.png and /dev/null differ
diff --git a/source/images/a4_preferences_midi.png b/source/images/a4_preferences_midi.png
deleted file mode 100644 (file)
index acedf55..0000000
Binary files a/source/images/a4_preferences_midi.png and /dev/null differ
diff --git a/source/images/a4_preferences_misc.png b/source/images/a4_preferences_misc.png
deleted file mode 100644 (file)
index 5e459bb..0000000
Binary files a/source/images/a4_preferences_misc.png and /dev/null differ
diff --git a/source/images/a4_preferences_plugins.png b/source/images/a4_preferences_plugins.png
deleted file mode 100644 (file)
index a676f60..0000000
Binary files a/source/images/a4_preferences_plugins.png and /dev/null differ
diff --git a/source/images/a4_preferences_solomute.png b/source/images/a4_preferences_solomute.png
deleted file mode 100644 (file)
index d42ef4a..0000000
Binary files a/source/images/a4_preferences_solomute.png and /dev/null differ
diff --git a/source/images/a4_preferences_theme.png b/source/images/a4_preferences_theme.png
deleted file mode 100644 (file)
index ede8a77..0000000
Binary files a/source/images/a4_preferences_theme.png and /dev/null differ
diff --git a/source/images/a4_preferences_transport.png b/source/images/a4_preferences_transport.png
deleted file mode 100644 (file)
index 240ea26..0000000
Binary files a/source/images/a4_preferences_transport.png and /dev/null differ
diff --git a/source/images/a4_preferences_video.png b/source/images/a4_preferences_video.png
deleted file mode 100644 (file)
index fdfb8e4..0000000
Binary files a/source/images/a4_preferences_video.png and /dev/null differ
diff --git a/source/images/a4_session_properties_fades.png b/source/images/a4_session_properties_fades.png
deleted file mode 100644 (file)
index 2a32ff7..0000000
Binary files a/source/images/a4_session_properties_fades.png and /dev/null differ
diff --git a/source/images/a4_session_properties_filenames.png b/source/images/a4_session_properties_filenames.png
deleted file mode 100644 (file)
index fc4a851..0000000
Binary files a/source/images/a4_session_properties_filenames.png and /dev/null differ
diff --git a/source/images/a4_session_properties_locations.png b/source/images/a4_session_properties_locations.png
deleted file mode 100644 (file)
index d56432e..0000000
Binary files a/source/images/a4_session_properties_locations.png and /dev/null differ
diff --git a/source/images/a4_session_properties_media.png b/source/images/a4_session_properties_media.png
deleted file mode 100644 (file)
index fed50df..0000000
Binary files a/source/images/a4_session_properties_media.png and /dev/null differ
diff --git a/source/images/a4_session_properties_meterbridge.png b/source/images/a4_session_properties_meterbridge.png
deleted file mode 100644 (file)
index ed207ed..0000000
Binary files a/source/images/a4_session_properties_meterbridge.png and /dev/null differ
diff --git a/source/images/a4_session_properties_misc.png b/source/images/a4_session_properties_misc.png
deleted file mode 100644 (file)
index 40b6dc1..0000000
Binary files a/source/images/a4_session_properties_misc.png and /dev/null differ
diff --git a/source/images/a4_session_properties_monitoring.png b/source/images/a4_session_properties_monitoring.png
deleted file mode 100644 (file)
index 1dce5a3..0000000
Binary files a/source/images/a4_session_properties_monitoring.png and /dev/null differ
diff --git a/source/images/a4_session_properties_sync.png b/source/images/a4_session_properties_sync.png
deleted file mode 100644 (file)
index 4359894..0000000
Binary files a/source/images/a4_session_properties_sync.png and /dev/null differ
diff --git a/source/images/a4_session_properties_timecode.png b/source/images/a4_session_properties_timecode.png
deleted file mode 100644 (file)
index 339df14..0000000
Binary files a/source/images/a4_session_properties_timecode.png and /dev/null differ
diff --git a/source/images/add-track-or-bus.png b/source/images/add-track-or-bus.png
deleted file mode 100644 (file)
index 5c5b7e8..0000000
Binary files a/source/images/add-track-or-bus.png and /dev/null differ
diff --git a/source/images/aux_routing.png b/source/images/aux_routing.png
deleted file mode 100644 (file)
index 3f09cfe..0000000
Binary files a/source/images/aux_routing.png and /dev/null differ
diff --git a/source/images/bigclock-recording.png b/source/images/bigclock-recording.png
deleted file mode 100644 (file)
index 778a18d..0000000
Binary files a/source/images/bigclock-recording.png and /dev/null differ
diff --git a/source/images/bigclock.png b/source/images/bigclock.png
deleted file mode 100644 (file)
index 7f3ec47..0000000
Binary files a/source/images/bigclock.png and /dev/null differ
diff --git a/source/images/bus-mixer-strip.png b/source/images/bus-mixer-strip.png
deleted file mode 100644 (file)
index 1df36a9..0000000
Binary files a/source/images/bus-mixer-strip.png and /dev/null differ
diff --git a/source/images/checkbox-checked.png b/source/images/checkbox-checked.png
deleted file mode 100644 (file)
index d0b7690..0000000
Binary files a/source/images/checkbox-checked.png and /dev/null differ
diff --git a/source/images/checkbox-unchecked.png b/source/images/checkbox-unchecked.png
deleted file mode 100644 (file)
index d28b057..0000000
Binary files a/source/images/checkbox-unchecked.png and /dev/null differ
diff --git a/source/images/clockedit.png b/source/images/clockedit.png
deleted file mode 100644 (file)
index 8d2ad56..0000000
Binary files a/source/images/clockedit.png and /dev/null differ
diff --git a/source/images/connecting_bus_output.png b/source/images/connecting_bus_output.png
deleted file mode 100644 (file)
index ef7682c..0000000
Binary files a/source/images/connecting_bus_output.png and /dev/null differ
diff --git a/source/images/connecting_bus_send.png b/source/images/connecting_bus_send.png
deleted file mode 100644 (file)
index 7a6303c..0000000
Binary files a/source/images/connecting_bus_send.png and /dev/null differ
diff --git a/source/images/connecting_to_vca.png b/source/images/connecting_to_vca.png
deleted file mode 100644 (file)
index d83dac1..0000000
Binary files a/source/images/connecting_to_vca.png and /dev/null differ
diff --git a/source/images/connection-manager.png b/source/images/connection-manager.png
deleted file mode 100644 (file)
index 6be0c78..0000000
Binary files a/source/images/connection-manager.png and /dev/null differ
diff --git a/source/images/constant-tempo.png b/source/images/constant-tempo.png
deleted file mode 100644 (file)
index 2fadb74..0000000
Binary files a/source/images/constant-tempo.png and /dev/null differ
diff --git a/source/images/detailed-editor-window.png b/source/images/detailed-editor-window.png
deleted file mode 100644 (file)
index 4edaf4e..0000000
Binary files a/source/images/detailed-editor-window.png and /dev/null differ
diff --git a/source/images/detailed-mixer-window.png b/source/images/detailed-mixer-window.png
deleted file mode 100644 (file)
index 6af460b..0000000
Binary files a/source/images/detailed-mixer-window.png and /dev/null differ
diff --git a/source/images/edit-export-format-profile.png b/source/images/edit-export-format-profile.png
deleted file mode 100644 (file)
index 2c234ae..0000000
Binary files a/source/images/edit-export-format-profile.png and /dev/null differ
diff --git a/source/images/edit-session-metadata.png b/source/images/edit-session-metadata.png
deleted file mode 100644 (file)
index 2d25989..0000000
Binary files a/source/images/edit-session-metadata.png and /dev/null differ
diff --git a/source/images/editor_split.png b/source/images/editor_split.png
deleted file mode 100644 (file)
index bbfaf2b..0000000
Binary files a/source/images/editor_split.png and /dev/null differ
diff --git a/source/images/editor_split_Automation.png b/source/images/editor_split_Automation.png
deleted file mode 100644 (file)
index 7c98f8b..0000000
Binary files a/source/images/editor_split_Automation.png and /dev/null differ
diff --git a/source/images/editor_split_EditPoint.png b/source/images/editor_split_EditPoint.png
deleted file mode 100644 (file)
index 882d1e0..0000000
Binary files a/source/images/editor_split_EditPoint.png and /dev/null differ
diff --git a/source/images/editor_split_EditorsList.png b/source/images/editor_split_EditorsList.png
deleted file mode 100644 (file)
index 6a43142..0000000
Binary files a/source/images/editor_split_EditorsList.png and /dev/null differ
diff --git a/source/images/editor_split_EditorsMixerStrip.png b/source/images/editor_split_EditorsMixerStrip.png
deleted file mode 100644 (file)
index 2c8b2e3..0000000
Binary files a/source/images/editor_split_EditorsMixerStrip.png and /dev/null differ
diff --git a/source/images/editor_split_GridControls.png b/source/images/editor_split_GridControls.png
deleted file mode 100644 (file)
index d1568b9..0000000
Binary files a/source/images/editor_split_GridControls.png and /dev/null differ
diff --git a/source/images/editor_split_Groupstabs.png b/source/images/editor_split_Groupstabs.png
deleted file mode 100644 (file)
index f9917ec..0000000
Binary files a/source/images/editor_split_Groupstabs.png and /dev/null differ
diff --git a/source/images/editor_split_MasterBusTrack.png b/source/images/editor_split_MasterBusTrack.png
deleted file mode 100644 (file)
index 9b26c03..0000000
Binary files a/source/images/editor_split_MasterBusTrack.png and /dev/null differ
diff --git a/source/images/editor_split_Menu.png b/source/images/editor_split_Menu.png
deleted file mode 100644 (file)
index 7e7ef4a..0000000
Binary files a/source/images/editor_split_Menu.png and /dev/null differ
diff --git a/source/images/editor_split_NudgeControls.png b/source/images/editor_split_NudgeControls.png
deleted file mode 100644 (file)
index 36f1755..0000000
Binary files a/source/images/editor_split_NudgeControls.png and /dev/null differ
diff --git a/source/images/editor_split_OSTitlebar.png b/source/images/editor_split_OSTitlebar.png
deleted file mode 100644 (file)
index 34673c5..0000000
Binary files a/source/images/editor_split_OSTitlebar.png and /dev/null differ
diff --git a/source/images/editor_split_Rulers.png b/source/images/editor_split_Rulers.png
deleted file mode 100644 (file)
index b4e989b..0000000
Binary files a/source/images/editor_split_Rulers.png and /dev/null differ
diff --git a/source/images/editor_split_SelectionandPunchClocks.png b/source/images/editor_split_SelectionandPunchClocks.png
deleted file mode 100644 (file)
index 08d0f7b..0000000
Binary files a/source/images/editor_split_SelectionandPunchClocks.png and /dev/null differ
diff --git a/source/images/editor_split_StatusBar.png b/source/images/editor_split_StatusBar.png
deleted file mode 100644 (file)
index d4badfa..0000000
Binary files a/source/images/editor_split_StatusBar.png and /dev/null differ
diff --git a/source/images/editor_split_StatusandModebuttons.png b/source/images/editor_split_StatusandModebuttons.png
deleted file mode 100644 (file)
index 93ca1f7..0000000
Binary files a/source/images/editor_split_StatusandModebuttons.png and /dev/null differ
diff --git a/source/images/editor_split_Summary.png b/source/images/editor_split_Summary.png
deleted file mode 100644 (file)
index 396e238..0000000
Binary files a/source/images/editor_split_Summary.png and /dev/null differ
diff --git a/source/images/editor_split_Toolbox.png b/source/images/editor_split_Toolbox.png
deleted file mode 100644 (file)
index fdcfafe..0000000
Binary files a/source/images/editor_split_Toolbox.png and /dev/null differ
diff --git a/source/images/editor_split_TransportBar.png b/source/images/editor_split_TransportBar.png
deleted file mode 100644 (file)
index 2a38128..0000000
Binary files a/source/images/editor_split_TransportBar.png and /dev/null differ
diff --git a/source/images/editor_split_TransportClocks.png b/source/images/editor_split_TransportClocks.png
deleted file mode 100644 (file)
index 2a6fb27..0000000
Binary files a/source/images/editor_split_TransportClocks.png and /dev/null differ
diff --git a/source/images/editor_split_ZoomControls.png b/source/images/editor_split_ZoomControls.png
deleted file mode 100644 (file)
index 5b8ad2a..0000000
Binary files a/source/images/editor_split_ZoomControls.png and /dev/null differ
diff --git a/source/images/editor_split_aMIDITrack.png b/source/images/editor_split_aMIDITrack.png
deleted file mode 100644 (file)
index 476e60f..0000000
Binary files a/source/images/editor_split_aMIDITrack.png and /dev/null differ
diff --git a/source/images/editor_split_anAudioTrack.png b/source/images/editor_split_anAudioTrack.png
deleted file mode 100644 (file)
index 95279d9..0000000
Binary files a/source/images/editor_split_anAudioTrack.png and /dev/null differ
diff --git a/source/images/editor_split_anotherAudioTrack.png b/source/images/editor_split_anotherAudioTrack.png
deleted file mode 100644 (file)
index 234eb79..0000000
Binary files a/source/images/editor_split_anotherAudioTrack.png and /dev/null differ
diff --git a/source/images/export-dialog-channels.png b/source/images/export-dialog-channels.png
deleted file mode 100644 (file)
index ff54b02..0000000
Binary files a/source/images/export-dialog-channels.png and /dev/null differ
diff --git a/source/images/export-dialog-file-format.png b/source/images/export-dialog-file-format.png
deleted file mode 100644 (file)
index bd4f926..0000000
Binary files a/source/images/export-dialog-file-format.png and /dev/null differ
diff --git a/source/images/export-dialog-stem-export.png b/source/images/export-dialog-stem-export.png
deleted file mode 100644 (file)
index 3a0ad57..0000000
Binary files a/source/images/export-dialog-stem-export.png and /dev/null differ
diff --git a/source/images/export-dialog-timespan.png b/source/images/export-dialog-timespan.png
deleted file mode 100644 (file)
index 4a4879c..0000000
Binary files a/source/images/export-dialog-timespan.png and /dev/null differ
diff --git a/source/images/faderport-ssmall.png b/source/images/faderport-ssmall.png
deleted file mode 100644 (file)
index 3939791..0000000
Binary files a/source/images/faderport-ssmall.png and /dev/null differ
diff --git a/source/images/faderport_dialog.png b/source/images/faderport_dialog.png
deleted file mode 100644 (file)
index be7317d..0000000
Binary files a/source/images/faderport_dialog.png and /dev/null differ
diff --git a/source/images/global-editor-window-split.png b/source/images/global-editor-window-split.png
deleted file mode 100644 (file)
index 08a3d7f..0000000
Binary files a/source/images/global-editor-window-split.png and /dev/null differ
diff --git a/source/images/global-mixer-window-split.png b/source/images/global-mixer-window-split.png
deleted file mode 100644 (file)
index 7be88bb..0000000
Binary files a/source/images/global-mixer-window-split.png and /dev/null differ
diff --git a/source/images/import-window.png b/source/images/import-window.png
deleted file mode 100644 (file)
index 49d0525..0000000
Binary files a/source/images/import-window.png and /dev/null differ
diff --git a/source/images/left_right_eq.png b/source/images/left_right_eq.png
deleted file mode 100644 (file)
index fdd2157..0000000
Binary files a/source/images/left_right_eq.png and /dev/null differ
diff --git a/source/images/logo.png b/source/images/logo.png
deleted file mode 100644 (file)
index 652a6c3..0000000
Binary files a/source/images/logo.png and /dev/null differ
diff --git a/source/images/master-strip.png b/source/images/master-strip.png
deleted file mode 100644 (file)
index c93f77d..0000000
Binary files a/source/images/master-strip.png and /dev/null differ
diff --git a/source/images/mcp-extender-position.png b/source/images/mcp-extender-position.png
deleted file mode 100644 (file)
index 0f1bdde..0000000
Binary files a/source/images/mcp-extender-position.png and /dev/null differ
diff --git a/source/images/meter-preferences.png b/source/images/meter-preferences.png
deleted file mode 100644 (file)
index 9cb9ebc..0000000
Binary files a/source/images/meter-preferences.png and /dev/null differ
diff --git a/source/images/meter-types-18.png b/source/images/meter-types-18.png
deleted file mode 100644 (file)
index d134bb7..0000000
Binary files a/source/images/meter-types-18.png and /dev/null differ
diff --git a/source/images/mixer-1-strip-numbered.png b/source/images/mixer-1-strip-numbered.png
deleted file mode 100644 (file)
index 81b18f4..0000000
Binary files a/source/images/mixer-1-strip-numbered.png and /dev/null differ
diff --git a/source/images/mixer-meter-context-menu.png b/source/images/mixer-meter-context-menu.png
deleted file mode 100644 (file)
index 0b09c10..0000000
Binary files a/source/images/mixer-meter-context-menu.png and /dev/null differ
diff --git a/source/images/mixer_split.png b/source/images/mixer_split.png
deleted file mode 100644 (file)
index cf7f783..0000000
Binary files a/source/images/mixer_split.png and /dev/null differ
diff --git a/source/images/mixer_split_ControlMasters.png b/source/images/mixer_split_ControlMasters.png
deleted file mode 100644 (file)
index 1cc918b..0000000
Binary files a/source/images/mixer_split_ControlMasters.png and /dev/null differ
diff --git a/source/images/mixer_split_FavoritePlugins.png b/source/images/mixer_split_FavoritePlugins.png
deleted file mode 100644 (file)
index 7200ea9..0000000
Binary files a/source/images/mixer_split_FavoritePlugins.png and /dev/null differ
diff --git a/source/images/mixer_split_GroupList.png b/source/images/mixer_split_GroupList.png
deleted file mode 100644 (file)
index a2468b8..0000000
Binary files a/source/images/mixer_split_GroupList.png and /dev/null differ
diff --git a/source/images/mixer_split_GroupTabs.png b/source/images/mixer_split_GroupTabs.png
deleted file mode 100644 (file)
index bc74ea1..0000000
Binary files a/source/images/mixer_split_GroupTabs.png and /dev/null differ
diff --git a/source/images/mixer_split_MenuBar.png b/source/images/mixer_split_MenuBar.png
deleted file mode 100644 (file)
index cf368d9..0000000
Binary files a/source/images/mixer_split_MenuBar.png and /dev/null differ
diff --git a/source/images/mixer_split_MonitorSection.png b/source/images/mixer_split_MonitorSection.png
deleted file mode 100644 (file)
index 172b725..0000000
Binary files a/source/images/mixer_split_MonitorSection.png and /dev/null differ
diff --git a/source/images/mixer_split_OsTitleBar.png b/source/images/mixer_split_OsTitleBar.png
deleted file mode 100644 (file)
index 00db42a..0000000
Binary files a/source/images/mixer_split_OsTitleBar.png and /dev/null differ
diff --git a/source/images/mixer_split_PunchandSelectionClocks.png b/source/images/mixer_split_PunchandSelectionClocks.png
deleted file mode 100644 (file)
index 41035c5..0000000
Binary files a/source/images/mixer_split_PunchandSelectionClocks.png and /dev/null differ
diff --git a/source/images/mixer_split_PunchansSelectionClocks.png b/source/images/mixer_split_PunchansSelectionClocks.png
deleted file mode 100644 (file)
index c862c67..0000000
Binary files a/source/images/mixer_split_PunchansSelectionClocks.png and /dev/null differ
diff --git a/source/images/mixer_split_StatusBar.png b/source/images/mixer_split_StatusBar.png
deleted file mode 100644 (file)
index 719997e..0000000
Binary files a/source/images/mixer_split_StatusBar.png and /dev/null differ
diff --git a/source/images/mixer_split_StatusandModebuttons.png b/source/images/mixer_split_StatusandModebuttons.png
deleted file mode 100644 (file)
index 0abf8c3..0000000
Binary files a/source/images/mixer_split_StatusandModebuttons.png and /dev/null differ
diff --git a/source/images/mixer_split_StripsList.png b/source/images/mixer_split_StripsList.png
deleted file mode 100644 (file)
index 8c36728..0000000
Binary files a/source/images/mixer_split_StripsList.png and /dev/null differ
diff --git a/source/images/mixer_split_TransportBar.png b/source/images/mixer_split_TransportBar.png
deleted file mode 100644 (file)
index f6cf779..0000000
Binary files a/source/images/mixer_split_TransportBar.png and /dev/null differ
diff --git a/source/images/mixer_split_TransportClocks.png b/source/images/mixer_split_TransportClocks.png
deleted file mode 100644 (file)
index 86bbec4..0000000
Binary files a/source/images/mixer_split_TransportClocks.png and /dev/null differ
diff --git a/source/images/mixer_split_aBusStrip.png b/source/images/mixer_split_aBusStrip.png
deleted file mode 100644 (file)
index 8372664..0000000
Binary files a/source/images/mixer_split_aBusStrip.png and /dev/null differ
diff --git a/source/images/mixer_split_aMIDIStrip.png b/source/images/mixer_split_aMIDIStrip.png
deleted file mode 100644 (file)
index 9c359de..0000000
Binary files a/source/images/mixer_split_aMIDIStrip.png and /dev/null differ
diff --git a/source/images/mixer_split_anAudioStrip.png b/source/images/mixer_split_anAudioStrip.png
deleted file mode 100644 (file)
index 2615dee..0000000
Binary files a/source/images/mixer_split_anAudioStrip.png and /dev/null differ
diff --git a/source/images/mixer_split_anotherAudioStrip.png b/source/images/mixer_split_anotherAudioStrip.png
deleted file mode 100644 (file)
index 2d067c1..0000000
Binary files a/source/images/mixer_split_anotherAudioStrip.png and /dev/null differ
diff --git a/source/images/mixer_split_theMasterStrip.png b/source/images/mixer_split_theMasterStrip.png
deleted file mode 100644 (file)
index 3d0e05b..0000000
Binary files a/source/images/mixer_split_theMasterStrip.png and /dev/null differ
diff --git a/source/images/monitoring-strip.png b/source/images/monitoring-strip.png
deleted file mode 100644 (file)
index 8046ffb..0000000
Binary files a/source/images/monitoring-strip.png and /dev/null differ
diff --git a/source/images/mono-panner-annotated.png b/source/images/mono-panner-annotated.png
deleted file mode 100644 (file)
index 357f155..0000000
Binary files a/source/images/mono-panner-annotated.png and /dev/null differ
diff --git a/source/images/mouse-tail.png b/source/images/mouse-tail.png
deleted file mode 100644 (file)
index 37d121a..0000000
Binary files a/source/images/mouse-tail.png and /dev/null differ
diff --git a/source/images/needle-meters-18.png b/source/images/needle-meters-18.png
deleted file mode 100644 (file)
index 2b097ea..0000000
Binary files a/source/images/needle-meters-18.png and /dev/null differ
diff --git a/source/images/new_main_clocks.png b/source/images/new_main_clocks.png
deleted file mode 100644 (file)
index 43becfb..0000000
Binary files a/source/images/new_main_clocks.png and /dev/null differ
diff --git a/source/images/osc-dialog.png b/source/images/osc-dialog.png
deleted file mode 100644 (file)
index 8ad2b7f..0000000
Binary files a/source/images/osc-dialog.png and /dev/null differ
diff --git a/source/images/osc-feedbackdefault.png b/source/images/osc-feedbackdefault.png
deleted file mode 100644 (file)
index 8ae7086..0000000
Binary files a/source/images/osc-feedbackdefault.png and /dev/null differ
diff --git a/source/images/osc-strip-types.png b/source/images/osc-strip-types.png
deleted file mode 100644 (file)
index 45f5f71..0000000
Binary files a/source/images/osc-strip-types.png and /dev/null differ
diff --git a/source/images/pin_config_ctx_menu.png b/source/images/pin_config_ctx_menu.png
deleted file mode 100644 (file)
index 74cb9db..0000000
Binary files a/source/images/pin_config_ctx_menu.png and /dev/null differ
diff --git a/source/images/push2-globalmix.png b/source/images/push2-globalmix.png
deleted file mode 100644 (file)
index 1493afb..0000000
Binary files a/source/images/push2-globalmix.png and /dev/null differ
diff --git a/source/images/push2-gui.png b/source/images/push2-gui.png
deleted file mode 100644 (file)
index e4c4e92..0000000
Binary files a/source/images/push2-gui.png and /dev/null differ
diff --git a/source/images/push2-main.jpg b/source/images/push2-main.jpg
deleted file mode 100644 (file)
index 485aed8..0000000
Binary files a/source/images/push2-main.jpg and /dev/null differ
diff --git a/source/images/push2-scale.png b/source/images/push2-scale.png
deleted file mode 100644 (file)
index dde4525..0000000
Binary files a/source/images/push2-scale.png and /dev/null differ
diff --git a/source/images/push2-trackmix.png b/source/images/push2-trackmix.png
deleted file mode 100644 (file)
index a004c10..0000000
Binary files a/source/images/push2-trackmix.png and /dev/null differ
diff --git a/source/images/ramped-tempo.png b/source/images/ramped-tempo.png
deleted file mode 100644 (file)
index f12dff6..0000000
Binary files a/source/images/ramped-tempo.png and /dev/null differ
diff --git a/source/images/route-group-dialogue.png b/source/images/route-group-dialogue.png
deleted file mode 100644 (file)
index 835bac1..0000000
Binary files a/source/images/route-group-dialogue.png and /dev/null differ
diff --git a/source/images/ruler.png b/source/images/ruler.png
deleted file mode 100644 (file)
index 8be860c..0000000
Binary files a/source/images/ruler.png and /dev/null differ
diff --git a/source/images/selectionpunchclocks.png b/source/images/selectionpunchclocks.png
deleted file mode 100644 (file)
index 52538a0..0000000
Binary files a/source/images/selectionpunchclocks.png and /dev/null differ
diff --git a/source/images/soundcloud-upload.png b/source/images/soundcloud-upload.png
deleted file mode 100644 (file)
index 65311ab..0000000
Binary files a/source/images/soundcloud-upload.png and /dev/null differ
diff --git a/source/images/status-and-mode-buttons.png b/source/images/status-and-mode-buttons.png
deleted file mode 100644 (file)
index c5e1e39..0000000
Binary files a/source/images/status-and-mode-buttons.png and /dev/null differ
diff --git a/source/images/status-bar.png b/source/images/status-bar.png
deleted file mode 100644 (file)
index c9256de..0000000
Binary files a/source/images/status-bar.png and /dev/null differ
diff --git a/source/images/stereo-balance.png b/source/images/stereo-balance.png
deleted file mode 100644 (file)
index 9d4c834..0000000
Binary files a/source/images/stereo-balance.png and /dev/null differ
diff --git a/source/images/stereo-panner-annotated.png b/source/images/stereo-panner-annotated.png
deleted file mode 100644 (file)
index 50dd22f..0000000
Binary files a/source/images/stereo-panner-annotated.png and /dev/null differ
diff --git a/source/images/stereo-panner-hard-right.png b/source/images/stereo-panner-hard-right.png
deleted file mode 100644 (file)
index ffbcdd9..0000000
Binary files a/source/images/stereo-panner-hard-right.png and /dev/null differ
diff --git a/source/images/stereo-panner-inverted.png b/source/images/stereo-panner-inverted.png
deleted file mode 100644 (file)
index 1976446..0000000
Binary files a/source/images/stereo-panner-inverted.png and /dev/null differ
diff --git a/source/images/stereo-panner-right.png b/source/images/stereo-panner-right.png
deleted file mode 100644 (file)
index cbe0892..0000000
Binary files a/source/images/stereo-panner-right.png and /dev/null differ
diff --git a/source/images/stereo-panner-with-ORTF-fullwidth.png b/source/images/stereo-panner-with-ORTF-fullwidth.png
deleted file mode 100644 (file)
index 96cfdaa..0000000
Binary files a/source/images/stereo-panner-with-ORTF-fullwidth.png and /dev/null differ
diff --git a/source/images/stereo-panner-with-ORTF-halfwidth.png b/source/images/stereo-panner-with-ORTF-halfwidth.png
deleted file mode 100644 (file)
index a07e6b8..0000000
Binary files a/source/images/stereo-panner-with-ORTF-halfwidth.png and /dev/null differ
diff --git a/source/images/stereo-panner-zero.png b/source/images/stereo-panner-zero.png
deleted file mode 100644 (file)
index f383d88..0000000
Binary files a/source/images/stereo-panner-zero.png and /dev/null differ
diff --git a/source/images/stereo-panner.png b/source/images/stereo-panner.png
deleted file mode 100644 (file)
index 58c9d5c..0000000
Binary files a/source/images/stereo-panner.png and /dev/null differ
diff --git a/source/images/strict_io_routing.png b/source/images/strict_io_routing.png
deleted file mode 100644 (file)
index 1827bb0..0000000
Binary files a/source/images/strict_io_routing.png and /dev/null differ
diff --git a/source/images/subgroup_routes.png b/source/images/subgroup_routes.png
deleted file mode 100644 (file)
index 7c119ee..0000000
Binary files a/source/images/subgroup_routes.png and /dev/null differ
diff --git a/source/images/summary.png b/source/images/summary.png
deleted file mode 100644 (file)
index 1289dc8..0000000
Binary files a/source/images/summary.png and /dev/null differ
diff --git a/source/images/toolbar-editpoint.png b/source/images/toolbar-editpoint.png
deleted file mode 100644 (file)
index 63371b0..0000000
Binary files a/source/images/toolbar-editpoint.png and /dev/null differ
diff --git a/source/images/toolbar-grid.png b/source/images/toolbar-grid.png
deleted file mode 100644 (file)
index bb31075..0000000
Binary files a/source/images/toolbar-grid.png and /dev/null differ
diff --git a/source/images/toolbar-nudge.png b/source/images/toolbar-nudge.png
deleted file mode 100644 (file)
index 89535ed..0000000
Binary files a/source/images/toolbar-nudge.png and /dev/null differ
diff --git a/source/images/toolbar-tools.png b/source/images/toolbar-tools.png
deleted file mode 100644 (file)
index cd1c06d..0000000
Binary files a/source/images/toolbar-tools.png and /dev/null differ
diff --git a/source/images/toolbar-zoom.png b/source/images/toolbar-zoom.png
deleted file mode 100644 (file)
index 0909f8c..0000000
Binary files a/source/images/toolbar-zoom.png and /dev/null differ
diff --git a/source/images/toolbar_split.png b/source/images/toolbar_split.png
deleted file mode 100644 (file)
index 7bb82d0..0000000
Binary files a/source/images/toolbar_split.png and /dev/null differ
diff --git a/source/images/track-in-group.png b/source/images/track-in-group.png
deleted file mode 100644 (file)
index afa7ca3..0000000
Binary files a/source/images/track-in-group.png and /dev/null differ
diff --git a/source/images/track-layer-dialog.png b/source/images/track-layer-dialog.png
deleted file mode 100644 (file)
index b1dd2e7..0000000
Binary files a/source/images/track-layer-dialog.png and /dev/null differ
diff --git a/source/images/track_signal_routing.png b/source/images/track_signal_routing.png
deleted file mode 100644 (file)
index baf4b39..0000000
Binary files a/source/images/track_signal_routing.png and /dev/null differ
diff --git a/source/images/transport-bar.png b/source/images/transport-bar.png
deleted file mode 100644 (file)
index a15cd5f..0000000
Binary files a/source/images/transport-bar.png and /dev/null differ
diff --git a/source/images/transport.png b/source/images/transport.png
deleted file mode 100644 (file)
index 6b9a423..0000000
Binary files a/source/images/transport.png and /dev/null differ
diff --git a/source/images/transpose_midi.png b/source/images/transpose_midi.png
deleted file mode 100644 (file)
index be7f72b..0000000
Binary files a/source/images/transpose_midi.png and /dev/null differ
diff --git a/source/images/typical-audio-track-controls.png b/source/images/typical-audio-track-controls.png
deleted file mode 100644 (file)
index c6226cf..0000000
Binary files a/source/images/typical-audio-track-controls.png and /dev/null differ
diff --git a/source/images/typical-bus-controls.png b/source/images/typical-bus-controls.png
deleted file mode 100644 (file)
index c8f68fb..0000000
Binary files a/source/images/typical-bus-controls.png and /dev/null differ
diff --git a/source/images/vca-numbered.png b/source/images/vca-numbered.png
deleted file mode 100644 (file)
index 2ceedee..0000000
Binary files a/source/images/vca-numbered.png and /dev/null differ
diff --git a/source/images/vcas.png b/source/images/vcas.png
deleted file mode 100644 (file)
index e16f09e..0000000
Binary files a/source/images/vcas.png and /dev/null differ
diff --git a/upload.sh b/upload.sh
deleted file mode 100755 (executable)
index 7c30563..0000000
--- a/upload.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-url=manual.ardour.org
-user=ardourstatic
-
-echo "Uploading site to $url"
-echo
-
-rsync -av --progress --delete _site/ ${user}@${url}:${url}/
-
-echo
-echo "You can go visit $url now :)"