diff options
Diffstat (limited to 'libs/ardour/test')
7 files changed, 420 insertions, 0 deletions
diff --git a/libs/ardour/test/data/sessions/rec_enabled/instant.xml b/libs/ardour/test/data/sessions/rec_enabled/instant.xml new file mode 100644 index 0000000000..99606ef585 --- /dev/null +++ b/libs/ardour/test/data/sessions/rec_enabled/instant.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<instant> + <Editor id="11" mixer-width="Wide" zoom-focus="ZoomFocusPlayhead" zoom="1685.997648" snap-to="SnapToBeat" snap-mode="SnapOff" internal-snap-to="SnapToBeat" internal-snap-mode="SnapOff" pre-internal-snap-to="SnapToBeat" pre-internal-snap-mode="SnapOff" edit-point="EditAtPlayhead" playhead="0" left-frame="0" y-origin="0.000000" show-measures="yes" maximised="no" follow-playhead="no" stationary-playhead="no" region-list-sort-type="ByEndInFile" mouse-mode="MouseObject" internal-edit="no" join-object-range="no" show-editor-mixer="yes" show-editor-list="yes" editor-list-page="0" show-marker-lines="no" nudge-clock-value="240000"> + <geometry x-size="1366" y-size="714" x-pos="0" y-pos="27" edit-horizontal-pane-pos="972" notebook-shrunk="0" edit-vertical-pane-pos="498"/> + <Buttons> + <Press/> + <Release/> + </Buttons> + <Selection/> + <RegionList sort-type="ByEndInFile" sort-ascending="yes" show-all="no" show-automatic-regions="yes"/> + </Editor> + <Mixer narrow-strips="no" show-mixer="no"/> +</instant> diff --git a/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.ardour b/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.ardour new file mode 100644 index 0000000000..fe34c9b29e --- /dev/null +++ b/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.ardour @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Session version="3001" name="rec_enabled" sample-rate="48000" id-counter="125" event-counter="0"> + <Config> + <Option name="xfade-model" value="FullCrossfade"/> + <Option name="xfade-choice" value="ConstantPowerMinus3dB"/> + <Option name="auto-xfade" value="1"/> + <Option name="short-xfade-seconds" value="0.015"/> + <Option name="destructive-xfade-msecs" value="2"/> + <Option name="use-region-fades" value="1"/> + <Option name="show-region-fades" value="1"/> + <Option name="native-file-data-format" value="FormatFloat"/> + <Option name="native-file-header-format" value="WAVE"/> + <Option name="auto-play" value="0"/> + <Option name="auto-return" value="0"/> + <Option name="auto-input" value="1"/> + <Option name="punch-in" value="0"/> + <Option name="punch-out" value="0"/> + <Option name="subframes-per-frame" value="100"/> + <Option name="timecode-format" value="timecode_30"/> + <Option name="raid-path" value=""/> + <Option name="audio-search-path" value=""/> + <Option name="midi-search-path" value=""/> + <Option name="auditioner-output-left" value="default"/> + <Option name="auditioner-output-right" value="default"/> + <Option name="timecode-source-is-synced" value="1"/> + <Option name="jack-time-master" value="1"/> + <Option name="use-video-sync" value="0"/> + <Option name="video-pullup" value="0"/> + <Option name="show-summary" value="1"/> + <Option name="show-group-tabs" value="1"/> + <Option name="external-sync" value="0"/> + <Option name="sync-source" value="JACK"/> + <Option name="insert-merge-policy" value="InsertMergeRelax"/> + <Option name="timecode-offset" value="0"/> + <Option name="timecode-offset-negative" value="1"/> + <Option name="glue-new-markers-to-bars-and-beats" value="0"/> + <Option name="midi-copy-is-fork" value="0"/> + <Option name="glue-new-regions-to-bars-and-beats" value="0"/> + </Config> + <Metadata/> + <Sources/> + <Regions/> + <Locations> + <Location id="86" name="Loop" start="0" end="1" flags="IsAutoLoop,IsHidden" locked="no" position-lock-style="AudioTime"/> + <Location id="87" name="Punch" start="0" end="1" flags="IsAutoPunch,IsHidden" locked="no" position-lock-style="AudioTime"/> + </Locations> + <Bundles/> + <Routes> + <Route id="88" name="Audio 1" default-type="audio" active="yes" phase-invert="0" denormal-protection="no" meter-point="MeterInput" order-keys="EditorSort=0:MixerSort=0" self-solo="no" soloed-by-upstream="0" soloed-by-downstream="0" solo-isolated="no" solo-safe="no" monitoring="" saved-meter-point="MeterPostFader" mode="Normal"> + <IO name="Audio 1" id="105" direction="Input" default-type="audio" user-latency="0"> + <Port type="audio" name="Audio 1/audio_in 1"> + <Connection other="system:capture_1"/> + </Port> + </IO> + <IO name="Audio 1" id="106" direction="Output" default-type="audio" user-latency="0"> + <Port type="audio" name="Audio 1/audio_out 1"> + <Connection other="master/audio_in 1"/> + </Port> + <Port type="audio" name="Audio 1/audio_out 2"> + <Connection other="master/audio_in 2"/> + </Port> + </IO> + <Controllable name="solo" id="90" flags="Toggle" value="0.000000000000"/> + <Controllable name="mute" id="92" flags="Toggle" value="0.000000000000"/> + <MuteMaster mute-point="PreFader,PostFader,Listen,Main" muted="no"/> + <Pannable> + <Controllable name="pan-azimuth" id="96" flags="" value="0.500000000000"/> + <Controllable name="pan-width" id="100" flags="" value="0.000000000000"/> + <Controllable name="pan-elevation" id="98" flags="" value="0.000000000000"/> + <Controllable name="pan-frontback" id="102" flags="" value="0.000000000000"/> + <Controllable name="pan-lfe" id="104" flags="" value="0.000000000000"/> + <Automation/> + </Pannable> + <Processor id="110" name="Meter" active="yes" user-latency="0" type="meter"/> + <Processor id="107" name="Amp" active="yes" user-latency="0" type="amp"> + <Controllable name="gaincontrol" id="109" flags="GainLike" value="1.000000000000"/> + </Processor> + <Processor id="111" name="Audio 1" active="yes" user-latency="0" own-input="yes" own-output="no" output="Audio 1" type="main-outs" role="Main"> + <PannerShell bypassed="no"> + <Panner type="Mono to Stereo Panner"/> + </PannerShell> + </Processor> + <Controllable name="recenable" id="113" flags="Toggle" value="1.000000000000"/> + <Diskstream flags="Recordable" playlist="Audio 1.1" name="Audio 1" id="115" speed="1.000000" capture-alignment="Automatic" channels="1"/> + </Route> + <Route id="21" name="master" default-type="audio" flags="MasterOut" active="yes" phase-invert="00" denormal-protection="no" meter-point="MeterPostFader" order-keys="EditorSort=318:MixerSort=318" self-solo="no" soloed-by-upstream="0" soloed-by-downstream="0" solo-isolated="no" solo-safe="no"> + <IO name="master" id="38" direction="Input" default-type="audio" user-latency="0"> + <Port type="audio" name="master/audio_in 1"> + <Connection other="Audio 1/audio_out 1"/> + </Port> + <Port type="audio" name="master/audio_in 2"> + <Connection other="Audio 1/audio_out 2"/> + </Port> + </IO> + <IO name="master" id="39" direction="Output" default-type="audio" user-latency="0"> + <Port type="audio" name="master/audio_out 1"> + <Connection other="system:playback_1"/> + </Port> + <Port type="audio" name="master/audio_out 2"> + <Connection other="system:playback_2"/> + </Port> + </IO> + <Controllable name="solo" id="23" flags="Toggle" value="0.000000000000"/> + <Controllable name="mute" id="25" flags="Toggle" value="0.000000000000"/> + <MuteMaster mute-point="PreFader,PostFader,Listen,Main" muted="no"/> + <Pannable> + <Controllable name="pan-azimuth" id="29" flags="" value="0.500000000000"/> + <Controllable name="pan-width" id="33" flags="" value="1.000000000000"/> + <Controllable name="pan-elevation" id="31" flags="" value="0.000000000000"/> + <Controllable name="pan-frontback" id="35" flags="" value="0.000000000000"/> + <Controllable name="pan-lfe" id="37" flags="" value="0.000000000000"/> + <Automation/> + </Pannable> + <Processor id="40" name="Amp" active="yes" user-latency="0" type="amp"> + <Controllable name="gaincontrol" id="42" flags="GainLike" value="1.000000000000"/> + </Processor> + <Processor id="43" name="Meter" active="yes" user-latency="0" type="meter"/> + <Processor id="44" name="master" active="yes" user-latency="0" own-input="yes" own-output="no" output="master" type="main-outs" role="Main"> + <PannerShell bypassed="no"> + <Panner type="Equal Power Stereo"/> + </PannerShell> + </Processor> + </Route> + </Routes> + <Playlists> + <Playlist id="116" name="Audio 1.1" type="audio" orig-track-id="88" frozen="no" combine-ops="0"/> + </Playlists> + <UnusedPlaylists/> + <RouteGroups/> + <Click> + <IO name="click" id="46" direction="Output" default-type="audio" user-latency="0"> + <Port type="audio" name="click/audio_out 1"> + <Connection other="system:playback_1"/> + </Port> + <Port type="audio" name="click/audio_out 2"> + <Connection other="system:playback_2"/> + </Port> + </IO> + <Processor id="47" name="Amp" active="yes" user-latency="0" type="amp"> + <Controllable name="gaincontrol" id="49" flags="GainLike" value="1.000000000000"/> + </Processor> + </Click> + <Speakers> + <Speaker azimuth="0" elevation="0" distance="1"/> + <Speaker azimuth="180" elevation="0" distance="0"/> + </Speakers> + <TempoMap> + <Tempo start="1|1|0" beats-per-minute="120.000000" note-type="4.000000" movable="no"/> + <Meter start="1|1|0" note-type="4.000000" divisions-per-bar="4.000000" movable="no"/> + </TempoMap> + <ControlProtocols> + <Protocol name="Open Sound Control (OSC)" active="no"/> + <Protocol name="Generic MIDI" feedback="0" feedback-interval="10000" active="yes"> + <Controls/> + </Protocol> + <Protocol name="Mackie" bank="0" ipmidi-base="21928" device-profile="" device-name="Mackie Control Universal Pro" active="yes"/> + </ControlProtocols> + <Extra> + <UI> + <Window name="R-21-40" visible="no" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/> + <Window name="R-21-43" visible="no" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/> + <Window name="R-21-44" visible="no" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/> + <Window name="M-21-40" visible="no" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/> + <Window name="M-21-43" visible="no" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/> + <Window name="M-21-44" visible="no" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/> + <Window name="M-88-107" visible="no" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/> + <Window name="M-88-110" visible="no" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/> + <Window name="M-88-111" visible="no" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/> + <GUIObjectState> + <Object id="route 21" color="29808:46137:30836"/> + <Object id="rtav 21" height="62" visible="1"/> + <Object id="automation 42" height="62" visible="0"/> + <Object id="automation 29" height="62" visible="0"/> + <Object id="automation 33" height="62" visible="0"/> + <Object id="strip 21" visible="1" strip-width="Wide"> + <Object id="processor 40"/> + </Object> + <Object id="route 88" color="8025:42322:17800"/> + <Object id="rtav 88" height="62" visible="1"/> + <Object id="automation 109" height="62" visible="0"/> + <Object id="automation 96" height="62" visible="0"/> + <Object id="strip 88" visible="1"> + <Object id="processor 107"/> + </Object> + </GUIObjectState> + </UI> + </Extra> +</Session> diff --git a/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.ardour.bak b/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.ardour.bak new file mode 100644 index 0000000000..106de1153d --- /dev/null +++ b/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.ardour.bak @@ -0,0 +1,158 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Session version="3001" name="rec_enabled" sample-rate="48000" id-counter="121" event-counter="0"> + <Config> + <Option name="xfade-model" value="FullCrossfade"/> + <Option name="xfade-choice" value="ConstantPowerMinus3dB"/> + <Option name="auto-xfade" value="1"/> + <Option name="short-xfade-seconds" value="0.015"/> + <Option name="destructive-xfade-msecs" value="2"/> + <Option name="use-region-fades" value="1"/> + <Option name="show-region-fades" value="1"/> + <Option name="native-file-data-format" value="FormatFloat"/> + <Option name="native-file-header-format" value="WAVE"/> + <Option name="auto-play" value="0"/> + <Option name="auto-return" value="0"/> + <Option name="auto-input" value="1"/> + <Option name="punch-in" value="0"/> + <Option name="punch-out" value="0"/> + <Option name="subframes-per-frame" value="100"/> + <Option name="timecode-format" value="timecode_30"/> + <Option name="raid-path" value=""/> + <Option name="audio-search-path" value=""/> + <Option name="midi-search-path" value=""/> + <Option name="auditioner-output-left" value="default"/> + <Option name="auditioner-output-right" value="default"/> + <Option name="timecode-source-is-synced" value="1"/> + <Option name="jack-time-master" value="1"/> + <Option name="use-video-sync" value="0"/> + <Option name="video-pullup" value="0"/> + <Option name="show-summary" value="1"/> + <Option name="show-group-tabs" value="1"/> + <Option name="external-sync" value="0"/> + <Option name="sync-source" value="JACK"/> + <Option name="insert-merge-policy" value="InsertMergeRelax"/> + <Option name="timecode-offset" value="0"/> + <Option name="timecode-offset-negative" value="1"/> + <Option name="glue-new-markers-to-bars-and-beats" value="0"/> + <Option name="midi-copy-is-fork" value="0"/> + <Option name="glue-new-regions-to-bars-and-beats" value="0"/> + </Config> + <Metadata/> + <Sources/> + <Regions/> + <Locations> + <Location id="86" name="Loop" start="0" end="1" flags="IsAutoLoop,IsHidden" locked="no" position-lock-style="AudioTime"/> + <Location id="87" name="Punch" start="0" end="1" flags="IsAutoPunch,IsHidden" locked="no" position-lock-style="AudioTime"/> + </Locations> + <Bundles/> + <Routes> + <Route id="88" name="Audio 1" default-type="audio" active="yes" phase-invert="0" denormal-protection="no" meter-point="MeterPostFader" order-keys="" self-solo="no" soloed-by-upstream="0" soloed-by-downstream="0" solo-isolated="no" solo-safe="no" monitoring="" saved-meter-point="MeterPostFader" mode="Normal"> + <IO name="Audio 1" id="105" direction="Input" default-type="audio" user-latency="0"> + <Port type="audio" name="Audio 1/audio_in 1"> + <Connection other="system:capture_1"/> + </Port> + </IO> + <IO name="Audio 1" id="106" direction="Output" default-type="audio" user-latency="0"> + <Port type="audio" name="Audio 1/audio_out 1"> + <Connection other="master/audio_in 1"/> + </Port> + <Port type="audio" name="Audio 1/audio_out 2"> + <Connection other="master/audio_in 2"/> + </Port> + </IO> + <Controllable name="solo" id="90" flags="Toggle" value="0.000000000000"/> + <Controllable name="mute" id="92" flags="Toggle" value="0.000000000000"/> + <MuteMaster mute-point="PreFader,PostFader,Listen,Main" muted="no"/> + <Pannable> + <Controllable name="pan-azimuth" id="96" flags="" value="0.500000000000"/> + <Controllable name="pan-width" id="100" flags="" value="0.000000000000"/> + <Controllable name="pan-elevation" id="98" flags="" value="0.000000000000"/> + <Controllable name="pan-frontback" id="102" flags="" value="0.000000000000"/> + <Controllable name="pan-lfe" id="104" flags="" value="0.000000000000"/> + <Automation/> + </Pannable> + <Processor id="107" name="Amp" active="yes" user-latency="0" type="amp"> + <Controllable name="gaincontrol" id="109" flags="GainLike" value="1.000000000000"/> + </Processor> + <Processor id="110" name="Meter" active="yes" user-latency="0" type="meter"/> + <Processor id="111" name="Audio 1" active="yes" user-latency="0" own-input="yes" own-output="no" output="Audio 1" type="main-outs" role="Main"> + <PannerShell bypassed="no"> + <Panner type="Mono to Stereo Panner"/> + </PannerShell> + </Processor> + <Controllable name="recenable" id="113" flags="Toggle" value="0.000000000000"/> + <Diskstream flags="Recordable" playlist="Audio 1.1" name="Audio 1" id="115" speed="1.000000" capture-alignment="Automatic" channels="1"/> + </Route> + <Route id="21" name="master" default-type="audio" flags="MasterOut" active="yes" phase-invert="00" denormal-protection="no" meter-point="MeterPostFader" order-keys="EditorSort=318:MixerSort=318" self-solo="no" soloed-by-upstream="0" soloed-by-downstream="0" solo-isolated="no" solo-safe="no"> + <IO name="master" id="38" direction="Input" default-type="audio" user-latency="0"> + <Port type="audio" name="master/audio_in 1"> + <Connection other="Audio 1/audio_out 1"/> + </Port> + <Port type="audio" name="master/audio_in 2"> + <Connection other="Audio 1/audio_out 2"/> + </Port> + </IO> + <IO name="master" id="39" direction="Output" default-type="audio" user-latency="0"> + <Port type="audio" name="master/audio_out 1"> + <Connection other="system:playback_1"/> + </Port> + <Port type="audio" name="master/audio_out 2"> + <Connection other="system:playback_2"/> + </Port> + </IO> + <Controllable name="solo" id="23" flags="Toggle" value="0.000000000000"/> + <Controllable name="mute" id="25" flags="Toggle" value="0.000000000000"/> + <MuteMaster mute-point="PreFader,PostFader,Listen,Main" muted="no"/> + <Pannable> + <Controllable name="pan-azimuth" id="29" flags="" value="0.500000000000"/> + <Controllable name="pan-width" id="33" flags="" value="1.000000000000"/> + <Controllable name="pan-elevation" id="31" flags="" value="0.000000000000"/> + <Controllable name="pan-frontback" id="35" flags="" value="0.000000000000"/> + <Controllable name="pan-lfe" id="37" flags="" value="0.000000000000"/> + <Automation/> + </Pannable> + <Processor id="40" name="Amp" active="yes" user-latency="0" type="amp"> + <Controllable name="gaincontrol" id="42" flags="GainLike" value="1.000000000000"/> + </Processor> + <Processor id="43" name="Meter" active="yes" user-latency="0" type="meter"/> + <Processor id="44" name="master" active="yes" user-latency="0" own-input="yes" own-output="no" output="master" type="main-outs" role="Main"> + <PannerShell bypassed="no"> + <Panner type="Equal Power Stereo"/> + </PannerShell> + </Processor> + </Route> + </Routes> + <Playlists> + <Playlist id="116" name="Audio 1.1" type="audio" orig-track-id="88" frozen="no" combine-ops="0"/> + </Playlists> + <UnusedPlaylists/> + <RouteGroups/> + <Click> + <IO name="click" id="46" direction="Output" default-type="audio" user-latency="0"> + <Port type="audio" name="click/audio_out 1"> + <Connection other="system:playback_1"/> + </Port> + <Port type="audio" name="click/audio_out 2"> + <Connection other="system:playback_2"/> + </Port> + </IO> + <Processor id="47" name="Amp" active="yes" user-latency="0" type="amp"> + <Controllable name="gaincontrol" id="49" flags="GainLike" value="1.000000000000"/> + </Processor> + </Click> + <Speakers> + <Speaker azimuth="0" elevation="0" distance="1"/> + <Speaker azimuth="180" elevation="0" distance="0"/> + </Speakers> + <TempoMap> + <Tempo start="1|1|0" beats-per-minute="120.000000" note-type="4.000000" movable="no"/> + <Meter start="1|1|0" note-type="4.000000" divisions-per-bar="4.000000" movable="no"/> + </TempoMap> + <ControlProtocols> + <Protocol name="Open Sound Control (OSC)" active="no"/> + <Protocol name="Generic MIDI" feedback="0" feedback-interval="10000" active="yes"> + <Controls/> + </Protocol> + <Protocol name="Mackie" bank="0" ipmidi-base="21928" device-profile="" device-name="Mackie Control Universal Pro" active="yes"/> + </ControlProtocols> +</Session> diff --git a/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.history b/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.history new file mode 100644 index 0000000000..6dd2506a89 --- /dev/null +++ b/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.history @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<UndoHistory/> diff --git a/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.history.bak b/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.history.bak new file mode 100644 index 0000000000..6dd2506a89 --- /dev/null +++ b/libs/ardour/test/data/sessions/rec_enabled/rec_enabled.history.bak @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<UndoHistory/> diff --git a/libs/ardour/test/load_sessions_test.cc b/libs/ardour/test/load_sessions_test.cc new file mode 100644 index 0000000000..73cc506430 --- /dev/null +++ b/libs/ardour/test/load_sessions_test.cc @@ -0,0 +1,28 @@ +/* + Copyright (C) 2012 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "load_sessions_test.h" +#include "test_util.h" + +CPPUNIT_TEST_SUITE_REGISTRATION (LoadSessionsTest); + +void +LoadSessionsTest::loadSessions () +{ + load_session ("../libs/ardour/test/data/sessions/rec_enabled", "rec_enabled"); +} diff --git a/libs/ardour/test/load_sessions_test.h b/libs/ardour/test/load_sessions_test.h new file mode 100644 index 0000000000..2c590dafbe --- /dev/null +++ b/libs/ardour/test/load_sessions_test.h @@ -0,0 +1,29 @@ +/* + Copyright (C) 2012 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "audio_region_test.h" + +class LoadSessionsTest : public CppUnit::TestFixture +{ + CPPUNIT_TEST_SUITE (LoadSessionsTest); + CPPUNIT_TEST (loadSessions); + CPPUNIT_TEST_SUITE_END (); + +public: + void loadSessions (); +}; |