Merge branch 'stable-1.1'

Conflicts:
	src/gui/FileBrowser.cpp
This commit is contained in:
Vesa
2014-09-09 23:55:39 +03:00
17 changed files with 538 additions and 202 deletions

View File

@@ -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>")

View 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>

View 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>

View 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>

View 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>

View 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>

File diff suppressed because one or more lines are too long

View File

@@ -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:

View File

@@ -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 );

View File

@@ -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)

View File

@@ -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. "

View File

@@ -75,6 +75,9 @@ private slots:
void reverseModelChanged();
void ampModelChanged();
void loopPointChanged();
void startPointChanged();
void endPointChanged();
void pointChanged();
void stutterModelChanged();

View File

@@ -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() ) );

View File

@@ -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"

View File

@@ -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

View File

@@ -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 );

View File

@@ -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 ) )