Merge branch 'stable-1.1'
Conflicts: src/gui/FileBrowser.cpp
This commit is contained in:
@@ -15,7 +15,7 @@ INCLUDE(FindPkgConfig)
|
||||
|
||||
SET(VERSION_MAJOR "1")
|
||||
SET(VERSION_MINOR "0")
|
||||
SET(VERSION_PATCH "93")
|
||||
SET(VERSION_PATCH "95")
|
||||
#SET(VERSION_SUFFIX "")
|
||||
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
|
||||
IF(VERSION_SUFFIX)
|
||||
@@ -46,7 +46,8 @@ OPTION(WANT_QT5 "Build with Qt5" OFF)
|
||||
|
||||
|
||||
IF(LMMS_BUILD_APPLE)
|
||||
SET(WANT_ALSA OFF)
|
||||
SET(WANT_SF2 OFF)
|
||||
SET(WANT_ALSA OFF)
|
||||
SET(WANT_PULSEAUDIO OFF)
|
||||
SET(WANT_VST OFF)
|
||||
SET(STATUS_ALSA "<not supported on this platform>")
|
||||
|
||||
38
data/presets/BitInvader/invaders_must_die.xpf
Normal file
38
data/presets/BitInvader/invaders_must_die.xpf
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE lmms-project>
|
||||
<lmms-project version="1.0" creator="LMMS" creatorversion="1.0.93" type="instrumenttracksettings">
|
||||
<head/>
|
||||
<instrumenttracksettings muted="0" type="0" name="Invaders must die" solo="0">
|
||||
<instrumenttrack pan="0" fxch="11" pitchrange="1" pitch="0" basenote="45" vol="30.2">
|
||||
<instrument name="bitinvader">
|
||||
<bitinvader version="0.1" sampleLength="56" normalize="1" sampleShape="AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" interpolation="0"/>
|
||||
</instrument>
|
||||
<eldata fres="0.5" ftype="1" fcut="185" fwet="1">
|
||||
<elvol lspd_denominator="4" sustain="0" pdel="0" userwavefile="" dec="0.264" lamt="0" syncmode="0" latt="0" rel="0.078" amt="1" x100="0" att="0" lpdel="0" hold="0" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
<elcut lspd_denominator="4" sustain="0.5" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
<elres lspd_denominator="4" sustain="0.5" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
</eldata>
|
||||
<chordcreator chord="0" chordrange="1" chord-enabled="0"/>
|
||||
<arpeggiator arptime="27" arprange="2" arptime_denominator="16" syncmode="8" arpmode="0" arp-enabled="1" arp="0" arptime_numerator="1" arpdir="0" arpgate="100"/>
|
||||
<midiport inputcontroller="0" fixedoutputvelocity="-1" inputchannel="0" outputcontroller="0" writable="0" outputchannel="1" fixedinputvelocity="-1" fixedoutputnote="-1" outputprogram="1" basevelocity="63" readable="0"/>
|
||||
<fxchain numofeffects="2" enabled="1">
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0" name="ladspaeffect" wet="1" on="1">
|
||||
<ladspacontrols ports="4">
|
||||
<port02 data="0.99897"/>
|
||||
<port03 data="0.749"/>
|
||||
<port04 data="0.249875"/>
|
||||
<port05 data="0.25"/>
|
||||
</ladspacontrols>
|
||||
<key>
|
||||
<attribute value="caps" name="file"/>
|
||||
<attribute value="Plate2x2" name="plugin"/>
|
||||
</key>
|
||||
</effect>
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0" name="stereoenhancer" wet="1" on="0">
|
||||
<stereoenhancercontrols width="42"/>
|
||||
<key/>
|
||||
</effect>
|
||||
</fxchain>
|
||||
</instrumenttrack>
|
||||
</instrumenttracksettings>
|
||||
</lmms-project>
|
||||
21
data/presets/Kicker/TrapKick.xpf
Normal file
21
data/presets/Kicker/TrapKick.xpf
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE lmms-project>
|
||||
<lmms-project version="1.0" creator="LMMS" creatorversion="1.0.93" type="instrumenttracksettings">
|
||||
<head/>
|
||||
<instrumenttracksettings muted="0" type="0" name="Trap kick" solo="0">
|
||||
<instrumenttrack pan="0" fxch="0" pitchrange="1" pitch="0" basenote="93" vol="100">
|
||||
<instrument name="kicker">
|
||||
<kicker decay_numerator="4" decay_denominator="4" distend="3.3" click="0.25" endnote="1" version="1" decay="1714" syncmode="0" noise="0.11" slope="0.484" dist="2.5" env="0.3" startnote="1" startfreq="5" endfreq="5" gain="0.9"/>
|
||||
</instrument>
|
||||
<eldata fres="0.5" ftype="0" fcut="14000" fwet="0">
|
||||
<elvol lspd_denominator="4" sustain="0.5" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
<elcut lspd_denominator="4" sustain="0.5" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
<elres lspd_denominator="4" sustain="0.5" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
</eldata>
|
||||
<chordcreator chord="0" chordrange="1" chord-enabled="0"/>
|
||||
<arpeggiator arptime="100" arprange="1" arptime_denominator="4" syncmode="0" arpmode="0" arp-enabled="0" arp="0" arptime_numerator="4" arpdir="0" arpgate="100"/>
|
||||
<midiport inputcontroller="0" fixedoutputvelocity="-1" inputchannel="0" outputcontroller="0" writable="0" outputchannel="1" fixedinputvelocity="-1" fixedoutputnote="-1" outputprogram="1" basevelocity="63" readable="0"/>
|
||||
<fxchain numofeffects="0" enabled="0"/>
|
||||
</instrumenttrack>
|
||||
</instrumenttracksettings>
|
||||
</lmms-project>
|
||||
84
data/presets/Monstro/Growl.xpf
Normal file
84
data/presets/Monstro/Growl.xpf
Normal file
@@ -0,0 +1,84 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE lmms-project>
|
||||
<lmms-project version="1.0" creator="LMMS" creatorversion="1.0.93" type="instrumenttracksettings">
|
||||
<head/>
|
||||
<instrumenttracksettings muted="0" type="0" name="Growl" solo="0">
|
||||
<instrumenttrack pan="0" fxch="0" pitchrange="1" pitch="0" basenote="57" vol="100">
|
||||
<instrument name="monstro">
|
||||
<monstro o1pw="30.72" v1e2="0" e2sus="1" l1att_numerator="4" e2rel="0" l1wav="0" e2dec_denominator="4" s3e1="0" o3vol="33" s3e2="0" w1l1="0" o2spo="0" w1l2="0" o2crs="-24" o1ssf="0" o1pan="0" p3l1="0" o2wav="11" p3l2="0" l2rat_denominator="4" o2ftl="0" e1dec_numerator="4" e2hol_denominator="4" p2l1="0" p2l2="0" o3wav1="3" o2syn="0" l1phs="0" o3wav2="3" o2ftr="0" o1ssr="0" p1l1="0" p1l2="0" w1e1="0" e2hol_numerator="4" w1e2="0.615" l1rat="214.3" l1rat_numerator="4" o2synr="0" p3e1="1" p3e2="0" e1att_numerator="4" e1dec_denominator="4" l2wav="0" p2e1="1" p2e2="0" e1dec="493" e1rel_denominator="4" l1att="351" o3spo="0" p1e1="1" o3crs="-24" p1e2="0" e2pre_numerator="4" e1pre="0" o2pan="0" e1hol_denominator="4" syncmode="0" l2att_denominator="4" e1att="86" e1hol="0" o3syn="0" f3l1="0" l2att_numerator="4" l2phs="0" f3l2="0" e2rel_numerator="4" f2l1="0" f2l2="0" e1pre_denominator="4" l2rat="1" e2att_denominator="4" o3synr="0" e2rel_denominator="4" o1vol="33" f1l1="0" f1l2="0" e1slo="0.44" e2dec_numerator="4" e2dec="0" f3e1="0" f3e2="0" l2att="0" f2e1="0" e2pre="0" f2e2="0" o3pan="0" o23mo="2" l1att_denominator="4" f1e1="0" e2att="194" f1e2="0" e2hol="919" e1sus="0.28" e2pre_denominator="4" v3l1="0" v3l2="0" e2att_numerator="4" e1rel="0" e1att_denominator="4" v2l1="0" v2l2="0" l2rat_numerator="4" e1hol_numerator="4" o2vol="4.4" v1l1="0" o1spo="0" v1l2="0" o1crs="-24" e1pre_numerator="4" e2slo="1" o3sub="0" v3e1="0" v3e2="0" o1ftl="0" v2e1="0" v2e2="0" s3l1="0" o1ftr="0" s3l2="0" l1rat_denominator="4" e1rel_numerator="4" v1e1="0"/>
|
||||
</instrument>
|
||||
<eldata fres="1.9" ftype="7" fcut="1" fwet="1">
|
||||
<elvol lspd_denominator="4" sustain="0" pdel="0" userwavefile="" dec="0.666" lamt="0" syncmode="0" latt="0" rel="0.054" amt="1" x100="0" att="0" lpdel="0" hold="0" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
<elcut lspd_denominator="4" sustain="0" pdel="0" userwavefile="" dec="0.316" lamt="0" syncmode="0" latt="0" rel="0.178" amt="1" x100="0" att="0.081" lpdel="0" hold="0" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
<elres lspd_denominator="4" sustain="0.5" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
</eldata>
|
||||
<chordcreator chord="0" chordrange="1" chord-enabled="0"/>
|
||||
<arpeggiator arptime="100" arprange="1" arptime_denominator="4" syncmode="0" arpmode="0" arp-enabled="0" arp="0" arptime_numerator="4" arpdir="0" arpgate="100"/>
|
||||
<midiport inputcontroller="0" inports="" fixedoutputvelocity="-1" inputchannel="0" outputcontroller="0" writable="0" outputchannel="1" fixedinputvelocity="-1" fixedoutputnote="-1" outputprogram="1" basevelocity="63" readable="1"/>
|
||||
<fxchain numofeffects="6" enabled="1">
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0" name="ladspaeffect" wet="1" on="1">
|
||||
<ladspacontrols ports="10">
|
||||
<port02 data="-47.97"/>
|
||||
<port03 data="-47.97"/>
|
||||
<port04 data="-47.97"/>
|
||||
<port05 data="5.4"/>
|
||||
<port06 data="6.12"/>
|
||||
<port07 data="9.18"/>
|
||||
<port08 data="10.26"/>
|
||||
<port09 data="6.3"/>
|
||||
<port010 data="12.78"/>
|
||||
<port011 data="9.18"/>
|
||||
</ladspacontrols>
|
||||
<key>
|
||||
<attribute value="caps" name="file"/>
|
||||
<attribute value="Eq2x2" name="plugin"/>
|
||||
</key>
|
||||
</effect>
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0" name="ladspaeffect" wet="1" on="1">
|
||||
<ladspacontrols link="1" ports="2">
|
||||
<port01 link="1" data="50.76"/>
|
||||
<port11 data="50.76"/>
|
||||
</ladspacontrols>
|
||||
<key>
|
||||
<attribute value="caps" name="file"/>
|
||||
<attribute value="Clip" name="plugin"/>
|
||||
</key>
|
||||
</effect>
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0.02" name="dualfilter" wet="1" on="1">
|
||||
<DualFilterControls gain2="100" cut1="197" cut2="229" mix="-0.14" res1="0.5" res2="0.5" filter1="1" filter2="1" enabled1="1" enabled2="1" gain1="100"/>
|
||||
<key/>
|
||||
</effect>
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="1" name="ladspaeffect" wet="1" on="1">
|
||||
<ladspacontrols link="1" ports="6">
|
||||
<port00 link="1" data="-4.875"/>
|
||||
<port01 link="1" data="1"/>
|
||||
<port02 link="1" data="0"/>
|
||||
<port10 data="-4.875"/>
|
||||
<port11 data="1"/>
|
||||
<port12 data="0"/>
|
||||
</ladspacontrols>
|
||||
<key>
|
||||
<attribute value="hard_limiter_1413" name="file"/>
|
||||
<attribute value="hardLimiter" name="plugin"/>
|
||||
</key>
|
||||
</effect>
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0" name="ladspaeffect" wet="1" on="1">
|
||||
<ladspacontrols ports="4">
|
||||
<port02 data="0.87472"/>
|
||||
<port03 data="0"/>
|
||||
<port04 data="0.249875"/>
|
||||
<port05 data="0.05"/>
|
||||
</ladspacontrols>
|
||||
<key>
|
||||
<attribute value="caps" name="file"/>
|
||||
<attribute value="Plate2x2" name="plugin"/>
|
||||
</key>
|
||||
</effect>
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0" name="stereoenhancer" wet="1" on="1">
|
||||
<stereoenhancercontrols width="6"/>
|
||||
<key/>
|
||||
</effect>
|
||||
</fxchain>
|
||||
</instrumenttrack>
|
||||
</instrumenttracksettings>
|
||||
</lmms-project>
|
||||
52
data/presets/Monstro/HorrorLead.xpf
Normal file
52
data/presets/Monstro/HorrorLead.xpf
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE lmms-project>
|
||||
<lmms-project version="1.0" creator="LMMS" creatorversion="1.0.93" type="instrumenttracksettings">
|
||||
<head/>
|
||||
<instrumenttracksettings muted="0" type="0" name="Horror Lead" solo="0">
|
||||
<instrumenttrack pan="0" fxch="0" pitchrange="1" pitch="0" basenote="57" vol="100">
|
||||
<instrument name="monstro">
|
||||
<monstro o1pw="87.65" v1e2="0" e2sus="1" l1att_numerator="4" e2rel="0" l1wav="0" e2dec_denominator="4" s3e1="0" o3vol="33" s3e2="0" w1l1="0" o2spo="0" w1l2="0" o2crs="0" o1ssf="0" o1pan="0" p3l1="0.076" o2wav="11" p3l2="0" l2rat_denominator="4" o2ftl="0" e1dec_numerator="4" e2hol_denominator="4" p2l1="0.337" p2l2="0" o3wav1="2" o2syn="0" l1phs="0" o3wav2="2" o2ftr="0" o1ssr="0" p1l1="0.689" p1l2="0" w1e1="0" e2hol_numerator="4" w1e2="-0.022" l1rat="135.9" l1rat_numerator="4" o2synr="0" p3e1="0" p3e2="0" e1att_numerator="4" e1dec_denominator="4" l2wav="0" p2e1="0" p2e2="1" e1dec="0" e1rel_denominator="4" l1att="176" o3spo="0" p1e1="0" o3crs="-24" p1e2="0" e2pre_numerator="4" e1pre="0" o2pan="0" e1hol_denominator="4" syncmode="0" l2att_denominator="4" e1att="70" e1hol="868" o3syn="0" f3l1="0" l2att_numerator="4" l2phs="0" f3l2="0" e2rel_numerator="4" f2l1="0" f2l2="0" e1pre_denominator="4" l2rat="1" e2att_denominator="4" o3synr="0" e2rel_denominator="4" o1vol="33" f1l1="0" f1l2="0" e1slo="0.333" e2dec_numerator="4" e2dec="0" f3e1="0" f3e2="0" l2att="0" f2e1="1" e2pre="0" f2e2="0" o3pan="0" o23mo="3" l1att_denominator="4" f1e1="1" e2att="572" f1e2="0" e2hol="1280" e1sus="1" e2pre_denominator="4" v3l1="0" v3l2="0" e2att_numerator="4" e1rel="0" e1att_denominator="4" v2l1="0" v2l2="0" l2rat_numerator="4" e1hol_numerator="4" o2vol="33" v1l1="0" o1spo="0" v1l2="0" o1crs="-12" e1pre_numerator="4" e2slo="0.208" o3sub="13.4" v3e1="0" v3e2="0" o1ftl="2" v2e1="0" v2e2="0" s3l1="0" o1ftr="0" s3l2="0" l1rat_denominator="4" e1rel_numerator="4" v1e1="0"/>
|
||||
</instrument>
|
||||
<eldata fres="0.51" ftype="1" fcut="249" fwet="1">
|
||||
<elvol lspd_denominator="4" sustain="0" pdel="0" userwavefile="" dec="0" lamt="0" syncmode="0" latt="0" rel="0" amt="0" x100="0" att="0" lpdel="0" hold="0" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
<elcut lspd_denominator="4" sustain="0.5" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
<elres lspd_denominator="4" sustain="0.5" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
</eldata>
|
||||
<chordcreator chord="0" chordrange="1" chord-enabled="0"/>
|
||||
<arpeggiator arptime="100" arprange="1" arptime_denominator="4" syncmode="0" arpmode="0" arp-enabled="0" arp="0" arptime_numerator="4" arpdir="0" arpgate="100"/>
|
||||
<midiport inputcontroller="0" inports="" fixedoutputvelocity="-1" inputchannel="0" outputcontroller="0" writable="0" outputchannel="1" fixedinputvelocity="62" fixedoutputnote="-1" outputprogram="1" basevelocity="63" readable="1"/>
|
||||
<fxchain numofeffects="3" enabled="1">
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="8000" gate="0.15" name="ladspaeffect" wet="1" on="1">
|
||||
<ladspacontrols ports="4">
|
||||
<port02 data="0.99897"/>
|
||||
<port03 data="0.749"/>
|
||||
<port04 data="0.0005"/>
|
||||
<port05 data="0.035"/>
|
||||
</ladspacontrols>
|
||||
<key>
|
||||
<attribute value="caps" name="file"/>
|
||||
<attribute value="Plate2x2" name="plugin"/>
|
||||
</key>
|
||||
</effect>
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0" name="ladspaeffect" wet="1" on="1">
|
||||
<ladspacontrols link="1" ports="6">
|
||||
<port00 link="1" data="-10.5"/>
|
||||
<port01 link="1" data="1"/>
|
||||
<port02 link="1" data="0"/>
|
||||
<port10 data="-10.5"/>
|
||||
<port11 data="1"/>
|
||||
<port12 data="0"/>
|
||||
</ladspacontrols>
|
||||
<key>
|
||||
<attribute value="hard_limiter_1413" name="file"/>
|
||||
<attribute value="hardLimiter" name="plugin"/>
|
||||
</key>
|
||||
</effect>
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0" name="amplifier" wet="1" on="1">
|
||||
<AmplifierControls right="100" pan="0" left="100" volume="200"/>
|
||||
<key/>
|
||||
</effect>
|
||||
</fxchain>
|
||||
</instrumenttrack>
|
||||
</instrumenttracksettings>
|
||||
</lmms-project>
|
||||
52
data/presets/Monstro/ScaryBell.xpf
Normal file
52
data/presets/Monstro/ScaryBell.xpf
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE lmms-project>
|
||||
<lmms-project version="1.0" creator="LMMS" creatorversion="1.0.93" type="instrumenttracksettings">
|
||||
<head/>
|
||||
<instrumenttracksettings muted="0" type="0" name="Scary Bell" solo="0">
|
||||
<instrumenttrack pan="0" fxch="0" pitchrange="1" pitch="0" basenote="57" vol="100">
|
||||
<instrument name="monstro">
|
||||
<monstro o1pw="50" v1e2="0" e2sus="1" l1att_numerator="4" e2rel="0" l1wav="0" e2dec_denominator="4" s3e1="0" o3vol="76.4" s3e2="0" w1l1="0" o2spo="0" w1l2="0" o2crs="12" o1ssf="0" o1pan="0" p3l1="0" o2wav="0" p3l2="0" l2rat_denominator="4" o2ftl="-1" e1dec_numerator="4" e2hol_denominator="4" p2l1="0" p2l2="0" o3wav1="10" o2syn="0" l1phs="0.4" o3wav2="6" o2ftr="0" o1ssr="0" p1l1="0" p1l2="0" w1e1="0" e2hol_numerator="4" w1e2="0" l1rat="107.1" l1rat_numerator="4" o2synr="0" p3e1="0" p3e2="0" e1att_numerator="4" e1dec_denominator="4" l2wav="0" p2e1="0" p2e2="0" e1dec="0" e1rel_denominator="4" l1att="10" o3spo="0" p1e1="0" o3crs="12" p1e2="0" e2pre_numerator="4" e1pre="0" o2pan="0" e1hol_denominator="4" syncmode="0" l2att_denominator="4" e1att="0" e1hol="0" o3syn="0" f3l1="0.019" l2att_numerator="4" l2phs="0" f3l2="0" e2rel_numerator="4" f2l1="0" f2l2="0" e1pre_denominator="4" l2rat="1" e2att_denominator="4" o3synr="0" e2rel_denominator="4" o1vol="0" f1l1="0" f1l2="0" e1slo="0" e2dec_numerator="4" e2dec="0" f3e1="0" f3e2="0" l2att="0" f2e1="0" e2pre="0" f2e2="0" o3pan="0.1" o23mo="0" l1att_denominator="4" f1e1="0" e2att="0" f1e2="0" e2hol="0" e1sus="1" e2pre_denominator="4" v3l1="0" v3l2="0" e2att_numerator="4" e1rel="0" e1att_denominator="4" v2l1="0" v2l2="0" l2rat_numerator="4" e1hol_numerator="4" o2vol="0" v1l1="0" o1spo="0" v1l2="0" o1crs="0" e1pre_numerator="4" e2slo="0" o3sub="-44.8" v3e1="0" v3e2="0" o1ftl="0" v2e1="0" v2e2="0" s3l1="0" o1ftr="0" s3l2="0" l1rat_denominator="4" e1rel_numerator="4" v1e1="0"/>
|
||||
</instrument>
|
||||
<eldata fres="0.5" ftype="1" fcut="471" fwet="1">
|
||||
<elvol lspd_denominator="4" sustain="0" pdel="0" userwavefile="" dec="0.547" lamt="0" syncmode="0" latt="0" rel="0.1" amt="1" x100="0" att="0.016" lpdel="0" hold="0" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
<elcut lspd_denominator="4" sustain="0.5" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
<elres lspd_denominator="4" sustain="0.5" pdel="0" userwavefile="" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
|
||||
</eldata>
|
||||
<chordcreator chord="0" chordrange="1" chord-enabled="0"/>
|
||||
<arpeggiator arptime="100" arprange="1" arptime_denominator="4" syncmode="0" arpmode="0" arp-enabled="0" arp="0" arptime_numerator="4" arpdir="0" arpgate="100"/>
|
||||
<midiport inputcontroller="0" fixedoutputvelocity="-1" inputchannel="0" outputcontroller="0" writable="0" outputchannel="1" fixedinputvelocity="-1" fixedoutputnote="-1" outputprogram="1" basevelocity="63" readable="0"/>
|
||||
<fxchain numofeffects="2" enabled="1">
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0" name="ladspaeffect" wet="1" on="1">
|
||||
<ladspacontrols ports="4">
|
||||
<port02 data="0.99897"/>
|
||||
<port03 data="0.375436"/>
|
||||
<port04 data="0.249875"/>
|
||||
<port05 data="0.25"/>
|
||||
</ladspacontrols>
|
||||
<key>
|
||||
<attribute value="caps" name="file"/>
|
||||
<attribute value="Plate2x2" name="plugin"/>
|
||||
</key>
|
||||
</effect>
|
||||
<effect autoquit_numerator="4" autoquit_denominator="4" syncmode="0" autoquit="1" gate="0" name="ladspaeffect" wet="1" on="0">
|
||||
<ladspacontrols ports="10">
|
||||
<port02 data="-47.97"/>
|
||||
<port03 data="-47.97"/>
|
||||
<port04 data="-47.97"/>
|
||||
<port05 data="0"/>
|
||||
<port06 data="0"/>
|
||||
<port07 data="0"/>
|
||||
<port08 data="0"/>
|
||||
<port09 data="4.32"/>
|
||||
<port010 data="5.4"/>
|
||||
<port011 data="5.94"/>
|
||||
</ladspacontrols>
|
||||
<key>
|
||||
<attribute value="caps" name="file"/>
|
||||
<attribute value="Eq2x2" name="plugin"/>
|
||||
</key>
|
||||
</effect>
|
||||
</fxchain>
|
||||
</instrumenttrack>
|
||||
</instrumenttracksettings>
|
||||
</lmms-project>
|
||||
34
data/presets/Watsyn/Pulse.xpf
Normal file
34
data/presets/Watsyn/Pulse.xpf
Normal file
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* file_browser.h - include file for fileBrowser
|
||||
* FileBrowser.h - include file for FileBrowser
|
||||
*
|
||||
* Copyright (c) 2004-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
@@ -23,8 +23,8 @@
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _FILE_BROWSER_H
|
||||
#define _FILE_BROWSER_H
|
||||
#ifndef FILE_BROWSER_H
|
||||
#define FILE_BROWSER_H
|
||||
|
||||
#include <QtCore/QDir>
|
||||
#include <QtCore/QMutex>
|
||||
@@ -36,36 +36,36 @@
|
||||
|
||||
class QLineEdit;
|
||||
|
||||
class fileItem;
|
||||
class FileItem;
|
||||
class InstrumentTrack;
|
||||
class fileBrowserTreeWidget;
|
||||
class FileBrowserTreeWidget;
|
||||
class PlayHandle;
|
||||
class TrackContainer;
|
||||
|
||||
|
||||
|
||||
class fileBrowser : public SideBarWidget
|
||||
class FileBrowser : public SideBarWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
fileBrowser( const QString & _directories, const QString & _filter,
|
||||
const QString & _title, const QPixmap & _pm,
|
||||
QWidget * _parent, bool _dirs_as_items = false );
|
||||
virtual ~fileBrowser();
|
||||
FileBrowser( const QString & directories, const QString & filter,
|
||||
const QString & title, const QPixmap & pm,
|
||||
QWidget * parent, bool dirs_as_items = false );
|
||||
virtual ~FileBrowser();
|
||||
|
||||
|
||||
public slots:
|
||||
void filterItems( const QString & _filter );
|
||||
void filterItems( const QString & filter );
|
||||
void reloadTree( void );
|
||||
|
||||
|
||||
private:
|
||||
bool filterItems( QTreeWidgetItem * _item, const QString & _filter );
|
||||
virtual void keyPressEvent( QKeyEvent * _ke );
|
||||
bool filterItems( QTreeWidgetItem * item, const QString & filter );
|
||||
virtual void keyPressEvent( QKeyEvent * ke );
|
||||
|
||||
void addItems( const QString & _path );
|
||||
void addItems( const QString & path );
|
||||
|
||||
fileBrowserTreeWidget * m_l;
|
||||
FileBrowserTreeWidget * m_l;
|
||||
|
||||
QLineEdit * m_filterEdit;
|
||||
|
||||
@@ -79,23 +79,23 @@ private:
|
||||
|
||||
|
||||
|
||||
class fileBrowserTreeWidget : public QTreeWidget
|
||||
class FileBrowserTreeWidget : public QTreeWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
fileBrowserTreeWidget( QWidget * _parent );
|
||||
virtual ~fileBrowserTreeWidget();
|
||||
FileBrowserTreeWidget( QWidget * parent );
|
||||
virtual ~FileBrowserTreeWidget();
|
||||
|
||||
|
||||
protected:
|
||||
virtual void contextMenuEvent( QContextMenuEvent * _e );
|
||||
virtual void mousePressEvent( QMouseEvent * _me );
|
||||
virtual void mouseMoveEvent( QMouseEvent * _me );
|
||||
virtual void mouseReleaseEvent( QMouseEvent * _me );
|
||||
virtual void contextMenuEvent( QContextMenuEvent * e );
|
||||
virtual void mousePressEvent( QMouseEvent * me );
|
||||
virtual void mouseMoveEvent( QMouseEvent * me );
|
||||
virtual void mouseReleaseEvent( QMouseEvent * me );
|
||||
|
||||
|
||||
private:
|
||||
void handleFile( fileItem * _fi, InstrumentTrack * _it );
|
||||
void handleFile( FileItem * fi, InstrumentTrack * it );
|
||||
void openInNewInstrumentTrack( TrackContainer* tc );
|
||||
|
||||
|
||||
@@ -105,53 +105,53 @@ private:
|
||||
PlayHandle* m_previewPlayHandle;
|
||||
QMutex m_pphMutex;
|
||||
|
||||
fileItem * m_contextMenuItem;
|
||||
FileItem * m_contextMenuItem;
|
||||
|
||||
|
||||
private slots:
|
||||
void activateListItem( QTreeWidgetItem * _item, int _column );
|
||||
void activateListItem( QTreeWidgetItem * item, int column );
|
||||
void openInNewInstrumentTrackBBE( void );
|
||||
void openInNewInstrumentTrackSE( void );
|
||||
void sendToActiveInstrumentTrack( void );
|
||||
void updateDirectory( QTreeWidgetItem * _item );
|
||||
void updateDirectory( QTreeWidgetItem * item );
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
class directory : public QTreeWidgetItem
|
||||
class Directory : public QTreeWidgetItem
|
||||
{
|
||||
public:
|
||||
directory( const QString & _filename, const QString & _path,
|
||||
const QString & _filter );
|
||||
Directory( const QString & filename, const QString & path,
|
||||
const QString & filter );
|
||||
|
||||
void update( void );
|
||||
|
||||
inline QString fullName( QString _path = QString::null )
|
||||
inline QString fullName( QString path = QString::null )
|
||||
{
|
||||
if( _path == QString::null )
|
||||
if( path == QString::null )
|
||||
{
|
||||
_path = m_directories[0];
|
||||
path = m_directories[0];
|
||||
}
|
||||
if( _path != QString::null )
|
||||
if( path != QString::null )
|
||||
{
|
||||
_path += QDir::separator();
|
||||
path += QDir::separator();
|
||||
}
|
||||
return( QDir::cleanPath( _path + text( 0 ) ) +
|
||||
return( QDir::cleanPath( path + text( 0 ) ) +
|
||||
QDir::separator() );
|
||||
}
|
||||
|
||||
inline void addDirectory( const QString & _dir )
|
||||
inline void addDirectory( const QString & dir )
|
||||
{
|
||||
m_directories.push_back( _dir );
|
||||
m_directories.push_back( dir );
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
void initPixmaps( void );
|
||||
|
||||
bool addItems( const QString & _path );
|
||||
bool addItems( const QString & path );
|
||||
|
||||
|
||||
static QPixmap * s_folderPixmap;
|
||||
@@ -166,7 +166,7 @@ private:
|
||||
|
||||
|
||||
|
||||
class fileItem : public QTreeWidgetItem
|
||||
class FileItem : public QTreeWidgetItem
|
||||
{
|
||||
public:
|
||||
enum FileTypes
|
||||
@@ -193,9 +193,9 @@ public:
|
||||
} ;
|
||||
|
||||
|
||||
fileItem( QTreeWidget * _parent, const QString & _name,
|
||||
const QString & _path );
|
||||
fileItem( const QString & _name, const QString & _path );
|
||||
FileItem( QTreeWidget * parent, const QString & name,
|
||||
const QString & path );
|
||||
FileItem( const QString & name, const QString & path );
|
||||
|
||||
inline QString fullName( void ) const
|
||||
{
|
||||
@@ -214,7 +214,7 @@ public:
|
||||
}
|
||||
|
||||
QString extension( void );
|
||||
static QString extension( const QString & _file );
|
||||
static QString extension( const QString & file );
|
||||
|
||||
|
||||
private:
|
||||
@@ -50,7 +50,10 @@ public:
|
||||
|
||||
void restoreJournallingState()
|
||||
{
|
||||
m_journalling = m_journallingStateStack.pop();
|
||||
if( !isJournallingStateStackEmpty())
|
||||
{
|
||||
m_journalling = m_journallingStateStack.pop();
|
||||
}
|
||||
}
|
||||
|
||||
void addJournalCheckPoint();
|
||||
@@ -77,6 +80,10 @@ public:
|
||||
return oldJournalling;
|
||||
}
|
||||
|
||||
bool isJournallingStateStackEmpty() const
|
||||
{
|
||||
return m_journallingStateStack.isEmpty();
|
||||
}
|
||||
|
||||
protected:
|
||||
void changeID( jo_id_t _id );
|
||||
|
||||
@@ -14,14 +14,14 @@ ADD_SUBDIRECTORY(lb302)
|
||||
ADD_SUBDIRECTORY(midi_import)
|
||||
ADD_SUBDIRECTORY(monstro)
|
||||
ADD_SUBDIRECTORY(nes)
|
||||
IF(NOT LMMS_BUILD_APPLE)
|
||||
ADD_SUBDIRECTORY(opl2)
|
||||
ENDIF()
|
||||
ADD_SUBDIRECTORY(opl2)
|
||||
ADD_SUBDIRECTORY(organic)
|
||||
ADD_SUBDIRECTORY(papu)
|
||||
ADD_SUBDIRECTORY(patman)
|
||||
ADD_SUBDIRECTORY(peak_controller_effect)
|
||||
ADD_SUBDIRECTORY(sf2_player)
|
||||
IF(NOT LMMS_BUILD_APPLE)
|
||||
ADD_SUBDIRECTORY(sf2_player)
|
||||
ENDIF()
|
||||
ADD_SUBDIRECTORY(sfxr)
|
||||
ADD_SUBDIRECTORY(sid)
|
||||
ADD_SUBDIRECTORY(SpectrumAnalyzer)
|
||||
|
||||
@@ -88,9 +88,9 @@ audioFileProcessor::audioFileProcessor( InstrumentTrack * _instrument_track ) :
|
||||
connect( &m_ampModel, SIGNAL( dataChanged() ),
|
||||
this, SLOT( ampModelChanged() ) );
|
||||
connect( &m_startPointModel, SIGNAL( dataChanged() ),
|
||||
this, SLOT( loopPointChanged() ) );
|
||||
this, SLOT( startPointChanged() ) );
|
||||
connect( &m_endPointModel, SIGNAL( dataChanged() ),
|
||||
this, SLOT( loopPointChanged() ) );
|
||||
this, SLOT( endPointChanged() ) );
|
||||
connect( &m_loopPointModel, SIGNAL( dataChanged() ),
|
||||
this, SLOT( loopPointChanged() ) );
|
||||
connect( &m_stutterModel, SIGNAL( dataChanged() ),
|
||||
@@ -102,7 +102,7 @@ audioFileProcessor::audioFileProcessor( InstrumentTrack * _instrument_track ) :
|
||||
m_interpolationModel.addItem( tr( "Sinc" ) );
|
||||
m_interpolationModel.setValue( 1 );
|
||||
|
||||
loopPointChanged();
|
||||
pointChanged();
|
||||
}
|
||||
|
||||
|
||||
@@ -267,7 +267,7 @@ void audioFileProcessor::loadSettings( const QDomElement & _this )
|
||||
m_interpolationModel.setValue( 1 ); //linear by default
|
||||
}
|
||||
|
||||
loopPointChanged();
|
||||
pointChanged();
|
||||
}
|
||||
|
||||
|
||||
@@ -353,9 +353,7 @@ void audioFileProcessor::stutterModelChanged()
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void audioFileProcessor::loopPointChanged( void )
|
||||
void audioFileProcessor::startPointChanged( void )
|
||||
{
|
||||
// check if start is over end and swap values if so
|
||||
if( m_startPointModel.value() > m_endPointModel.value() )
|
||||
@@ -365,11 +363,37 @@ void audioFileProcessor::loopPointChanged( void )
|
||||
m_startPointModel.setValue( tmp );
|
||||
}
|
||||
|
||||
// nudge loop point with end
|
||||
if( m_loopPointModel.value() >= m_endPointModel.value() )
|
||||
{
|
||||
m_loopPointModel.setValue( qMax( m_endPointModel.value() - 0.001f, 0.0f ) );
|
||||
}
|
||||
|
||||
// nudge loop point with start
|
||||
if( m_loopPointModel.value() < m_startPointModel.value() )
|
||||
{
|
||||
m_loopPointModel.setValue( m_startPointModel.value() );
|
||||
}
|
||||
|
||||
// check if start & end overlap and nudge end up if so
|
||||
if( m_startPointModel.value() == m_endPointModel.value() )
|
||||
{
|
||||
m_endPointModel.setValue( qMin( m_endPointModel.value() + 0.001f, 1.0f ) );
|
||||
}
|
||||
|
||||
pointChanged();
|
||||
|
||||
}
|
||||
|
||||
void audioFileProcessor::endPointChanged( void )
|
||||
{
|
||||
// same as start, for now
|
||||
startPointChanged();
|
||||
|
||||
}
|
||||
|
||||
void audioFileProcessor::loopPointChanged( void )
|
||||
{
|
||||
|
||||
// check that loop point is between start-end points and not overlapping with endpoint
|
||||
// ...and move start/end points ahead if loop point is moved over them
|
||||
@@ -381,11 +405,18 @@ void audioFileProcessor::loopPointChanged( void )
|
||||
m_loopPointModel.setValue( 1.0f - 0.001f );
|
||||
}
|
||||
}
|
||||
|
||||
// nudge start point with loop
|
||||
if( m_loopPointModel.value() < m_startPointModel.value() )
|
||||
{
|
||||
m_startPointModel.setValue( m_loopPointModel.value() );
|
||||
}
|
||||
|
||||
pointChanged();
|
||||
}
|
||||
|
||||
void audioFileProcessor::pointChanged( void )
|
||||
{
|
||||
const f_cnt_t f_start = static_cast<f_cnt_t>( m_startPointModel.value() * ( m_sampleBuffer.frames()-1 ) );
|
||||
const f_cnt_t f_end = static_cast<f_cnt_t>( m_endPointModel.value() * ( m_sampleBuffer.frames()-1 ) );
|
||||
const f_cnt_t f_loop = static_cast<f_cnt_t>( m_loopPointModel.value() * ( m_sampleBuffer.frames()-1 ) );
|
||||
@@ -400,6 +431,8 @@ void audioFileProcessor::loopPointChanged( void )
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
QPixmap * AudioFileProcessorView::s_artwork = NULL;
|
||||
|
||||
|
||||
@@ -450,9 +483,9 @@ AudioFileProcessorView::AudioFileProcessorView( Instrument * _instrument,
|
||||
m_loopOffButton->setCheckable( true );
|
||||
m_loopOffButton->move( 190, 105 );
|
||||
m_loopOffButton->setActiveGraphic( PLUGIN_NAME::getIconPixmap(
|
||||
"loop_off_on" ) );
|
||||
m_loopOffButton->setInactiveGraphic( PLUGIN_NAME::getIconPixmap(
|
||||
"loop_off_off" ) );
|
||||
m_loopOffButton->setInactiveGraphic( PLUGIN_NAME::getIconPixmap(
|
||||
"loop_off_on" ) );
|
||||
toolTip::add( m_loopOffButton, tr( "Disable loop" ) );
|
||||
m_loopOffButton->setWhatsThis(
|
||||
tr( "This button disables looping. "
|
||||
|
||||
@@ -75,6 +75,9 @@ private slots:
|
||||
void reverseModelChanged();
|
||||
void ampModelChanged();
|
||||
void loopPointChanged();
|
||||
void startPointChanged();
|
||||
void endPointChanged();
|
||||
void pointChanged();
|
||||
void stutterModelChanged();
|
||||
|
||||
|
||||
|
||||
@@ -529,6 +529,9 @@ ZynAddSubFxView::ZynAddSubFxView( Instrument * _instrument, QWidget * _parent )
|
||||
|
||||
m_toggleUIButton = new QPushButton( tr( "Show GUI" ), this );
|
||||
m_toggleUIButton->setCheckable( true );
|
||||
#ifdef LMMS_BUILD_APPLE
|
||||
m_toggleUIButton->setEnabled( false );
|
||||
#endif
|
||||
m_toggleUIButton->setChecked( false );
|
||||
m_toggleUIButton->setIcon( embed::getIconPixmap( "zoom" ) );
|
||||
m_toggleUIButton->setFont( pointSize<8>( m_toggleUIButton->font() ) );
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* file_browser.cpp - implementation of the project-, preset- and
|
||||
* FileBrowser.cpp - implementation of the project-, preset- and
|
||||
* sample-file-browser
|
||||
*
|
||||
* Copyright (c) 2004-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
@@ -32,7 +32,7 @@
|
||||
#include <QMdiArea>
|
||||
#include <QMdiSubWindow>
|
||||
|
||||
#include "file_browser.h"
|
||||
#include "FileBrowser.h"
|
||||
#include "bb_track_container.h"
|
||||
#include "config_mgr.h"
|
||||
#include "debug.h"
|
||||
@@ -60,16 +60,16 @@ enum TreeWidgetItemTypes
|
||||
|
||||
|
||||
|
||||
fileBrowser::fileBrowser( const QString & _directories, const QString & _filter,
|
||||
const QString & _title, const QPixmap & _pm,
|
||||
QWidget * _parent, bool _dirs_as_items ) :
|
||||
SideBarWidget( _title, _pm, _parent ),
|
||||
m_directories( _directories ),
|
||||
m_filter( _filter ),
|
||||
m_dirsAsItems( _dirs_as_items )
|
||||
FileBrowser::FileBrowser(const QString & directories, const QString & filter,
|
||||
const QString & title, const QPixmap & pm,
|
||||
QWidget * parent, bool dirs_as_items ) :
|
||||
SideBarWidget( title, pm, parent ),
|
||||
m_directories( directories ),
|
||||
m_filter( filter ),
|
||||
m_dirsAsItems( dirs_as_items )
|
||||
{
|
||||
setWindowTitle( tr( "Browser" ) );
|
||||
m_l = new fileBrowserTreeWidget( contentParent() );
|
||||
m_l = new FileBrowserTreeWidget( contentParent() );
|
||||
addContentWidget( m_l );
|
||||
|
||||
QWidget * ops = new QWidget( contentParent() );
|
||||
@@ -101,16 +101,16 @@ fileBrowser::fileBrowser( const QString & _directories, const QString & _filter,
|
||||
|
||||
|
||||
|
||||
fileBrowser::~fileBrowser()
|
||||
FileBrowser::~FileBrowser()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void fileBrowser::filterItems( const QString & _filter )
|
||||
void FileBrowser::filterItems( const QString & filter )
|
||||
{
|
||||
const bool show_all = _filter.isEmpty();
|
||||
const bool show_all = filter.isEmpty();
|
||||
|
||||
for( int i = 0; i < m_l->topLevelItemCount(); ++i )
|
||||
{
|
||||
@@ -121,7 +121,7 @@ void fileBrowser::filterItems( const QString & _filter )
|
||||
it->setHidden( false );
|
||||
if( it->childCount() )
|
||||
{
|
||||
filterItems( it, _filter );
|
||||
filterItems( it, filter );
|
||||
}
|
||||
}
|
||||
// is directory?
|
||||
@@ -129,7 +129,7 @@ void fileBrowser::filterItems( const QString & _filter )
|
||||
{
|
||||
// matches filter?
|
||||
if( it->text( 0 ).
|
||||
contains( _filter, Qt::CaseInsensitive ) )
|
||||
contains( filter, Qt::CaseInsensitive ) )
|
||||
{
|
||||
// yes, then show everything below
|
||||
it->setHidden( false );
|
||||
@@ -138,7 +138,7 @@ void fileBrowser::filterItems( const QString & _filter )
|
||||
else
|
||||
{
|
||||
// only show if item below matches filter
|
||||
it->setHidden( !filterItems( it, _filter ) );
|
||||
it->setHidden( !filterItems( it, filter ) );
|
||||
}
|
||||
}
|
||||
// a standard item (i.e. no file or directory item?)
|
||||
@@ -151,7 +151,7 @@ void fileBrowser::filterItems( const QString & _filter )
|
||||
{
|
||||
// file matches filter?
|
||||
it->setHidden( !it->text( 0 ).
|
||||
contains( _filter, Qt::CaseInsensitive ) );
|
||||
contains( filter, Qt::CaseInsensitive ) );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -160,14 +160,14 @@ void fileBrowser::filterItems( const QString & _filter )
|
||||
|
||||
|
||||
|
||||
bool fileBrowser::filterItems( QTreeWidgetItem * _item, const QString & _filter )
|
||||
bool FileBrowser::filterItems(QTreeWidgetItem * item, const QString & filter )
|
||||
{
|
||||
const bool show_all = _filter.isEmpty();
|
||||
const bool show_all = filter.isEmpty();
|
||||
bool matched = false;
|
||||
|
||||
for( int i = 0; i < _item->childCount(); ++i )
|
||||
for( int i = 0; i < item->childCount(); ++i )
|
||||
{
|
||||
QTreeWidgetItem * it = _item->child( i );
|
||||
QTreeWidgetItem * it = item->child( i );
|
||||
bool cm = false; // whether current item matched
|
||||
// show all items if filter is empty
|
||||
if( show_all )
|
||||
@@ -175,7 +175,7 @@ bool fileBrowser::filterItems( QTreeWidgetItem * _item, const QString & _filter
|
||||
it->setHidden( false );
|
||||
if( it->childCount() )
|
||||
{
|
||||
filterItems( it, _filter );
|
||||
filterItems( it, filter );
|
||||
}
|
||||
}
|
||||
// is directory?
|
||||
@@ -183,7 +183,7 @@ bool fileBrowser::filterItems( QTreeWidgetItem * _item, const QString & _filter
|
||||
{
|
||||
// matches filter?
|
||||
if( it->text( 0 ).
|
||||
contains( _filter, Qt::CaseInsensitive ) )
|
||||
contains( filter, Qt::CaseInsensitive ) )
|
||||
{
|
||||
// yes, then show everything below
|
||||
it->setHidden( false );
|
||||
@@ -193,7 +193,7 @@ bool fileBrowser::filterItems( QTreeWidgetItem * _item, const QString & _filter
|
||||
else
|
||||
{
|
||||
// only show if item below matches filter
|
||||
cm = filterItems( it, _filter );
|
||||
cm = filterItems( it, filter );
|
||||
it->setHidden( !cm );
|
||||
}
|
||||
}
|
||||
@@ -207,7 +207,7 @@ bool fileBrowser::filterItems( QTreeWidgetItem * _item, const QString & _filter
|
||||
{
|
||||
// file matches filter?
|
||||
cm = it->text( 0 ).
|
||||
contains( _filter, Qt::CaseInsensitive );
|
||||
contains( filter, Qt::CaseInsensitive );
|
||||
it->setHidden( !cm );
|
||||
}
|
||||
|
||||
@@ -223,7 +223,7 @@ bool fileBrowser::filterItems( QTreeWidgetItem * _item, const QString & _filter
|
||||
|
||||
|
||||
|
||||
void fileBrowser::reloadTree( void )
|
||||
void FileBrowser::reloadTree( void )
|
||||
{
|
||||
const QString text = m_filterEdit->text();
|
||||
m_filterEdit->clear();
|
||||
@@ -240,16 +240,16 @@ void fileBrowser::reloadTree( void )
|
||||
|
||||
|
||||
|
||||
void fileBrowser::addItems( const QString & _path )
|
||||
void FileBrowser::addItems(const QString & path )
|
||||
{
|
||||
if( m_dirsAsItems )
|
||||
{
|
||||
m_l->addTopLevelItem( new directory( _path,
|
||||
m_l->addTopLevelItem( new Directory( path,
|
||||
QString::null, m_filter ) );
|
||||
return;
|
||||
}
|
||||
|
||||
QDir cdir( _path );
|
||||
QDir cdir( path );
|
||||
QStringList files = cdir.entryList( QDir::Dirs, QDir::Name );
|
||||
for( QStringList::const_iterator it = files.constBegin();
|
||||
it != files.constEnd(); ++it )
|
||||
@@ -260,27 +260,27 @@ void fileBrowser::addItems( const QString & _path )
|
||||
bool orphan = true;
|
||||
for( int i = 0; i < m_l->topLevelItemCount(); ++i )
|
||||
{
|
||||
directory * d = dynamic_cast<directory *>(
|
||||
Directory * d = dynamic_cast<Directory *>(
|
||||
m_l->topLevelItem( i ) );
|
||||
if( d == NULL || cur_file < d->text( 0 ) )
|
||||
{
|
||||
m_l->insertTopLevelItem( i,
|
||||
new directory( cur_file, _path,
|
||||
new Directory( cur_file, path,
|
||||
m_filter ) );
|
||||
orphan = false;
|
||||
break;
|
||||
}
|
||||
else if( cur_file == d->text( 0 ) )
|
||||
{
|
||||
d->addDirectory( _path );
|
||||
d->addDirectory( path );
|
||||
orphan = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( orphan )
|
||||
{
|
||||
m_l->addTopLevelItem( new directory( cur_file,
|
||||
_path, m_filter ) );
|
||||
m_l->addTopLevelItem( new Directory( cur_file,
|
||||
path, m_filter ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -300,7 +300,7 @@ void fileBrowser::addItems( const QString & _path )
|
||||
{
|
||||
delete existing.front();
|
||||
}
|
||||
(void) new fileItem( m_l, cur_file, _path );
|
||||
(void) new FileItem( m_l, cur_file, path );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -308,15 +308,15 @@ void fileBrowser::addItems( const QString & _path )
|
||||
|
||||
|
||||
|
||||
void fileBrowser::keyPressEvent( QKeyEvent * _ke )
|
||||
void FileBrowser::keyPressEvent(QKeyEvent * ke )
|
||||
{
|
||||
if( _ke->key() == Qt::Key_F5 )
|
||||
if( ke->key() == Qt::Key_F5 )
|
||||
{
|
||||
reloadTree();
|
||||
}
|
||||
else
|
||||
{
|
||||
_ke->ignore();
|
||||
ke->ignore();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -327,8 +327,8 @@ void fileBrowser::keyPressEvent( QKeyEvent * _ke )
|
||||
|
||||
|
||||
|
||||
fileBrowserTreeWidget::fileBrowserTreeWidget( QWidget * _parent ) :
|
||||
QTreeWidget( _parent ),
|
||||
FileBrowserTreeWidget::FileBrowserTreeWidget(QWidget * parent ) :
|
||||
QTreeWidget( parent ),
|
||||
m_mousePressed( false ),
|
||||
m_pressPos(),
|
||||
m_previewPlayHandle( NULL ),
|
||||
@@ -352,18 +352,18 @@ fileBrowserTreeWidget::fileBrowserTreeWidget( QWidget * _parent ) :
|
||||
|
||||
|
||||
|
||||
fileBrowserTreeWidget::~fileBrowserTreeWidget()
|
||||
FileBrowserTreeWidget::~FileBrowserTreeWidget()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::contextMenuEvent( QContextMenuEvent * _e )
|
||||
void FileBrowserTreeWidget::contextMenuEvent(QContextMenuEvent * e )
|
||||
{
|
||||
fileItem * f = dynamic_cast<fileItem *>( itemAt( _e->pos() ) );
|
||||
if( f != NULL && ( f->handling() == fileItem::LoadAsPreset ||
|
||||
f->handling() == fileItem::LoadByPlugin ) )
|
||||
FileItem * f = dynamic_cast<FileItem *>( itemAt( e->pos() ) );
|
||||
if( f != NULL && ( f->handling() == FileItem::LoadAsPreset ||
|
||||
f->handling() == FileItem::LoadByPlugin ) )
|
||||
{
|
||||
m_contextMenuItem = f;
|
||||
QMenu contextMenu( this );
|
||||
@@ -378,7 +378,7 @@ void fileBrowserTreeWidget::contextMenuEvent( QContextMenuEvent * _e )
|
||||
"B+B Editor" ),
|
||||
this,
|
||||
SLOT( openInNewInstrumentTrackBBE() ) );
|
||||
contextMenu.exec( _e->globalPos() );
|
||||
contextMenu.exec( e->globalPos() );
|
||||
m_contextMenuItem = NULL;
|
||||
}
|
||||
}
|
||||
@@ -386,15 +386,15 @@ void fileBrowserTreeWidget::contextMenuEvent( QContextMenuEvent * _e )
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::mousePressEvent( QMouseEvent * _me )
|
||||
void FileBrowserTreeWidget::mousePressEvent(QMouseEvent * me )
|
||||
{
|
||||
QTreeWidget::mousePressEvent( _me );
|
||||
if( _me->button() != Qt::LeftButton )
|
||||
QTreeWidget::mousePressEvent( me );
|
||||
if( me->button() != Qt::LeftButton )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
QTreeWidgetItem * i = itemAt( _me->pos() );
|
||||
QTreeWidgetItem * i = itemAt( me->pos() );
|
||||
if ( i )
|
||||
{
|
||||
// TODO: Restrict to visible selection
|
||||
@@ -404,12 +404,12 @@ void fileBrowserTreeWidget::mousePressEvent( QMouseEvent * _me )
|
||||
// _me->x() < header()->cellPos(
|
||||
// header()->mapToActual( 0 ) ) )
|
||||
// {
|
||||
m_pressPos = _me->pos();
|
||||
m_pressPos = me->pos();
|
||||
m_mousePressed = true;
|
||||
// }
|
||||
}
|
||||
|
||||
fileItem * f = dynamic_cast<fileItem *>( i );
|
||||
FileItem * f = dynamic_cast<FileItem *>( i );
|
||||
if( f != NULL )
|
||||
{
|
||||
m_pphMutex.lock();
|
||||
@@ -422,7 +422,7 @@ void fileBrowserTreeWidget::mousePressEvent( QMouseEvent * _me )
|
||||
|
||||
// in special case of sample-files we do not care about
|
||||
// handling() rather than directly creating a SamplePlayHandle
|
||||
if( f->type() == fileItem::SampleFile )
|
||||
if( f->type() == FileItem::SampleFile )
|
||||
{
|
||||
textFloat * tf = textFloat::displayMessage(
|
||||
tr( "Loading sample" ),
|
||||
@@ -438,11 +438,11 @@ void fileBrowserTreeWidget::mousePressEvent( QMouseEvent * _me )
|
||||
m_previewPlayHandle = s;
|
||||
delete tf;
|
||||
}
|
||||
else if( f->type() != fileItem::VstPluginFile &&
|
||||
( f->handling() == fileItem::LoadAsPreset ||
|
||||
f->handling() == fileItem::LoadByPlugin ) )
|
||||
else if( f->type() != FileItem::VstPluginFile &&
|
||||
( f->handling() == FileItem::LoadAsPreset ||
|
||||
f->handling() == FileItem::LoadByPlugin ) )
|
||||
{
|
||||
m_previewPlayHandle = new PresetPreviewPlayHandle( f->fullName(), f->handling() == fileItem::LoadByPlugin );
|
||||
m_previewPlayHandle = new PresetPreviewPlayHandle( f->fullName(), f->handling() == FileItem::LoadByPlugin );
|
||||
}
|
||||
if( m_previewPlayHandle != NULL )
|
||||
{
|
||||
@@ -459,40 +459,40 @@ void fileBrowserTreeWidget::mousePressEvent( QMouseEvent * _me )
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::mouseMoveEvent( QMouseEvent * _me )
|
||||
void FileBrowserTreeWidget::mouseMoveEvent( QMouseEvent * me )
|
||||
{
|
||||
if( m_mousePressed == true &&
|
||||
( m_pressPos - _me->pos() ).manhattanLength() >
|
||||
( m_pressPos - me->pos() ).manhattanLength() >
|
||||
QApplication::startDragDistance() )
|
||||
{
|
||||
// make sure any playback is stopped
|
||||
mouseReleaseEvent( NULL );
|
||||
|
||||
fileItem * f = dynamic_cast<fileItem *>( itemAt( m_pressPos ) );
|
||||
FileItem * f = dynamic_cast<FileItem *>( itemAt( m_pressPos ) );
|
||||
if( f != NULL )
|
||||
{
|
||||
switch( f->type() )
|
||||
{
|
||||
case fileItem::PresetFile:
|
||||
new stringPairDrag( f->handling() == fileItem::LoadAsPreset ?
|
||||
case FileItem::PresetFile:
|
||||
new stringPairDrag( f->handling() == FileItem::LoadAsPreset ?
|
||||
"presetfile" : "pluginpresetfile",
|
||||
f->fullName(),
|
||||
embed::getIconPixmap( "preset_file" ), this );
|
||||
break;
|
||||
|
||||
case fileItem::SampleFile:
|
||||
case FileItem::SampleFile:
|
||||
new stringPairDrag( "samplefile", f->fullName(),
|
||||
embed::getIconPixmap( "sample_file" ), this );
|
||||
break;
|
||||
case fileItem::SoundFontFile:
|
||||
case FileItem::SoundFontFile:
|
||||
new stringPairDrag( "soundfontfile", f->fullName(),
|
||||
embed::getIconPixmap( "soundfont_file" ), this );
|
||||
break;
|
||||
case fileItem::VstPluginFile:
|
||||
case FileItem::VstPluginFile:
|
||||
new stringPairDrag( "vstpluginfile", f->fullName(),
|
||||
embed::getIconPixmap( "vst_plugin_file" ), this );
|
||||
break;
|
||||
case fileItem::MidiFile:
|
||||
case FileItem::MidiFile:
|
||||
// don't allow dragging FLP-files as FLP import filter clears project
|
||||
// without asking
|
||||
// case fileItem::FlpFile:
|
||||
@@ -510,7 +510,7 @@ void fileBrowserTreeWidget::mouseMoveEvent( QMouseEvent * _me )
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::mouseReleaseEvent( QMouseEvent * _me )
|
||||
void FileBrowserTreeWidget::mouseReleaseEvent(QMouseEvent * me )
|
||||
{
|
||||
m_mousePressed = false;
|
||||
|
||||
@@ -543,43 +543,43 @@ void fileBrowserTreeWidget::mouseReleaseEvent( QMouseEvent * _me )
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::handleFile( fileItem * f, InstrumentTrack * _it )
|
||||
void FileBrowserTreeWidget::handleFile(FileItem * f, InstrumentTrack * it )
|
||||
{
|
||||
engine::mixer()->lock();
|
||||
switch( f->handling() )
|
||||
{
|
||||
case fileItem::LoadAsProject:
|
||||
case FileItem::LoadAsProject:
|
||||
if( engine::mainWindow()->mayChangeProject() )
|
||||
{
|
||||
engine::getSong()->loadProject( f->fullName() );
|
||||
}
|
||||
break;
|
||||
|
||||
case fileItem::LoadByPlugin:
|
||||
case FileItem::LoadByPlugin:
|
||||
{
|
||||
const QString e = f->extension();
|
||||
Instrument * i = _it->instrument();
|
||||
Instrument * i = it->instrument();
|
||||
if( i == NULL ||
|
||||
!i->descriptor()->supportsFileType( e ) )
|
||||
{
|
||||
i = _it->loadInstrument(
|
||||
i = it->loadInstrument(
|
||||
engine::pluginFileHandling()[e] );
|
||||
}
|
||||
i->loadFile( f->fullName() );
|
||||
break;
|
||||
}
|
||||
|
||||
case fileItem::LoadAsPreset:
|
||||
case FileItem::LoadAsPreset:
|
||||
{
|
||||
DataFile dataFile( f->fullName() );
|
||||
InstrumentTrack::removeMidiPortNode( dataFile );
|
||||
_it->setSimpleSerializing();
|
||||
_it->loadSettings( dataFile.content().toElement() );
|
||||
it->setSimpleSerializing();
|
||||
it->loadSettings( dataFile.content().toElement() );
|
||||
break;
|
||||
}
|
||||
|
||||
case fileItem::ImportAsProject:
|
||||
if( f->type() == fileItem::FlpFile &&
|
||||
case FileItem::ImportAsProject:
|
||||
if( f->type() == FileItem::FlpFile &&
|
||||
!engine::mainWindow()->mayChangeProject() )
|
||||
{
|
||||
break;
|
||||
@@ -588,7 +588,7 @@ void fileBrowserTreeWidget::handleFile( fileItem * f, InstrumentTrack * _it )
|
||||
engine::getSong() );
|
||||
break;
|
||||
|
||||
case fileItem::NotSupported:
|
||||
case FileItem::NotSupported:
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -599,21 +599,21 @@ void fileBrowserTreeWidget::handleFile( fileItem * f, InstrumentTrack * _it )
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::activateListItem( QTreeWidgetItem * _item,
|
||||
int _column )
|
||||
void FileBrowserTreeWidget::activateListItem(QTreeWidgetItem * item,
|
||||
int column )
|
||||
{
|
||||
fileItem * f = dynamic_cast<fileItem *>( _item );
|
||||
FileItem * f = dynamic_cast<FileItem *>( item );
|
||||
if( f == NULL )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if( f->handling() == fileItem::LoadAsProject ||
|
||||
f->handling() == fileItem::ImportAsProject )
|
||||
if( f->handling() == FileItem::LoadAsProject ||
|
||||
f->handling() == FileItem::ImportAsProject )
|
||||
{
|
||||
handleFile( f, NULL );
|
||||
}
|
||||
else if( f->handling() != fileItem::NotSupported )
|
||||
else if( f->handling() != FileItem::NotSupported )
|
||||
{
|
||||
// engine::mixer()->lock();
|
||||
InstrumentTrack * it = dynamic_cast<InstrumentTrack *>(
|
||||
@@ -627,10 +627,10 @@ void fileBrowserTreeWidget::activateListItem( QTreeWidgetItem * _item,
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::openInNewInstrumentTrack( TrackContainer* tc )
|
||||
void FileBrowserTreeWidget::openInNewInstrumentTrack( TrackContainer* tc )
|
||||
{
|
||||
if( m_contextMenuItem->handling() == fileItem::LoadAsPreset ||
|
||||
m_contextMenuItem->handling() == fileItem::LoadByPlugin )
|
||||
if( m_contextMenuItem->handling() == FileItem::LoadAsPreset ||
|
||||
m_contextMenuItem->handling() == FileItem::LoadByPlugin )
|
||||
{
|
||||
// engine::mixer()->lock();
|
||||
InstrumentTrack * it = dynamic_cast<InstrumentTrack *>(
|
||||
@@ -643,7 +643,7 @@ void fileBrowserTreeWidget::openInNewInstrumentTrack( TrackContainer* tc )
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::openInNewInstrumentTrackBBE( void )
|
||||
void FileBrowserTreeWidget::openInNewInstrumentTrackBBE( void )
|
||||
{
|
||||
openInNewInstrumentTrack( engine::getBBTrackContainer() );
|
||||
}
|
||||
@@ -651,7 +651,7 @@ void fileBrowserTreeWidget::openInNewInstrumentTrackBBE( void )
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::openInNewInstrumentTrackSE( void )
|
||||
void FileBrowserTreeWidget::openInNewInstrumentTrackSE( void )
|
||||
{
|
||||
openInNewInstrumentTrack( engine::getSong() );
|
||||
}
|
||||
@@ -659,7 +659,7 @@ void fileBrowserTreeWidget::openInNewInstrumentTrackSE( void )
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::sendToActiveInstrumentTrack( void )
|
||||
void FileBrowserTreeWidget::sendToActiveInstrumentTrack( void )
|
||||
{
|
||||
// get all windows opened in the workspace
|
||||
QList<QMdiSubWindow*> pl =
|
||||
@@ -685,9 +685,9 @@ void fileBrowserTreeWidget::sendToActiveInstrumentTrack( void )
|
||||
|
||||
|
||||
|
||||
void fileBrowserTreeWidget::updateDirectory( QTreeWidgetItem * _item )
|
||||
void FileBrowserTreeWidget::updateDirectory(QTreeWidgetItem * item )
|
||||
{
|
||||
directory * dir = dynamic_cast<directory *>( _item );
|
||||
Directory * dir = dynamic_cast<Directory *>( item );
|
||||
if( dir != NULL )
|
||||
{
|
||||
dir->update();
|
||||
@@ -699,16 +699,16 @@ void fileBrowserTreeWidget::updateDirectory( QTreeWidgetItem * _item )
|
||||
|
||||
|
||||
|
||||
QPixmap * directory::s_folderPixmap = NULL;
|
||||
QPixmap * directory::s_folderOpenedPixmap = NULL;
|
||||
QPixmap * directory::s_folderLockedPixmap = NULL;
|
||||
QPixmap * Directory::s_folderPixmap = NULL;
|
||||
QPixmap * Directory::s_folderOpenedPixmap = NULL;
|
||||
QPixmap * Directory::s_folderLockedPixmap = NULL;
|
||||
|
||||
|
||||
directory::directory( const QString & _name, const QString & _path,
|
||||
const QString & _filter ) :
|
||||
QTreeWidgetItem( QStringList( _name ), TypeDirectoryItem ),
|
||||
m_directories( _path ),
|
||||
m_filter( _filter )
|
||||
Directory::Directory(const QString & filename, const QString & path,
|
||||
const QString & filter ) :
|
||||
QTreeWidgetItem( QStringList( filename ), TypeDirectoryItem ),
|
||||
m_directories( path ),
|
||||
m_filter( filter )
|
||||
{
|
||||
initPixmaps();
|
||||
|
||||
@@ -727,7 +727,7 @@ directory::directory( const QString & _name, const QString & _path,
|
||||
|
||||
|
||||
|
||||
void directory::initPixmaps( void )
|
||||
void Directory::initPixmaps( void )
|
||||
{
|
||||
if( s_folderPixmap == NULL )
|
||||
{
|
||||
@@ -751,7 +751,7 @@ void directory::initPixmaps( void )
|
||||
|
||||
|
||||
|
||||
void directory::update( void )
|
||||
void Directory::update( void )
|
||||
{
|
||||
if( !isExpanded() )
|
||||
{
|
||||
@@ -772,7 +772,7 @@ void directory::update( void )
|
||||
{
|
||||
QTreeWidgetItem * sep = new QTreeWidgetItem;
|
||||
sep->setText( 0,
|
||||
fileBrowserTreeWidget::tr(
|
||||
FileBrowserTreeWidget::tr(
|
||||
"--- Factory files ---" ) );
|
||||
sep->setIcon( 0, embed::getIconPixmap(
|
||||
"factory_files" ) );
|
||||
@@ -785,9 +785,9 @@ void directory::update( void )
|
||||
|
||||
|
||||
|
||||
bool directory::addItems( const QString & _path )
|
||||
bool Directory::addItems(const QString & path )
|
||||
{
|
||||
QDir thisDir( _path );
|
||||
QDir thisDir( path );
|
||||
if( !thisDir.isReadable() )
|
||||
{
|
||||
return false;
|
||||
@@ -807,25 +807,25 @@ bool directory::addItems( const QString & _path )
|
||||
bool orphan = true;
|
||||
for( int i = 0; i < childCount(); ++i )
|
||||
{
|
||||
directory * d = dynamic_cast<directory *>(
|
||||
Directory * d = dynamic_cast<Directory *>(
|
||||
child( i ) );
|
||||
if( d == NULL || cur_file < d->text( 0 ) )
|
||||
{
|
||||
insertChild( i, new directory( cur_file,
|
||||
_path, m_filter ) );
|
||||
insertChild( i, new Directory( cur_file,
|
||||
path, m_filter ) );
|
||||
orphan = false;
|
||||
break;
|
||||
}
|
||||
else if( cur_file == d->text( 0 ) )
|
||||
{
|
||||
d->addDirectory( _path );
|
||||
d->addDirectory( path );
|
||||
orphan = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( orphan )
|
||||
{
|
||||
addChild( new directory( cur_file, _path,
|
||||
addChild( new Directory( cur_file, path,
|
||||
m_filter ) );
|
||||
}
|
||||
|
||||
@@ -842,7 +842,7 @@ bool directory::addItems( const QString & _path )
|
||||
if( cur_file[0] != '.' &&
|
||||
thisDir.match( m_filter, cur_file.toLower() ) )
|
||||
{
|
||||
items << new fileItem( cur_file, _path );
|
||||
items << new FileItem( cur_file, path );
|
||||
added_something = true;
|
||||
}
|
||||
}
|
||||
@@ -856,20 +856,20 @@ bool directory::addItems( const QString & _path )
|
||||
|
||||
|
||||
|
||||
QPixmap * fileItem::s_projectFilePixmap = NULL;
|
||||
QPixmap * fileItem::s_presetFilePixmap = NULL;
|
||||
QPixmap * fileItem::s_sampleFilePixmap = NULL;
|
||||
QPixmap * fileItem::s_soundfontFilePixmap = NULL;
|
||||
QPixmap * fileItem::s_vstPluginFilePixmap = NULL;
|
||||
QPixmap * fileItem::s_midiFilePixmap = NULL;
|
||||
QPixmap * fileItem::s_flpFilePixmap = NULL;
|
||||
QPixmap * fileItem::s_unknownFilePixmap = NULL;
|
||||
QPixmap * FileItem::s_projectFilePixmap = NULL;
|
||||
QPixmap * FileItem::s_presetFilePixmap = NULL;
|
||||
QPixmap * FileItem::s_sampleFilePixmap = NULL;
|
||||
QPixmap * FileItem::s_soundfontFilePixmap = NULL;
|
||||
QPixmap * FileItem::s_vstPluginFilePixmap = NULL;
|
||||
QPixmap * FileItem::s_midiFilePixmap = NULL;
|
||||
QPixmap * FileItem::s_flpFilePixmap = NULL;
|
||||
QPixmap * FileItem::s_unknownFilePixmap = NULL;
|
||||
|
||||
|
||||
fileItem::fileItem( QTreeWidget * _parent, const QString & _name,
|
||||
const QString & _path ) :
|
||||
QTreeWidgetItem( _parent, QStringList( _name) , TypeFileItem ),
|
||||
m_path( _path )
|
||||
FileItem::FileItem(QTreeWidget * parent, const QString & name,
|
||||
const QString & path ) :
|
||||
QTreeWidgetItem( parent, QStringList( name) , TypeFileItem ),
|
||||
m_path( path )
|
||||
{
|
||||
determineFileType();
|
||||
initPixmaps();
|
||||
@@ -878,9 +878,9 @@ fileItem::fileItem( QTreeWidget * _parent, const QString & _name,
|
||||
|
||||
|
||||
|
||||
fileItem::fileItem( const QString & _name, const QString & _path ) :
|
||||
QTreeWidgetItem( QStringList( _name ), TypeFileItem ),
|
||||
m_path( _path )
|
||||
FileItem::FileItem(const QString & name, const QString & path ) :
|
||||
QTreeWidgetItem( QStringList( name ), TypeFileItem ),
|
||||
m_path( path )
|
||||
{
|
||||
determineFileType();
|
||||
initPixmaps();
|
||||
@@ -889,7 +889,7 @@ fileItem::fileItem( const QString & _name, const QString & _path ) :
|
||||
|
||||
|
||||
|
||||
void fileItem::initPixmaps( void )
|
||||
void FileItem::initPixmaps( void )
|
||||
{
|
||||
if( s_projectFilePixmap == NULL )
|
||||
{
|
||||
@@ -973,7 +973,7 @@ void fileItem::initPixmaps( void )
|
||||
|
||||
|
||||
|
||||
void fileItem::determineFileType( void )
|
||||
void FileItem::determineFileType( void )
|
||||
{
|
||||
m_handling = NotSupported;
|
||||
|
||||
@@ -1037,7 +1037,7 @@ void fileItem::determineFileType( void )
|
||||
|
||||
|
||||
|
||||
QString fileItem::extension( void )
|
||||
QString FileItem::extension( void )
|
||||
{
|
||||
return extension( fullName() );
|
||||
}
|
||||
@@ -1045,13 +1045,13 @@ QString fileItem::extension( void )
|
||||
|
||||
|
||||
|
||||
QString fileItem::extension( const QString & _file )
|
||||
QString FileItem::extension(const QString & file )
|
||||
{
|
||||
return QFileInfo( _file ).suffix().toLower();
|
||||
return QFileInfo( file ).suffix().toLower();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#include "moc_FileBrowser.cxx"
|
||||
@@ -48,7 +48,7 @@
|
||||
#include "PianoView.h"
|
||||
#include "about_dialog.h"
|
||||
#include "ControllerRackView.h"
|
||||
#include "file_browser.h"
|
||||
#include "FileBrowser.h"
|
||||
#include "plugin_browser.h"
|
||||
#include "SideBar.h"
|
||||
#include "config_mgr.h"
|
||||
@@ -95,42 +95,50 @@ MainWindow::MainWindow() :
|
||||
|
||||
QString wdir = configManager::inst()->workingDir();
|
||||
sideBar->appendTab( new pluginBrowser( splitter ) );
|
||||
sideBar->appendTab( new fileBrowser(
|
||||
sideBar->appendTab( new FileBrowser(
|
||||
configManager::inst()->userProjectsDir() + "*" +
|
||||
configManager::inst()->factoryProjectsDir(),
|
||||
"*.mmp *.mmpz *.xml *.mid *.flp",
|
||||
tr( "My projects" ),
|
||||
embed::getIconPixmap( "project_file" ).transformed( QTransform().rotate( 90 ) ),
|
||||
splitter ) );
|
||||
sideBar->appendTab( new fileBrowser(
|
||||
sideBar->appendTab( new FileBrowser(
|
||||
configManager::inst()->userSamplesDir() + "*" +
|
||||
configManager::inst()->factorySamplesDir(),
|
||||
"*", tr( "My samples" ),
|
||||
embed::getIconPixmap( "sample_file" ).transformed( QTransform().rotate( 90 ) ),
|
||||
splitter ) );
|
||||
sideBar->appendTab( new fileBrowser(
|
||||
sideBar->appendTab( new FileBrowser(
|
||||
configManager::inst()->userPresetsDir() + "*" +
|
||||
configManager::inst()->factoryPresetsDir(),
|
||||
"*.xpf *.cs.xml *.xiz",
|
||||
tr( "My presets" ),
|
||||
embed::getIconPixmap( "preset_file" ).transformed( QTransform().rotate( 90 ) ),
|
||||
splitter ) );
|
||||
sideBar->appendTab( new fileBrowser( QDir::homePath(), "*",
|
||||
sideBar->appendTab( new FileBrowser( QDir::homePath(), "*",
|
||||
tr( "My home" ),
|
||||
embed::getIconPixmap( "home" ).transformed( QTransform().rotate( 90 ) ),
|
||||
splitter ) );
|
||||
QFileInfoList drives = QDir::drives();
|
||||
|
||||
QStringList root_paths;
|
||||
#ifdef LMMS_BUILD_APPLE
|
||||
root_paths += "/Volumes";
|
||||
#else
|
||||
QFileInfoList drives = QDir::drives();
|
||||
foreach( const QFileInfo & drive, drives )
|
||||
{
|
||||
root_paths += drive.absolutePath();
|
||||
}
|
||||
sideBar->appendTab( new fileBrowser( root_paths.join( "*" ), "*",
|
||||
#endif
|
||||
sideBar->appendTab( new FileBrowser( root_paths.join( "*" ), "*",
|
||||
#ifdef LMMS_BUILD_WIN32
|
||||
tr( "My computer" ),
|
||||
#elif defined(LMMS_BUILD_APPLE)
|
||||
tr( "Volumes" ),
|
||||
#else
|
||||
tr( "Root directory" ),
|
||||
#endif
|
||||
|
||||
embed::getIconPixmap( "computer" ).transformed( QTransform().rotate( 90 ) ),
|
||||
splitter,
|
||||
#ifdef LMMS_BUILD_WIN32
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#include "bb_track.h"
|
||||
#include "MainWindow.h"
|
||||
#include "debug.h"
|
||||
#include "file_browser.h"
|
||||
#include "FileBrowser.h"
|
||||
#include "ImportFilter.h"
|
||||
#include "Instrument.h"
|
||||
#include "InstrumentTrack.h"
|
||||
@@ -340,7 +340,7 @@ void TrackContainerView::dropEvent( QDropEvent * _de )
|
||||
track::create( track::InstrumentTrack,
|
||||
m_tc ) );
|
||||
Instrument * i = it->loadInstrument(
|
||||
engine::pluginFileHandling()[fileItem::extension(
|
||||
engine::pluginFileHandling()[FileItem::extension(
|
||||
value )]);
|
||||
i->loadFile( value );
|
||||
//it->toggledInstrumentTrackButton( true );
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
#include "EffectRackView.h"
|
||||
#include "embed.h"
|
||||
#include "engine.h"
|
||||
#include "file_browser.h"
|
||||
#include "FileBrowser.h"
|
||||
#include "FxMixer.h"
|
||||
#include "FxMixerView.h"
|
||||
#include "InstrumentSoundShaping.h"
|
||||
@@ -1550,7 +1550,7 @@ void InstrumentTrackWindow::dropEvent( QDropEvent* event )
|
||||
}
|
||||
else if( type == "pluginpresetfile" )
|
||||
{
|
||||
const QString ext = fileItem::extension( value );
|
||||
const QString ext = FileItem::extension( value );
|
||||
Instrument * i = m_track->instrument();
|
||||
|
||||
if( !i->descriptor()->supportsFileType( ext ) )
|
||||
|
||||
Reference in New Issue
Block a user