Merge lp:~mixxxdevelopers/mixxx/features_sqlite into lp:~mixxxdevelopers/mixxx/trunk
- features_sqlite
- Merge into trunk
Proposed by
RJ Skerry-Ryan
Status: | Merged | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Approved by: | RJ Skerry-Ryan | ||||||||||||||||||||
Approved revision: | not available | ||||||||||||||||||||
Merged at revision: | not available | ||||||||||||||||||||
Proposed branch: | lp:~mixxxdevelopers/mixxx/features_sqlite | ||||||||||||||||||||
Merge into: | lp:~mixxxdevelopers/mixxx/trunk | ||||||||||||||||||||
Diff against target: |
27724 lines (+16107/-7718) 208 files modified
mixxx/build/qt4.py (+1/-0) mixxx/res/html/crates.html (+12/-0) mixxx/res/html/playlists.html (+12/-0) mixxx/res/images/library/crate_empty.svg (+336/-0) mixxx/res/images/library/crate_full.svg (+458/-0) mixxx/res/midi/Behringer BCD3000.midi.xml (+584/-401) mixxx/res/midi/Behringer-BCD3000-scripts.js (+69/-0) mixxx/res/mixxx.qrc (+6/-1) mixxx/res/schema.xml (+84/-0) mixxx/res/skins/Collusion (1280)/skin.xml (+34/-4) mixxx/res/skins/Collusion (1280-WS)/skin.xml (+34/-4) mixxx/res/skins/hercules/skin.xml (+34/-0) mixxx/res/skins/nCut/skin.xml (+34/-0) mixxx/res/skins/outline/skin.xml (+34/-4) mixxx/res/skins/outlineClose/skin.xml (+34/-4) mixxx/res/skins/outlineMini/skin.xml (+49/-20) mixxx/res/skins/outlineNetbook/skin.xml (+34/-4) mixxx/res/skins/outlineSmall/skin.xml (+35/-5) mixxx/res/skins/traditional/skin.xml (+34/-0) mixxx/src/SConscript (+82/-25) mixxx/src/analyserqueue.cpp (+31/-7) mixxx/src/analyserqueue.h (+8/-6) mixxx/src/analyserwavesummary.cpp (+14/-14) mixxx/src/analyserwavesummary.h (+3/-1) mixxx/src/cachingreader.cpp (+1/-0) mixxx/src/configobject.cpp (+10/-1) mixxx/src/configobject.h (+1/-1) mixxx/src/controlobjectthread.cpp (+1/-0) mixxx/src/dlgautodj.cpp (+267/-0) mixxx/src/dlgautodj.h (+71/-0) mixxx/src/dlgautodj.ui (+62/-0) mixxx/src/dlgbpmtap.cpp (+0/-425) mixxx/src/dlgbpmtap.h (+0/-97) mixxx/src/dlgprefcontrols.cpp (+1/-24) mixxx/src/dlgprefcontrols.h (+0/-1) mixxx/src/dlgprefcontrolsdlg.ui (+206/-268) mixxx/src/dlgpreferences.cpp (+17/-18) mixxx/src/dlgpreferences.h (+10/-12) mixxx/src/dlgprepare.cpp (+264/-0) mixxx/src/dlgprepare.h (+53/-0) mixxx/src/dlgprepare.ui (+79/-0) mixxx/src/dlgtrackinfo.cpp (+164/-0) mixxx/src/dlgtrackinfo.h (+50/-0) mixxx/src/dlgtrackinfo.ui (+247/-0) mixxx/src/engine/bpmcontrol.cpp (+3/-3) mixxx/src/engine/bpmcontrol.h (+7/-7) mixxx/src/engine/cuecontrol.cpp (+504/-0) mixxx/src/engine/cuecontrol.h (+93/-0) mixxx/src/engine/enginebuffer.cpp (+33/-42) mixxx/src/engine/enginebuffer.h (+11/-15) mixxx/src/engine/enginebuffercue.cpp (+0/-261) mixxx/src/engine/enginebuffercue.h (+0/-70) mixxx/src/engine/enginechannel.cpp (+0/-1) mixxx/src/engine/enginecontrol.cpp (+2/-2) mixxx/src/engine/enginecontrol.h (+11/-7) mixxx/src/engine/loopingcontrol.cpp (+13/-2) mixxx/src/engine/loopingcontrol.h (+1/-0) mixxx/src/library/abstractxmltrackmodel.cpp (+179/-0) mixxx/src/library/abstractxmltrackmodel.h (+98/-0) mixxx/src/library/autodjfeature.cpp (+103/-0) mixxx/src/library/autodjfeature.h (+54/-0) mixxx/src/library/browsefeature.cpp (+170/-0) mixxx/src/library/browsefeature.h (+61/-0) mixxx/src/library/browsefilter.cpp (+75/-0) mixxx/src/library/browsefilter.h (+30/-0) mixxx/src/library/browsetablemodel.cpp (+46/-0) mixxx/src/library/browsetablemodel.h (+20/-0) mixxx/src/library/cratefeature.cpp (+151/-0) mixxx/src/library/cratefeature.h (+54/-0) mixxx/src/library/cratetablemodel.cpp (+252/-0) mixxx/src/library/cratetablemodel.h (+51/-0) mixxx/src/library/dao/cratedao.cpp (+155/-0) mixxx/src/library/dao/cratedao.h (+39/-0) mixxx/src/library/dao/cue.cpp (+151/-0) mixxx/src/library/dao/cue.h (+73/-0) mixxx/src/library/dao/cuedao.cpp (+244/-0) mixxx/src/library/dao/cuedao.h (+41/-0) mixxx/src/library/dao/dao.h (+11/-0) mixxx/src/library/dao/libraryhashdao.cpp (+114/-0) mixxx/src/library/dao/libraryhashdao.h (+25/-0) mixxx/src/library/dao/playlistdao.cpp (+317/-0) mixxx/src/library/dao/playlistdao.h (+39/-0) mixxx/src/library/dao/settingsdao.cpp (+46/-0) mixxx/src/library/dao/settingsdao.h (+20/-0) mixxx/src/library/dao/trackdao.cpp (+551/-0) mixxx/src/library/dao/trackdao.h (+74/-0) mixxx/src/library/itunesfeature.cpp (+94/-0) mixxx/src/library/itunesfeature.h (+47/-0) mixxx/src/library/itunesplaylistmodel.cpp (+233/-0) mixxx/src/library/itunesplaylistmodel.h (+74/-0) mixxx/src/library/itunestrackmodel.cpp (+248/-0) mixxx/src/library/itunestrackmodel.h (+89/-0) mixxx/src/library/legacylibraryimporter.cpp (+87/-0) mixxx/src/library/legacylibraryimporter.h (+20/-0) mixxx/src/library/library.cpp (+160/-0) mixxx/src/library/library.h (+77/-0) mixxx/src/library/libraryfeature.cpp (+10/-0) mixxx/src/library/libraryfeature.h (+54/-0) mixxx/src/library/librarymidicontrol.cpp (+199/-0) mixxx/src/library/librarymidicontrol.h (+38/-0) mixxx/src/library/libraryscanner.cpp (+201/-24) mixxx/src/library/libraryscanner.h (+15/-6) mixxx/src/library/libraryscannerdlg.cpp (+39/-76) mixxx/src/library/libraryscannerdlg.h (+8/-14) mixxx/src/library/librarytablemodel.cpp (+260/-0) mixxx/src/library/librarytablemodel.h (+48/-0) mixxx/src/library/libraryview.h (+22/-0) mixxx/src/library/missingtablemodel.cpp (+242/-0) mixxx/src/library/missingtablemodel.h (+43/-0) mixxx/src/library/mixxxlibraryfeature.cpp (+86/-0) mixxx/src/library/mixxxlibraryfeature.h (+48/-0) mixxx/src/library/playlistfeature.cpp (+169/-0) mixxx/src/library/playlistfeature.h (+60/-0) mixxx/src/library/playlisttablemodel.cpp (+397/-0) mixxx/src/library/playlisttablemodel.h (+49/-0) mixxx/src/library/preparecratedelegate.cpp (+27/-0) mixxx/src/library/preparecratedelegate.h (+11/-0) mixxx/src/library/preparefeature.cpp (+80/-0) mixxx/src/library/preparefeature.h (+51/-0) mixxx/src/library/preparelibrarytablemodel.cpp (+76/-0) mixxx/src/library/preparelibrarytablemodel.h (+23/-0) mixxx/src/library/proxytrackmodel.cpp (+116/-0) mixxx/src/library/proxytrackmodel.h (+51/-0) mixxx/src/library/rhythmboxfeature.cpp (+93/-0) mixxx/src/library/rhythmboxfeature.h (+46/-0) mixxx/src/library/rhythmboxplaylistmodel.cpp (+280/-0) mixxx/src/library/rhythmboxplaylistmodel.h (+109/-0) mixxx/src/library/rhythmboxtrackmodel.cpp (+157/-0) mixxx/src/library/rhythmboxtrackmodel.h (+69/-0) mixxx/src/library/schemamanager.cpp (+132/-0) mixxx/src/library/schemamanager.h (+17/-0) mixxx/src/library/searchthread.cpp (+73/-0) mixxx/src/library/searchthread.h (+35/-0) mixxx/src/library/sidebarmodel.cpp (+252/-0) mixxx/src/library/sidebarmodel.h (+61/-0) mixxx/src/library/trackcollection.cpp (+171/-193) mixxx/src/library/trackcollection.h (+67/-44) mixxx/src/library/trackmodel.h (+69/-0) mixxx/src/mixxx.cpp (+163/-61) mixxx/src/mixxx.h (+25/-5) mixxx/src/mixxxview.cpp (+202/-87) mixxx/src/mixxxview.h (+38/-18) mixxx/src/player.cpp (+119/-0) mixxx/src/player.h (+40/-0) mixxx/src/soundsourcemp3.cpp (+27/-3) mixxx/src/soundsourceoggvorbis.cpp (+13/-0) mixxx/src/soundsourcesndfile.cpp (+4/-1) mixxx/src/test/analyserbpmtest.cpp (+6/-6) mixxx/src/test/analyserwaveformtest.cpp (+6/-6) mixxx/src/test/analyserwavesummarytest.cpp (+6/-6) mixxx/src/test/midiscriptenginetest.cpp (+7/-8) mixxx/src/track.cpp (+0/-1464) mixxx/src/track.h (+0/-268) mixxx/src/trackimporter.cpp (+0/-142) mixxx/src/trackimporter.h (+0/-73) mixxx/src/trackinfoobject.cpp (+156/-139) mixxx/src/trackinfoobject.h (+73/-33) mixxx/src/trackplaylist.cpp (+0/-595) mixxx/src/trackplaylist.h (+0/-143) mixxx/src/trackplaylistlist.cpp (+0/-23) mixxx/src/trackplaylistlist.h (+0/-32) mixxx/src/transposeproxymodel.h (+28/-0) mixxx/src/waveform/renderobject.cpp (+6/-7) mixxx/src/waveform/renderobject.h (+6/-5) mixxx/src/waveform/waveformrenderer.cpp (+103/-82) mixxx/src/waveform/waveformrenderer.h (+13/-10) mixxx/src/waveform/waveformrendermark.cpp (+224/-29) mixxx/src/waveform/waveformrendermark.h (+21/-6) mixxx/src/waveform/waveformrendermarkrange.cpp (+233/-0) mixxx/src/waveform/waveformrendermarkrange.h (+60/-0) mixxx/src/widget/wbrowsetableview.cpp (+95/-0) mixxx/src/widget/wbrowsetableview.h (+42/-0) mixxx/src/widget/wglwaveformviewer.cpp (+14/-48) mixxx/src/widget/wglwaveformviewer.h (+3/-7) mixxx/src/widget/wlibrary.cpp (+85/-0) mixxx/src/widget/wlibrary.h (+49/-0) mixxx/src/widget/wlibrarysidebar.cpp (+162/-0) mixxx/src/widget/wlibrarysidebar.h (+23/-0) mixxx/src/widget/wlibrarytableview.cpp (+96/-0) mixxx/src/widget/wlibrarytableview.h (+45/-0) mixxx/src/widget/wlibrarytextbrowser.cpp (+56/-0) mixxx/src/widget/wlibrarytextbrowser.h (+26/-0) mixxx/src/widget/wnumberbpm.cpp (+11/-13) mixxx/src/widget/wnumberbpm.h (+0/-4) mixxx/src/widget/woverview.cpp (+181/-80) mixxx/src/widget/woverview.h (+37/-16) mixxx/src/widget/wpreparecratestableview.cpp (+102/-0) mixxx/src/widget/wpreparecratestableview.h (+24/-0) mixxx/src/widget/wpreparelibrarytableview.cpp (+25/-0) mixxx/src/widget/wpreparelibrarytableview.h (+21/-0) mixxx/src/widget/wsearchlineedit.cpp (+113/-65) mixxx/src/widget/wsearchlineedit.h (+40/-30) mixxx/src/widget/wtracktableviewheader.cpp (+136/-0) mixxx/src/widget/wtracktableviewheader.h (+41/-0) mixxx/src/widget/wwaveformviewer.cpp (+8/-8) mixxx/src/widget/wwidget.cpp (+2/-4) mixxx/src/wipodtracksmodel.cpp (+0/-116) mixxx/src/wipodtracksmodel.h (+0/-43) mixxx/src/wplaylistlistmodel.cpp (+0/-200) mixxx/src/wplaylistlistmodel.h (+0/-66) mixxx/src/wpromotracksmodel.cpp (+0/-108) mixxx/src/wpromotracksmodel.h (+0/-40) mixxx/src/wtracktablefilter.cpp (+0/-70) mixxx/src/wtracktablefilter.h (+0/-38) mixxx/src/wtracktablemodel.cpp (+0/-224) mixxx/src/wtracktablemodel.h (+0/-70) mixxx/src/wtracktableview.cpp (+371/-933) mixxx/src/wtracktableview.h (+55/-169) |
||||||||||||||||||||
To merge this branch: | bzr merge lp:~mixxxdevelopers/mixxx/features_sqlite | ||||||||||||||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
RJ Skerry-Ryan | Approve | ||
Review via email: mp+16828@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
RJ Skerry-Ryan (rryan) wrote : | # |
Revision history for this message
RJ Skerry-Ryan (rryan) wrote : | # |
Approving my own proposal... :)
review:
Approve
- 2359. By RJ Skerry-Ryan
-
Merging ramping pitchbend, portmidi from trunk.
- 2360. By RJ Skerry-Ryan
-
Undo SConscript mess.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'mixxx/build/qt4.py' |
2 | --- mixxx/build/qt4.py 2009-04-13 17:08:26 +0000 |
3 | +++ mixxx/build/qt4.py 2010-01-05 04:00:30 +0000 |
4 | @@ -386,6 +386,7 @@ |
5 | 'QtDesigner', |
6 | 'QtDBUS', |
7 | 'QtScript', |
8 | + 'QtXmlPatterns' |
9 | ] |
10 | pclessModules = [ |
11 | 'QtUiTools', |
12 | |
13 | === added directory 'mixxx/res/html' |
14 | === added file 'mixxx/res/html/crates.html' |
15 | --- mixxx/res/html/crates.html 1970-01-01 00:00:00 +0000 |
16 | +++ mixxx/res/html/crates.html 2010-01-05 04:00:30 +0000 |
17 | @@ -0,0 +1,12 @@ |
18 | +<h2>Crates</h2> |
19 | +<table border="0" cellpadding="5"> |
20 | + <tr> |
21 | + <td> |
22 | + <p>Crates are a great way to help organize the music you want to DJ with.</p> |
23 | + <p>Make a crate for your next gig, for your favorite electrohouse tracks, or for your most requested songs - Crates let you organize your music however you'd like!</p> |
24 | + </td> |
25 | + <td> |
26 | + <img src="qrc:/images/library/crates_art.png"> |
27 | + </td> |
28 | + </tr> |
29 | +</table> |
30 | |
31 | === added file 'mixxx/res/html/playlists.html' |
32 | --- mixxx/res/html/playlists.html 1970-01-01 00:00:00 +0000 |
33 | +++ mixxx/res/html/playlists.html 2010-01-05 04:00:30 +0000 |
34 | @@ -0,0 +1,12 @@ |
35 | +<h2>Playlists</h2> |
36 | +<table border="0" cellpadding="5"> |
37 | + <tr> |
38 | + <td> |
39 | + <p>Playlists are ordered lists of songs that allow you to plan your DJ sets.</p> |
40 | + <p>Some DJs construct playlists before they perform live, but others prefer to build them on-the-fly. |
41 | + When using a playlist during a live DJ set, remember to always pay close attention to how your audience |
42 | + reacts to the music you've chosen to play. It may be necessary to skip some songs in your prepared |
43 | + playlist or add some different songs in order to maintain the energy of your audience.</p> |
44 | + </td> |
45 | + </tr> |
46 | +</table> |
47 | |
48 | === added directory 'mixxx/res/images/library' |
49 | === added file 'mixxx/res/images/library/crate_empty.png' |
50 | Binary files mixxx/res/images/library/crate_empty.png 1970-01-01 00:00:00 +0000 and mixxx/res/images/library/crate_empty.png 2010-01-05 04:00:30 +0000 differ |
51 | === added file 'mixxx/res/images/library/crate_empty.svg' |
52 | --- mixxx/res/images/library/crate_empty.svg 1970-01-01 00:00:00 +0000 |
53 | +++ mixxx/res/images/library/crate_empty.svg 2010-01-05 04:00:30 +0000 |
54 | @@ -0,0 +1,336 @@ |
55 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
56 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
57 | +<svg |
58 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
59 | + xmlns:cc="http://creativecommons.org/ns#" |
60 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
61 | + xmlns:svg="http://www.w3.org/2000/svg" |
62 | + xmlns="http://www.w3.org/2000/svg" |
63 | + xmlns:xlink="http://www.w3.org/1999/xlink" |
64 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
65 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
66 | + width="258.57001" |
67 | + height="401.31" |
68 | + id="svg2" |
69 | + sodipodi:version="0.32" |
70 | + inkscape:version="0.46" |
71 | + sodipodi:docname="crate_empty.svg" |
72 | + inkscape:output_extension="org.inkscape.output.svg.inkscape" |
73 | + version="1.0"> |
74 | + <defs |
75 | + id="defs4"> |
76 | + <linearGradient |
77 | + id="linearGradient3536"> |
78 | + <stop |
79 | + style="stop-color:#7a5b54;stop-opacity:1;" |
80 | + offset="0" |
81 | + id="stop3538" /> |
82 | + <stop |
83 | + style="stop-color:#7a5b54;stop-opacity:0;" |
84 | + offset="1" |
85 | + id="stop3540" /> |
86 | + </linearGradient> |
87 | + <linearGradient |
88 | + id="linearGradient3526"> |
89 | + <stop |
90 | + style="stop-color:#677821;stop-opacity:1;" |
91 | + offset="0" |
92 | + id="stop3528" /> |
93 | + <stop |
94 | + style="stop-color:#4b5718;stop-opacity:1;" |
95 | + offset="1" |
96 | + id="stop3530" /> |
97 | + </linearGradient> |
98 | + <linearGradient |
99 | + id="linearGradient3518"> |
100 | + <stop |
101 | + style="stop-color:#ca0000;stop-opacity:1;" |
102 | + offset="0" |
103 | + id="stop3520" /> |
104 | + <stop |
105 | + style="stop-color:#6f0000;stop-opacity:1;" |
106 | + offset="1" |
107 | + id="stop3522" /> |
108 | + </linearGradient> |
109 | + <linearGradient |
110 | + id="linearGradient3512"> |
111 | + <stop |
112 | + id="stop3514" |
113 | + offset="0" |
114 | + style="stop-color:#000000;stop-opacity:1;" /> |
115 | + <stop |
116 | + id="stop3516" |
117 | + offset="1" |
118 | + style="stop-color:#abc837;stop-opacity:1" /> |
119 | + </linearGradient> |
120 | + <linearGradient |
121 | + id="linearGradient3502"> |
122 | + <stop |
123 | + style="stop-color:#000000;stop-opacity:1;" |
124 | + offset="0" |
125 | + id="stop3504" /> |
126 | + <stop |
127 | + style="stop-color:#000000;stop-opacity:0;" |
128 | + offset="1" |
129 | + id="stop3506" /> |
130 | + </linearGradient> |
131 | + <inkscape:perspective |
132 | + sodipodi:type="inkscape:persp3d" |
133 | + inkscape:vp_x="0 : 526.18109 : 1" |
134 | + inkscape:vp_y="0 : 1000 : 0" |
135 | + inkscape:vp_z="744.09448 : 526.18109 : 1" |
136 | + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" |
137 | + id="perspective10" /> |
138 | + <linearGradient |
139 | + inkscape:collect="always" |
140 | + xlink:href="#linearGradient3518" |
141 | + id="linearGradient3542" |
142 | + x1="124.75" |
143 | + y1="379.09375" |
144 | + x2="336.375" |
145 | + y2="379.09375" |
146 | + gradientUnits="userSpaceOnUse" /> |
147 | + <linearGradient |
148 | + inkscape:collect="always" |
149 | + xlink:href="#linearGradient3518" |
150 | + id="linearGradient3588" |
151 | + gradientUnits="userSpaceOnUse" |
152 | + x1="242.43082" |
153 | + y1="314.79443" |
154 | + x2="242.43082" |
155 | + y2="654.55365" |
156 | + gradientTransform="translate(17.172593,12.121831)" /> |
157 | + <filter |
158 | + inkscape:collect="always" |
159 | + id="filter3744" |
160 | + x="-0.036582921" |
161 | + width="1.0731658" |
162 | + y="-0.43410194" |
163 | + height="1.8682039"> |
164 | + <feGaussianBlur |
165 | + inkscape:collect="always" |
166 | + stdDeviation="1.2256924" |
167 | + id="feGaussianBlur3746" /> |
168 | + </filter> |
169 | + <filter |
170 | + inkscape:collect="always" |
171 | + id="filter3853" |
172 | + x="-0.039021783" |
173 | + width="1.0780436" |
174 | + y="-0.46304205" |
175 | + height="1.926084"> |
176 | + <feGaussianBlur |
177 | + inkscape:collect="always" |
178 | + stdDeviation="1.3074053" |
179 | + id="feGaussianBlur3855" /> |
180 | + </filter> |
181 | + </defs> |
182 | + <sodipodi:namedview |
183 | + id="base" |
184 | + pagecolor="#ffffff" |
185 | + bordercolor="#666666" |
186 | + borderopacity="1.0" |
187 | + gridtolerance="10000" |
188 | + guidetolerance="10" |
189 | + objecttolerance="10" |
190 | + inkscape:pageopacity="0.0" |
191 | + inkscape:pageshadow="2" |
192 | + inkscape:zoom="0.7" |
193 | + inkscape:cx="304.34974" |
194 | + inkscape:cy="338.68539" |
195 | + inkscape:document-units="px" |
196 | + inkscape:current-layer="layer1" |
197 | + showgrid="false" |
198 | + inkscape:window-width="1280" |
199 | + inkscape:window-height="951" |
200 | + inkscape:window-x="0" |
201 | + inkscape:window-y="25" |
202 | + showguides="true" |
203 | + inkscape:guide-bbox="true" /> |
204 | + <metadata |
205 | + id="metadata7"> |
206 | + <rdf:RDF> |
207 | + <cc:Work |
208 | + rdf:about=""> |
209 | + <dc:format>image/svg+xml</dc:format> |
210 | + <dc:type |
211 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
212 | + </cc:Work> |
213 | + </rdf:RDF> |
214 | + </metadata> |
215 | + <g |
216 | + inkscape:label="Layer 1" |
217 | + inkscape:groupmode="layer" |
218 | + id="layer1" |
219 | + transform="translate(-118.66425,-285.66662)"> |
220 | + <path |
221 | + id="rect3499" |
222 | + d="M 141.92259,327.05933 L 141.92259,666.49371 L 353.54759,666.49371 L 353.54759,327.05933 L 141.92259,327.05933 z M 247.89134,353.77808 C 271.54848,353.77809 290.73509,361.11576 290.73509,370.18433 C 290.73508,379.25289 271.54848,386.62183 247.89134,386.62183 C 224.23419,386.62184 205.01634,379.2529 205.01634,370.18433 C 205.01634,361.11575 224.2342,353.77808 247.89134,353.77808 z" |
223 | + style="fill:url(#linearGradient3588);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
224 | + sodipodi:nodetypes="ccccccsssc" /> |
225 | + <rect |
226 | + y="325.6969" |
227 | + x="140.54936" |
228 | + height="130.55753" |
229 | + width="215.14784" |
230 | + id="rect3165" |
231 | + style="opacity:1;fill:#454837;fill-opacity:0;fill-rule:evenodd;stroke:#2b0000;stroke-width:9.42503071;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
232 | + <path |
233 | + transform="translate(-19.970264,-110.03484)" |
234 | + d="M 310.71429,480.21933 A 42.857143,16.428572 0 1 1 225,480.21933 A 42.857143,16.428572 0 1 1 310.71429,480.21933 z" |
235 | + sodipodi:ry="16.428572" |
236 | + sodipodi:rx="42.857143" |
237 | + sodipodi:cy="480.21933" |
238 | + sodipodi:cx="267.85715" |
239 | + id="path3383" |
240 | + style="opacity:1;fill:#454837;fill-opacity:0;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
241 | + sodipodi:type="arc" /> |
242 | + <g |
243 | + id="g3616" |
244 | + style="fill:#cc0000" |
245 | + transform="translate(17.172593,12.121831)"> |
246 | + <rect |
247 | + y="482.36218" |
248 | + x="309.28571" |
249 | + height="171.42857" |
250 | + width="27.142857" |
251 | + id="rect3456" |
252 | + style="opacity:1;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
253 | + <rect |
254 | + style="opacity:1;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
255 | + id="rect3458" |
256 | + width="28.392857" |
257 | + height="171.42857" |
258 | + x="123.57142" |
259 | + y="480.21933" /> |
260 | + <path |
261 | + id="rect3211" |
262 | + d="M 123.5625,444.5 L 123.5625,487.375 L 187.84375,487.375 C 187.84375,478.30643 207.06161,470.9375 230.71875,470.9375 C 254.37589,470.93749 273.5625,478.30643 273.5625,487.375 L 340.71875,487.375 L 340.71875,444.5 L 123.5625,444.5 z" |
263 | + style="opacity:1;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
264 | + <rect |
265 | + y="629.3902" |
266 | + x="123.57142" |
267 | + height="25.114908" |
268 | + width="213.01093" |
269 | + id="rect3466" |
270 | + style="opacity:1;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.00000095;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
271 | + </g> |
272 | + <rect |
273 | + style="opacity:1;fill:#454837;fill-opacity:0;fill-rule:evenodd;stroke:#2b0000;stroke-width:9.42503071;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
274 | + id="rect2383" |
275 | + width="215.14784" |
276 | + height="212.00354" |
277 | + x="140.54936" |
278 | + y="456.38293" /> |
279 | + <g |
280 | + id="g3590" |
281 | + style="stroke:#2b0000;stroke-opacity:1" |
282 | + transform="translate(17.172593,12.121831)"> |
283 | + <path |
284 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
285 | + d="M 151.66352,628.69422 L 311.30277,628.69422" |
286 | + id="path3468" /> |
287 | + <g |
288 | + style="stroke:#2b0000;stroke-opacity:1" |
289 | + id="g3562"> |
290 | + <g |
291 | + id="g3428" |
292 | + style="fill:#89a02c;stroke:#2b0000;stroke-opacity:1"> |
293 | + <path |
294 | + sodipodi:nodetypes="cc" |
295 | + id="path3388" |
296 | + d="M 153.83385,486.64791 L 153.39832,630.15284" |
297 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
298 | + <path |
299 | + id="path3400" |
300 | + d="M 153.5432,488.69708 L 293.9544,629.1083" |
301 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
302 | + <path |
303 | + id="path3406" |
304 | + d="M 153.54319,567.48895 L 215.66756,629.61333" |
305 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
306 | + <path |
307 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
308 | + d="M 153.54318,605.36965 L 175.26146,627.08793" |
309 | + id="path3408" /> |
310 | + <path |
311 | + id="path3418" |
312 | + d="M 153.54318,526.57776 L 254.55843,627.59301" |
313 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
314 | + <path |
315 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
316 | + d="M 203.04065,499.80872 L 309.61176,606.37982" |
317 | + id="path3420" /> |
318 | + <path |
319 | + id="path3422" |
320 | + d="M 244.4569,501.82898 L 308.09652,565.46857" |
321 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
322 | + <path |
323 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
324 | + d="M 272.74117,489.20205 L 309.10666,525.56752" |
325 | + id="path3426" /> |
326 | + </g> |
327 | + <g |
328 | + style="stroke:#2b0000;stroke-opacity:1" |
329 | + id="g3548"> |
330 | + <g |
331 | + style="fill:#445016;stroke:#2b0000;stroke-opacity:1" |
332 | + transform="matrix(-1,0,0,1,463.15494,0)" |
333 | + id="g3438"> |
334 | + <path |
335 | + sodipodi:nodetypes="cc" |
336 | + id="path3440" |
337 | + d="M 153.83388,486.64793 L 153.39835,630.15287" |
338 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
339 | + <path |
340 | + id="path3442" |
341 | + d="M 153.54319,488.69708 L 292.43917,627.59306" |
342 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
343 | + <path |
344 | + id="path3444" |
345 | + d="M 153.54318,567.48894 L 213.64725,627.59301" |
346 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
347 | + <path |
348 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
349 | + d="M 153.54318,605.36967 L 177.78684,629.61333" |
350 | + id="path3446" /> |
351 | + <path |
352 | + id="path3448" |
353 | + d="M 153.54318,526.57775 L 255.56857,628.60315" |
354 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
355 | + <path |
356 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
357 | + d="M 203.04065,499.80872 L 309.61176,606.37982" |
358 | + id="path3450" /> |
359 | + <path |
360 | + id="path3452" |
361 | + d="M 244.4569,501.82898 L 308.09652,565.46857" |
362 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
363 | + <path |
364 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
365 | + d="M 272.74117,489.20205 L 309.10666,525.56752" |
366 | + id="path3454" /> |
367 | + </g> |
368 | + <path |
369 | + id="path3460" |
370 | + d="M 151.52098,487.27289 L 186.50204,487.27289" |
371 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
372 | + <path |
373 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
374 | + d="M 274.51264,487.27293 L 311.56965,487.27293" |
375 | + id="path3464" /> |
376 | + <path |
377 | + transform="translate(-37.142857,6.6377796)" |
378 | + d="M 310.71429,480.21933 A 42.857143,16.428572 0 1 1 225,480.21933 A 42.857143,16.428572 0 1 1 310.71429,480.21933 z" |
379 | + sodipodi:ry="16.428572" |
380 | + sodipodi:rx="42.857143" |
381 | + sodipodi:cy="480.21933" |
382 | + sodipodi:cx="267.85715" |
383 | + id="path3534" |
384 | + style="opacity:1;fill:#454837;fill-opacity:0;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
385 | + sodipodi:type="arc" /> |
386 | + </g> |
387 | + </g> |
388 | + </g> |
389 | + </g> |
390 | +</svg> |
391 | |
392 | === added file 'mixxx/res/images/library/crate_full.png' |
393 | Binary files mixxx/res/images/library/crate_full.png 1970-01-01 00:00:00 +0000 and mixxx/res/images/library/crate_full.png 2010-01-05 04:00:30 +0000 differ |
394 | === added file 'mixxx/res/images/library/crate_full.svg' |
395 | --- mixxx/res/images/library/crate_full.svg 1970-01-01 00:00:00 +0000 |
396 | +++ mixxx/res/images/library/crate_full.svg 2010-01-05 04:00:30 +0000 |
397 | @@ -0,0 +1,458 @@ |
398 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
399 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
400 | +<svg |
401 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
402 | + xmlns:cc="http://creativecommons.org/ns#" |
403 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
404 | + xmlns:svg="http://www.w3.org/2000/svg" |
405 | + xmlns="http://www.w3.org/2000/svg" |
406 | + xmlns:xlink="http://www.w3.org/1999/xlink" |
407 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
408 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
409 | + width="258.57001" |
410 | + height="401.31" |
411 | + id="svg2" |
412 | + sodipodi:version="0.32" |
413 | + inkscape:version="0.46" |
414 | + sodipodi:docname="crate_full.svg" |
415 | + inkscape:output_extension="org.inkscape.output.svg.inkscape" |
416 | + version="1.0"> |
417 | + <defs |
418 | + id="defs4"> |
419 | + <linearGradient |
420 | + id="linearGradient3536"> |
421 | + <stop |
422 | + style="stop-color:#7a5b54;stop-opacity:1;" |
423 | + offset="0" |
424 | + id="stop3538" /> |
425 | + <stop |
426 | + style="stop-color:#7a5b54;stop-opacity:0;" |
427 | + offset="1" |
428 | + id="stop3540" /> |
429 | + </linearGradient> |
430 | + <linearGradient |
431 | + id="linearGradient3526"> |
432 | + <stop |
433 | + style="stop-color:#677821;stop-opacity:1;" |
434 | + offset="0" |
435 | + id="stop3528" /> |
436 | + <stop |
437 | + style="stop-color:#4b5718;stop-opacity:1;" |
438 | + offset="1" |
439 | + id="stop3530" /> |
440 | + </linearGradient> |
441 | + <linearGradient |
442 | + id="linearGradient3518"> |
443 | + <stop |
444 | + style="stop-color:#ca0000;stop-opacity:1;" |
445 | + offset="0" |
446 | + id="stop3520" /> |
447 | + <stop |
448 | + style="stop-color:#6f0000;stop-opacity:1;" |
449 | + offset="1" |
450 | + id="stop3522" /> |
451 | + </linearGradient> |
452 | + <linearGradient |
453 | + id="linearGradient3512"> |
454 | + <stop |
455 | + id="stop3514" |
456 | + offset="0" |
457 | + style="stop-color:#000000;stop-opacity:1;" /> |
458 | + <stop |
459 | + id="stop3516" |
460 | + offset="1" |
461 | + style="stop-color:#abc837;stop-opacity:1" /> |
462 | + </linearGradient> |
463 | + <linearGradient |
464 | + id="linearGradient3502"> |
465 | + <stop |
466 | + style="stop-color:#000000;stop-opacity:1;" |
467 | + offset="0" |
468 | + id="stop3504" /> |
469 | + <stop |
470 | + style="stop-color:#000000;stop-opacity:0;" |
471 | + offset="1" |
472 | + id="stop3506" /> |
473 | + </linearGradient> |
474 | + <inkscape:perspective |
475 | + sodipodi:type="inkscape:persp3d" |
476 | + inkscape:vp_x="0 : 526.18109 : 1" |
477 | + inkscape:vp_y="0 : 1000 : 0" |
478 | + inkscape:vp_z="744.09448 : 526.18109 : 1" |
479 | + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" |
480 | + id="perspective10" /> |
481 | + <linearGradient |
482 | + inkscape:collect="always" |
483 | + xlink:href="#linearGradient3518" |
484 | + id="linearGradient3542" |
485 | + x1="124.75" |
486 | + y1="379.09375" |
487 | + x2="336.375" |
488 | + y2="379.09375" |
489 | + gradientUnits="userSpaceOnUse" /> |
490 | + <linearGradient |
491 | + inkscape:collect="always" |
492 | + xlink:href="#linearGradient3518" |
493 | + id="linearGradient3588" |
494 | + gradientUnits="userSpaceOnUse" |
495 | + x1="242.43082" |
496 | + y1="314.79443" |
497 | + x2="242.43082" |
498 | + y2="654.55365" |
499 | + gradientTransform="translate(17.172593,12.121831)" /> |
500 | + <filter |
501 | + inkscape:collect="always" |
502 | + id="filter3744" |
503 | + x="-0.036582921" |
504 | + width="1.0731658" |
505 | + y="-0.43410194" |
506 | + height="1.8682039"> |
507 | + <feGaussianBlur |
508 | + inkscape:collect="always" |
509 | + stdDeviation="1.2256924" |
510 | + id="feGaussianBlur3746" /> |
511 | + </filter> |
512 | + <filter |
513 | + inkscape:collect="always" |
514 | + id="filter3853" |
515 | + x="-0.039021783" |
516 | + width="1.0780436" |
517 | + y="-0.46304205" |
518 | + height="1.926084"> |
519 | + <feGaussianBlur |
520 | + inkscape:collect="always" |
521 | + stdDeviation="1.3074053" |
522 | + id="feGaussianBlur3855" /> |
523 | + </filter> |
524 | + </defs> |
525 | + <sodipodi:namedview |
526 | + id="base" |
527 | + pagecolor="#ffffff" |
528 | + bordercolor="#666666" |
529 | + borderopacity="1.0" |
530 | + gridtolerance="10000" |
531 | + guidetolerance="10" |
532 | + objecttolerance="10" |
533 | + inkscape:pageopacity="0.0" |
534 | + inkscape:pageshadow="2" |
535 | + inkscape:zoom="0.7" |
536 | + inkscape:cx="304.34974" |
537 | + inkscape:cy="338.68539" |
538 | + inkscape:document-units="px" |
539 | + inkscape:current-layer="layer1" |
540 | + showgrid="false" |
541 | + inkscape:window-width="1280" |
542 | + inkscape:window-height="951" |
543 | + inkscape:window-x="0" |
544 | + inkscape:window-y="25" |
545 | + showguides="true" |
546 | + inkscape:guide-bbox="true" /> |
547 | + <metadata |
548 | + id="metadata7"> |
549 | + <rdf:RDF> |
550 | + <cc:Work |
551 | + rdf:about=""> |
552 | + <dc:format>image/svg+xml</dc:format> |
553 | + <dc:type |
554 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
555 | + </cc:Work> |
556 | + </rdf:RDF> |
557 | + </metadata> |
558 | + <g |
559 | + inkscape:label="Layer 1" |
560 | + inkscape:groupmode="layer" |
561 | + id="layer1" |
562 | + transform="translate(-118.66425,-285.66662)"> |
563 | + <path |
564 | + id="rect3499" |
565 | + d="M 141.92259,327.05933 L 141.92259,666.49371 L 353.54759,666.49371 L 353.54759,327.05933 L 141.92259,327.05933 z M 247.89134,353.77808 C 271.54848,353.77809 290.73509,361.11576 290.73509,370.18433 C 290.73508,379.25289 271.54848,386.62183 247.89134,386.62183 C 224.23419,386.62184 205.01634,379.2529 205.01634,370.18433 C 205.01634,361.11575 224.2342,353.77808 247.89134,353.77808 z" |
566 | + style="fill:url(#linearGradient3588);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
567 | + sodipodi:nodetypes="ccccccsssc" /> |
568 | + <rect |
569 | + y="325.6969" |
570 | + x="140.54936" |
571 | + height="130.55753" |
572 | + width="215.14784" |
573 | + id="rect3165" |
574 | + style="opacity:1;fill:#454837;fill-opacity:0;fill-rule:evenodd;stroke:#2b0000;stroke-width:9.42503071;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
575 | + <path |
576 | + transform="translate(-19.970264,-110.03484)" |
577 | + d="M 310.71429,480.21933 A 42.857143,16.428572 0 1 1 225,480.21933 A 42.857143,16.428572 0 1 1 310.71429,480.21933 z" |
578 | + sodipodi:ry="16.428572" |
579 | + sodipodi:rx="42.857143" |
580 | + sodipodi:cy="480.21933" |
581 | + sodipodi:cx="267.85715" |
582 | + id="path3383" |
583 | + style="opacity:1;fill:#454837;fill-opacity:0;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
584 | + sodipodi:type="arc" /> |
585 | + <g |
586 | + id="g3857" |
587 | + transform="translate(-280.82242,-46.467015)" |
588 | + style="stroke:#2e3436;stroke-opacity:1"> |
589 | + <rect |
590 | + y="345.25546" |
591 | + x="429.31485" |
592 | + height="309.10669" |
593 | + width="202.0305" |
594 | + id="rect3624" |
595 | + style="opacity:1;fill:#f57900;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
596 | + <path |
597 | + transform="translate(53.538085,243.44676)" |
598 | + d="M 513.15749,206.8645 A 35.355339,35.355339 0 1 1 442.44682,206.8645 A 35.355339,35.355339 0 1 1 513.15749,206.8645 z" |
599 | + sodipodi:ry="35.355339" |
600 | + sodipodi:rx="35.355339" |
601 | + sodipodi:cy="206.8645" |
602 | + sodipodi:cx="477.80215" |
603 | + id="path3638" |
604 | + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
605 | + sodipodi:type="arc" /> |
606 | + <g |
607 | + id="g3748" |
608 | + style="stroke:#2e3436;stroke-opacity:1"> |
609 | + <rect |
610 | + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
611 | + id="rect3642" |
612 | + width="87.88327" |
613 | + height="23.233509" |
614 | + x="444.46713" |
615 | + y="357.37723" /> |
616 | + <text |
617 | + xml:space="preserve" |
618 | + style="font-size:8.7559185px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#2e3436;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3853)" |
619 | + x="492.10425" |
620 | + y="340.93549" |
621 | + id="text3644" |
622 | + transform="scale(0.9160689,1.091621)"><tspan |
623 | + sodipodi:role="line" |
624 | + id="tspan3646" |
625 | + x="492.10425" |
626 | + y="340.93549">tiesto - sucks balls</tspan></text> |
627 | + </g> |
628 | + </g> |
629 | + <g |
630 | + style="stroke:#2e3436;stroke-opacity:1" |
631 | + transform="translate(-281.83258,-18.182744)" |
632 | + id="g3865"> |
633 | + <rect |
634 | + style="opacity:1;fill:#3465a4;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
635 | + id="rect3867" |
636 | + width="202.0305" |
637 | + height="309.10669" |
638 | + x="429.31485" |
639 | + y="345.25546" /> |
640 | + <path |
641 | + sodipodi:type="arc" |
642 | + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
643 | + id="path3869" |
644 | + sodipodi:cx="477.80215" |
645 | + sodipodi:cy="206.8645" |
646 | + sodipodi:rx="35.355339" |
647 | + sodipodi:ry="35.355339" |
648 | + d="M 513.15749,206.8645 A 35.355339,35.355339 0 1 1 442.44682,206.8645 A 35.355339,35.355339 0 1 1 513.15749,206.8645 z" |
649 | + transform="translate(53.538085,243.44676)" /> |
650 | + <g |
651 | + style="stroke:#2e3436;stroke-opacity:1" |
652 | + id="g3871"> |
653 | + <rect |
654 | + y="357.37723" |
655 | + x="444.46713" |
656 | + height="23.233509" |
657 | + width="87.88327" |
658 | + id="rect3873" |
659 | + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
660 | + <text |
661 | + transform="scale(0.9160689,1.091621)" |
662 | + id="text3875" |
663 | + y="340.93549" |
664 | + x="492.10425" |
665 | + style="font-size:8.7559185px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#2e3436;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3853)" |
666 | + xml:space="preserve"><tspan |
667 | + y="340.93549" |
668 | + x="492.10425" |
669 | + id="tspan3877" |
670 | + sodipodi:role="line">tiesto - sucks balls</tspan></text> |
671 | + </g> |
672 | + </g> |
673 | + <g |
674 | + id="g3879" |
675 | + transform="translate(-278.29662,48.2248)" |
676 | + style="stroke:#2e3436;stroke-opacity:1"> |
677 | + <rect |
678 | + y="345.25546" |
679 | + x="429.31485" |
680 | + height="259.60922" |
681 | + width="202.0305" |
682 | + id="rect3881" |
683 | + style="opacity:1;fill:#4e9a06;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
684 | + <g |
685 | + id="g3885" |
686 | + style="stroke:#2e3436;stroke-opacity:1"> |
687 | + <rect |
688 | + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
689 | + id="rect3887" |
690 | + width="87.88327" |
691 | + height="23.233509" |
692 | + x="444.46713" |
693 | + y="357.37723" /> |
694 | + <text |
695 | + xml:space="preserve" |
696 | + style="font-size:8.7559185px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#2e3436;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3853)" |
697 | + x="492.10425" |
698 | + y="340.93549" |
699 | + id="text3889" |
700 | + transform="scale(0.9160689,1.091621)"><tspan |
701 | + sodipodi:role="line" |
702 | + id="tspan3891" |
703 | + x="492.10425" |
704 | + y="340.93549">tiesto - sucks balls</tspan></text> |
705 | + </g> |
706 | + </g> |
707 | + <g |
708 | + id="g3616" |
709 | + style="fill:#cc0000" |
710 | + transform="translate(17.172593,12.121831)"> |
711 | + <rect |
712 | + y="482.36218" |
713 | + x="309.28571" |
714 | + height="171.42857" |
715 | + width="27.142857" |
716 | + id="rect3456" |
717 | + style="opacity:1;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
718 | + <rect |
719 | + style="opacity:1;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
720 | + id="rect3458" |
721 | + width="28.392857" |
722 | + height="171.42857" |
723 | + x="123.57142" |
724 | + y="480.21933" /> |
725 | + <path |
726 | + id="rect3211" |
727 | + d="M 123.5625,444.5 L 123.5625,487.375 L 187.84375,487.375 C 187.84375,478.30643 207.06161,470.9375 230.71875,470.9375 C 254.37589,470.93749 273.5625,478.30643 273.5625,487.375 L 340.71875,487.375 L 340.71875,444.5 L 123.5625,444.5 z" |
728 | + style="opacity:1;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
729 | + <rect |
730 | + y="629.3902" |
731 | + x="123.57142" |
732 | + height="25.114908" |
733 | + width="213.01093" |
734 | + id="rect3466" |
735 | + style="opacity:1;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.00000095;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> |
736 | + </g> |
737 | + <rect |
738 | + style="opacity:1;fill:#454837;fill-opacity:0;fill-rule:evenodd;stroke:#2b0000;stroke-width:9.42503071;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
739 | + id="rect2383" |
740 | + width="215.14784" |
741 | + height="212.00354" |
742 | + x="140.54936" |
743 | + y="456.38293" /> |
744 | + <g |
745 | + id="g3590" |
746 | + style="stroke:#2b0000;stroke-opacity:1" |
747 | + transform="translate(17.172593,12.121831)"> |
748 | + <path |
749 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
750 | + d="M 151.66352,628.69422 L 311.30277,628.69422" |
751 | + id="path3468" /> |
752 | + <g |
753 | + style="stroke:#2b0000;stroke-opacity:1" |
754 | + id="g3562"> |
755 | + <g |
756 | + id="g3428" |
757 | + style="fill:#89a02c;stroke:#2b0000;stroke-opacity:1"> |
758 | + <path |
759 | + sodipodi:nodetypes="cc" |
760 | + id="path3388" |
761 | + d="M 153.83385,486.64791 L 153.39832,630.15284" |
762 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
763 | + <path |
764 | + id="path3400" |
765 | + d="M 153.5432,488.69708 L 293.9544,629.1083" |
766 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
767 | + <path |
768 | + id="path3406" |
769 | + d="M 153.54319,567.48895 L 215.66756,629.61333" |
770 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
771 | + <path |
772 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
773 | + d="M 153.54318,605.36965 L 175.26146,627.08793" |
774 | + id="path3408" /> |
775 | + <path |
776 | + id="path3418" |
777 | + d="M 153.54318,526.57776 L 254.55843,627.59301" |
778 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
779 | + <path |
780 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
781 | + d="M 203.04065,499.80872 L 309.61176,606.37982" |
782 | + id="path3420" /> |
783 | + <path |
784 | + id="path3422" |
785 | + d="M 244.4569,501.82898 L 308.09652,565.46857" |
786 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
787 | + <path |
788 | + style="fill:#89a02c;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
789 | + d="M 272.74117,489.20205 L 309.10666,525.56752" |
790 | + id="path3426" /> |
791 | + </g> |
792 | + <g |
793 | + style="stroke:#2b0000;stroke-opacity:1" |
794 | + id="g3548"> |
795 | + <g |
796 | + style="fill:#445016;stroke:#2b0000;stroke-opacity:1" |
797 | + transform="matrix(-1,0,0,1,463.15494,0)" |
798 | + id="g3438"> |
799 | + <path |
800 | + sodipodi:nodetypes="cc" |
801 | + id="path3440" |
802 | + d="M 153.83388,486.64793 L 153.39835,630.15287" |
803 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
804 | + <path |
805 | + id="path3442" |
806 | + d="M 153.54319,488.69708 L 292.43917,627.59306" |
807 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
808 | + <path |
809 | + id="path3444" |
810 | + d="M 153.54318,567.48894 L 213.64725,627.59301" |
811 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
812 | + <path |
813 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
814 | + d="M 153.54318,605.36967 L 177.78684,629.61333" |
815 | + id="path3446" /> |
816 | + <path |
817 | + id="path3448" |
818 | + d="M 153.54318,526.57775 L 255.56857,628.60315" |
819 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
820 | + <path |
821 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
822 | + d="M 203.04065,499.80872 L 309.61176,606.37982" |
823 | + id="path3450" /> |
824 | + <path |
825 | + id="path3452" |
826 | + d="M 244.4569,501.82898 L 308.09652,565.46857" |
827 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
828 | + <path |
829 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:3.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
830 | + d="M 272.74117,489.20205 L 309.10666,525.56752" |
831 | + id="path3454" /> |
832 | + </g> |
833 | + <path |
834 | + id="path3460" |
835 | + d="M 151.52098,487.27289 L 186.50204,487.27289" |
836 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> |
837 | + <path |
838 | + style="fill:#445016;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
839 | + d="M 274.51264,487.27293 L 311.56965,487.27293" |
840 | + id="path3464" /> |
841 | + <path |
842 | + transform="translate(-37.142857,6.6377796)" |
843 | + d="M 310.71429,480.21933 A 42.857143,16.428572 0 1 1 225,480.21933 A 42.857143,16.428572 0 1 1 310.71429,480.21933 z" |
844 | + sodipodi:ry="16.428572" |
845 | + sodipodi:rx="42.857143" |
846 | + sodipodi:cy="480.21933" |
847 | + sodipodi:cx="267.85715" |
848 | + id="path3534" |
849 | + style="opacity:1;fill:#454837;fill-opacity:0;fill-rule:evenodd;stroke:#2b0000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" |
850 | + sodipodi:type="arc" /> |
851 | + </g> |
852 | + </g> |
853 | + </g> |
854 | + </g> |
855 | +</svg> |
856 | |
857 | === added file 'mixxx/res/images/library/crates_art.png' |
858 | Binary files mixxx/res/images/library/crates_art.png 1970-01-01 00:00:00 +0000 and mixxx/res/images/library/crates_art.png 2010-01-05 04:00:30 +0000 differ |
859 | === added file 'mixxx/res/images/library/rhythmbox.png' |
860 | Binary files mixxx/res/images/library/rhythmbox.png 1970-01-01 00:00:00 +0000 and mixxx/res/images/library/rhythmbox.png 2010-01-05 04:00:30 +0000 differ |
861 | === modified file 'mixxx/res/midi/Behringer BCD3000.midi.xml' |
862 | --- mixxx/res/midi/Behringer BCD3000.midi.xml 2009-04-18 20:23:29 +0000 |
863 | +++ mixxx/res/midi/Behringer BCD3000.midi.xml 2010-01-05 04:00:30 +0000 |
864 | @@ -1,410 +1,593 @@ |
865 | <?xml version="1.0" encoding="utf-8"?> |
866 | -<MixxxMIDIPreset schemaVersion="1" mixxxVersion="1.6.2+"> |
867 | +<MixxxMIDIPreset schemaVersion="1" mixxxVersion="1.7.1"> |
868 | <info> |
869 | <name>Behringer BCD3000.midi.xml</name> |
870 | - <author>Auto-converted by madjesta's PHP script</author> |
871 | - <description>Automatic conversion of the file Behringer BCD3000.midi.xml for Mixxx 1.6.2</description> |
872 | + <author>Aposto</author> |
873 | + <description>Conversion of the file Behringer BCD3000.midi.xml for Mixxx 1.6.2</description> |
874 | </info> |
875 | <controller id="Behringer BCD3000" port="Port"> |
876 | + <scriptfiles> |
877 | + <file filename="Behringer-BCD3000-scripts.js" functionprefix="BCD3000"/> |
878 | + </scriptfiles> |
879 | <controls> |
880 | - <control> |
881 | - <group>[Master]</group> |
882 | - <key>crossfader</key> |
883 | - <status>0xB0</status> |
884 | - <midino>0x01</midino> |
885 | - </control> |
886 | - <control> |
887 | - <group>[Master]</group> |
888 | - <key>headMix</key> |
889 | - <status>0xB0</status> |
890 | - <midino>0x11</midino> |
891 | - </control> |
892 | - <control> |
893 | - <group>[Channel1]</group> |
894 | - <key>play</key> |
895 | - <status>0x90</status> |
896 | - <midino>0x12</midino> |
897 | - </control> |
898 | - <control> |
899 | - <group>[Channel1]</group> |
900 | - <key>play</key> |
901 | - <status>0x80</status> |
902 | - <midino>0x12</midino> |
903 | - </control> |
904 | - <control> |
905 | - <group>[Channel1]</group> |
906 | - <key>cue_gotoandstop</key> |
907 | - <status>0x90</status> |
908 | - <midino>0x13</midino> |
909 | - </control> |
910 | - <control> |
911 | - <group>[Channel1]</group> |
912 | - <key>cue_gotoandstop</key> |
913 | - <status>0x80</status> |
914 | - <midino>0x13</midino> |
915 | - </control> |
916 | - <control> |
917 | - <group>[Channel1]</group> |
918 | - <key>back</key> |
919 | - <status>0x90</status> |
920 | - <midino>0x00</midino> |
921 | - </control> |
922 | - <control> |
923 | - <group>[Channel1]</group> |
924 | - <key>back</key> |
925 | - <status>0x80</status> |
926 | - <midino>0x00</midino> |
927 | - </control> |
928 | - <control> |
929 | - <group>[Channel1]</group> |
930 | - <key>fwd</key> |
931 | - <status>0x90</status> |
932 | - <midino>0x01</midino> |
933 | - </control> |
934 | - <control> |
935 | - <group>[Channel1]</group> |
936 | - <key>fwd</key> |
937 | - <status>0x80</status> |
938 | - <midino>0x01</midino> |
939 | - </control> |
940 | - <control> |
941 | - <group>[Channel1]</group> |
942 | - <key>volume</key> |
943 | - <status>0xB0</status> |
944 | - <midino>0x00</midino> |
945 | - </control> |
946 | - <control> |
947 | - <group>[Channel1]</group> |
948 | - <key>rate</key> |
949 | - <status>0xB0</status> |
950 | - <midino>0x0b</midino> |
951 | - </control> |
952 | - <control> |
953 | - <group>[Channel1]</group> |
954 | - <key>pfl</key> |
955 | - <status>0x90</status> |
956 | - <midino>0x23</midino> |
957 | - </control> |
958 | - <control> |
959 | - <group>[Channel1]</group> |
960 | - <key>pfl</key> |
961 | - <status>0x80</status> |
962 | - <midino>0x23</midino> |
963 | - </control> |
964 | - <control> |
965 | - <group>[Channel1]</group> |
966 | - <key>filterLow</key> |
967 | - <status>0xB0</status> |
968 | - <midino>0x03</midino> |
969 | - </control> |
970 | - <control> |
971 | - <group>[Channel1]</group> |
972 | - <key>filterMid</key> |
973 | - <status>0xB0</status> |
974 | - <midino>0x04</midino> |
975 | - </control> |
976 | - <control> |
977 | - <group>[Channel1]</group> |
978 | - <key>filterHigh</key> |
979 | - <status>0xB0</status> |
980 | - <midino>0x05</midino> |
981 | - </control> |
982 | - <control> |
983 | - <group>[Channel1]</group> |
984 | - <key>filterLowKill</key> |
985 | - <status>0x90</status> |
986 | - <midino>0x0c</midino> |
987 | - </control> |
988 | - <control> |
989 | - <group>[Channel1]</group> |
990 | - <key>filterLowKill</key> |
991 | - <status>0x80</status> |
992 | - <midino>0x0c</midino> |
993 | - </control> |
994 | - <control> |
995 | - <group>[Channel1]</group> |
996 | - <key>filterMidKill</key> |
997 | - <status>0x90</status> |
998 | - <midino>0x0d</midino> |
999 | - </control> |
1000 | - <control> |
1001 | - <group>[Channel1]</group> |
1002 | - <key>filterMidKill</key> |
1003 | - <status>0x80</status> |
1004 | - <midino>0x0d</midino> |
1005 | - </control> |
1006 | - <control> |
1007 | - <group>[Channel1]</group> |
1008 | - <key>filterHighKill</key> |
1009 | - <status>0x90</status> |
1010 | - <midino>0x0e</midino> |
1011 | - </control> |
1012 | - <control> |
1013 | - <group>[Channel1]</group> |
1014 | - <key>filterHighKill</key> |
1015 | - <status>0x80</status> |
1016 | - <midino>0x0e</midino> |
1017 | - </control> |
1018 | - <control> |
1019 | - <group>[Channel1]</group> |
1020 | - <key>pregain</key> |
1021 | - <status>0xB0</status> |
1022 | - <midino>0x06</midino> |
1023 | - </control> |
1024 | - <control> |
1025 | - <group>[Channel1]</group> |
1026 | - <key>rate_temp_up</key> |
1027 | - <status>0x90</status> |
1028 | - <midino>0x03</midino> |
1029 | - </control> |
1030 | - <control> |
1031 | - <group>[Channel1]</group> |
1032 | - <key>rate_temp_up</key> |
1033 | - <status>0x80</status> |
1034 | - <midino>0x03</midino> |
1035 | - </control> |
1036 | - <control> |
1037 | - <group>[Channel1]</group> |
1038 | - <key>rate_temp_down</key> |
1039 | - <status>0x90</status> |
1040 | - <midino>0x02</midino> |
1041 | - </control> |
1042 | - <control> |
1043 | - <group>[Channel1]</group> |
1044 | - <key>rate_temp_down</key> |
1045 | - <status>0x80</status> |
1046 | - <midino>0x02</midino> |
1047 | - </control> |
1048 | - <control> |
1049 | - <group>[Channel1]</group> |
1050 | - <key>beatsync</key> |
1051 | - <status>0x90</status> |
1052 | - <midino>0x10</midino> |
1053 | - </control> |
1054 | - <control> |
1055 | - <group>[Channel1]</group> |
1056 | - <key>beatsync</key> |
1057 | - <status>0x80</status> |
1058 | - <midino>0x10</midino> |
1059 | - </control> |
1060 | - <control> |
1061 | - <group>[Channel1]</group> |
1062 | - <key>cue_set</key> |
1063 | - <status>0x90</status> |
1064 | - <midino>0x04</midino> |
1065 | - </control> |
1066 | - <control> |
1067 | - <group>[Channel1]</group> |
1068 | - <key>cue_set</key> |
1069 | - <status>0x80</status> |
1070 | - <midino>0x04</midino> |
1071 | - </control> |
1072 | - <control> |
1073 | - <group>[Channel2]</group> |
1074 | - <key>play</key> |
1075 | - <status>0x90</status> |
1076 | - <midino>0x1a</midino> |
1077 | - </control> |
1078 | - <control> |
1079 | - <group>[Channel2]</group> |
1080 | - <key>play</key> |
1081 | - <status>0x80</status> |
1082 | - <midino>0x1a</midino> |
1083 | - </control> |
1084 | - <control> |
1085 | - <group>[Channel2]</group> |
1086 | - <key>cue_gotoandstop</key> |
1087 | - <status>0x90</status> |
1088 | - <midino>0x1b</midino> |
1089 | - </control> |
1090 | - <control> |
1091 | - <group>[Channel2]</group> |
1092 | - <key>cue_gotoandstop</key> |
1093 | - <status>0x80</status> |
1094 | - <midino>0x1b</midino> |
1095 | - </control> |
1096 | - <control> |
1097 | - <group>[Channel2]</group> |
1098 | - <key>back</key> |
1099 | - <status>0x90</status> |
1100 | - <midino>0x06</midino> |
1101 | - </control> |
1102 | - <control> |
1103 | - <group>[Channel2]</group> |
1104 | - <key>back</key> |
1105 | - <status>0x80</status> |
1106 | - <midino>0x06</midino> |
1107 | - </control> |
1108 | - <control> |
1109 | - <group>[Channel2]</group> |
1110 | - <key>fwd</key> |
1111 | - <status>0x90</status> |
1112 | - <midino>0x07</midino> |
1113 | - </control> |
1114 | - <control> |
1115 | - <group>[Channel2]</group> |
1116 | - <key>fwd</key> |
1117 | - <status>0x80</status> |
1118 | - <midino>0x07</midino> |
1119 | - </control> |
1120 | - <control> |
1121 | - <group>[Channel2]</group> |
1122 | - <key>volume</key> |
1123 | - <status>0xB0</status> |
1124 | - <midino>0x02</midino> |
1125 | - </control> |
1126 | - <control> |
1127 | - <group>[Channel2]</group> |
1128 | - <key>rate</key> |
1129 | - <status>0xB0</status> |
1130 | - <midino>0x0c</midino> |
1131 | - </control> |
1132 | - <control> |
1133 | - <group>[Channel2]</group> |
1134 | - <key>pfl</key> |
1135 | - <status>0x90</status> |
1136 | - <midino>0x24</midino> |
1137 | - </control> |
1138 | - <control> |
1139 | - <group>[Channel2]</group> |
1140 | - <key>pfl</key> |
1141 | - <status>0x80</status> |
1142 | - <midino>0x24</midino> |
1143 | - </control> |
1144 | - <control> |
1145 | - <group>[Channel2]</group> |
1146 | - <key>filterLow</key> |
1147 | - <status>0xB0</status> |
1148 | - <midino>0x07</midino> |
1149 | - </control> |
1150 | - <control> |
1151 | - <group>[Channel2]</group> |
1152 | - <key>filterMid</key> |
1153 | - <status>0xB0</status> |
1154 | - <midino>0x08</midino> |
1155 | - </control> |
1156 | - <control> |
1157 | - <group>[Channel2]</group> |
1158 | - <key>filterHigh</key> |
1159 | - <status>0xB0</status> |
1160 | - <midino>0x09</midino> |
1161 | - </control> |
1162 | - <control> |
1163 | - <group>[Channel2]</group> |
1164 | - <key>filterLowKill</key> |
1165 | - <status>0x90</status> |
1166 | - <midino>0x14</midino> |
1167 | - </control> |
1168 | - <control> |
1169 | - <group>[Channel2]</group> |
1170 | - <key>filterLowKill</key> |
1171 | - <status>0x80</status> |
1172 | - <midino>0x14</midino> |
1173 | - </control> |
1174 | - <control> |
1175 | - <group>[Channel2]</group> |
1176 | - <key>filterMidKill</key> |
1177 | - <status>0x90</status> |
1178 | - <midino>0x15</midino> |
1179 | - </control> |
1180 | - <control> |
1181 | - <group>[Channel2]</group> |
1182 | - <key>filterMidKill</key> |
1183 | - <status>0x80</status> |
1184 | - <midino>0x15</midino> |
1185 | - </control> |
1186 | - <control> |
1187 | - <group>[Channel2]</group> |
1188 | - <key>filterHighKill</key> |
1189 | - <status>0x90</status> |
1190 | - <midino>0x16</midino> |
1191 | - </control> |
1192 | - <control> |
1193 | - <group>[Channel2]</group> |
1194 | - <key>filterHighKill</key> |
1195 | - <status>0x80</status> |
1196 | - <midino>0x16</midino> |
1197 | - </control> |
1198 | - <control> |
1199 | - <group>[Channel2]</group> |
1200 | - <key>pregain</key> |
1201 | - <status>0xB0</status> |
1202 | - <midino>0x0a</midino> |
1203 | - </control> |
1204 | - <control> |
1205 | - <group>[Channel2]</group> |
1206 | - <key>rate_temp_up</key> |
1207 | - <status>0x90</status> |
1208 | - <midino>0x08</midino> |
1209 | - </control> |
1210 | - <control> |
1211 | - <group>[Channel2]</group> |
1212 | - <key>rate_temp_up</key> |
1213 | - <status>0x80</status> |
1214 | - <midino>0x08</midino> |
1215 | - </control> |
1216 | - <control> |
1217 | - <group>[Channel2]</group> |
1218 | - <key>rate_temp_down</key> |
1219 | - <status>0x90</status> |
1220 | - <midino>0x09</midino> |
1221 | - </control> |
1222 | - <control> |
1223 | - <group>[Channel2]</group> |
1224 | - <key>rate_temp_down</key> |
1225 | - <status>0x80</status> |
1226 | - <midino>0x09</midino> |
1227 | - </control> |
1228 | - <control> |
1229 | - <group>[Channel2]</group> |
1230 | - <key>beatsync</key> |
1231 | - <status>0x90</status> |
1232 | - <midino>0x18</midino> |
1233 | - </control> |
1234 | - <control> |
1235 | - <group>[Channel2]</group> |
1236 | - <key>beatsync</key> |
1237 | - <status>0x80</status> |
1238 | - <midino>0x18</midino> |
1239 | - </control> |
1240 | - <control> |
1241 | - <group>[Channel2]</group> |
1242 | - <key>cue_set</key> |
1243 | - <status>0x90</status> |
1244 | - <midino>0x0a</midino> |
1245 | - </control> |
1246 | - <control> |
1247 | - <group>[Channel2]</group> |
1248 | - <key>cue_set</key> |
1249 | - <status>0x80</status> |
1250 | - <midino>0x0a</midino> |
1251 | - </control> |
1252 | - <control> |
1253 | - <group>[Channel1]</group> |
1254 | - <key>wheel</key> |
1255 | - <status>0xB0</status> |
1256 | - <midino>0x13</midino> |
1257 | - <options> |
1258 | - |
1259 | - </options> |
1260 | - <sensitivity>30</sensitivity> |
1261 | - <translations> |
1262 | - |
1263 | - </translations> |
1264 | - </control> |
1265 | - <control> |
1266 | - <group>[Channel2]</group> |
1267 | - <key>wheel</key> |
1268 | - <status>0xB0</status> |
1269 | - <midino>0x12</midino> |
1270 | - <options> |
1271 | - |
1272 | - </options> |
1273 | - <sensitivity>30</sensitivity> |
1274 | - <translations> |
1275 | - |
1276 | - </translations> |
1277 | - </control> |
1278 | + <control> |
1279 | + <group>[Master]</group> |
1280 | + <key>crossfader</key> |
1281 | + <status>0xB0</status> |
1282 | + <midino>0x01</midino> |
1283 | + </control> |
1284 | + <control> |
1285 | + <group>[Master]</group> |
1286 | + <key>headMix</key> |
1287 | + <status>0xB0</status> |
1288 | + <midino>0x11</midino> |
1289 | + </control> |
1290 | + <control> |
1291 | + <group>[Channel1]</group> |
1292 | + <key>play</key> |
1293 | + <status>0x90</status> |
1294 | + <midino>0x12</midino> |
1295 | + </control> |
1296 | + <control> |
1297 | + <group>[Channel1]</group> |
1298 | + <key>play</key> |
1299 | + <status>0x80</status> |
1300 | + <midino>0x12</midino> |
1301 | + </control> |
1302 | + <control> |
1303 | + <group>[Channel1]</group> |
1304 | + <key>BCD3000.scratch1</key> |
1305 | + <status>0x90</status> |
1306 | + <midino>0x11</midino> |
1307 | + <options> |
1308 | + <Script-Binding/> |
1309 | + </options> |
1310 | + </control> |
1311 | + <control> |
1312 | + <group>[Channel1]</group> |
1313 | + <key>cue_gotoandstop</key> |
1314 | + <status>0x90</status> |
1315 | + <midino>0x13</midino> |
1316 | + </control> |
1317 | + <control> |
1318 | + <group>[Channel1]</group> |
1319 | + <key>cue_gotoandstop</key> |
1320 | + <status>0x80</status> |
1321 | + <midino>0x13</midino> |
1322 | + </control> |
1323 | + <control> |
1324 | + <group>[Channel1]</group> |
1325 | + <key>back</key> |
1326 | + <status>0x90</status> |
1327 | + <midino>0x00</midino> |
1328 | + </control> |
1329 | + <control> |
1330 | + <group>[Channel1]</group> |
1331 | + <key>back</key> |
1332 | + <status>0x80</status> |
1333 | + <midino>0x00</midino> |
1334 | + </control> |
1335 | + <control> |
1336 | + <group>[Channel1]</group> |
1337 | + <key>fwd</key> |
1338 | + <status>0x90</status> |
1339 | + <midino>0x01</midino> |
1340 | + </control> |
1341 | + <control> |
1342 | + <group>[Channel1]</group> |
1343 | + <key>fwd</key> |
1344 | + <status>0x80</status> |
1345 | + <midino>0x01</midino> |
1346 | + </control> |
1347 | + <control> |
1348 | + <group>[Channel1]</group> |
1349 | + <key>volume</key> |
1350 | + <status>0xB0</status> |
1351 | + <midino>0x00</midino> |
1352 | + </control> |
1353 | + <control> |
1354 | + <group>[Channel1]</group> |
1355 | + <key>rate</key> |
1356 | + <status>0xB0</status> |
1357 | + <midino>0x0b</midino> |
1358 | + </control> |
1359 | + <control> |
1360 | + <group>[Channel1]</group> |
1361 | + <key>pfl</key> |
1362 | + <status>0x90</status> |
1363 | + <midino>0x23</midino> |
1364 | + </control> |
1365 | + <control> |
1366 | + <group>[Channel1]</group> |
1367 | + <key>pfl</key> |
1368 | + <status>0x80</status> |
1369 | + <midino>0x23</midino> |
1370 | + </control> |
1371 | + <control> |
1372 | + <group>[Channel1]</group> |
1373 | + <key>filterLow</key> |
1374 | + <status>0xB0</status> |
1375 | + <midino>0x03</midino> |
1376 | + </control> |
1377 | + <control> |
1378 | + <group>[Channel1]</group> |
1379 | + <key>filterMid</key> |
1380 | + <status>0xB0</status> |
1381 | + <midino>0x04</midino> |
1382 | + </control> |
1383 | + <control> |
1384 | + <group>[Channel1]</group> |
1385 | + <key>filterHigh</key> |
1386 | + <status>0xB0</status> |
1387 | + <midino>0x05</midino> |
1388 | + </control> |
1389 | + <control> |
1390 | + <group>[Channel1]</group> |
1391 | + <key>filterLowKill</key> |
1392 | + <status>0x90</status> |
1393 | + <midino>0x0c</midino> |
1394 | + </control> |
1395 | + <control> |
1396 | + <group>[Channel1]</group> |
1397 | + <key>filterLowKill</key> |
1398 | + <status>0x80</status> |
1399 | + <midino>0x0c</midino> |
1400 | + </control> |
1401 | + <control> |
1402 | + <group>[Channel1]</group> |
1403 | + <key>filterMidKill</key> |
1404 | + <status>0x90</status> |
1405 | + <midino>0x0d</midino> |
1406 | + </control> |
1407 | + <control> |
1408 | + <group>[Channel1]</group> |
1409 | + <key>filterMidKill</key> |
1410 | + <status>0x80</status> |
1411 | + <midino>0x0d</midino> |
1412 | + </control> |
1413 | + <control> |
1414 | + <group>[Channel1]</group> |
1415 | + <key>filterHighKill</key> |
1416 | + <status>0x90</status> |
1417 | + <midino>0x0e</midino> |
1418 | + </control> |
1419 | + <control> |
1420 | + <group>[Channel1]</group> |
1421 | + <key>filterHighKill</key> |
1422 | + <status>0x80</status> |
1423 | + <midino>0x0e</midino> |
1424 | + </control> |
1425 | + <control> |
1426 | + <group>[Channel1]</group> |
1427 | + <key>pregain</key> |
1428 | + <status>0xB0</status> |
1429 | + <midino>0x06</midino> |
1430 | + </control> |
1431 | + <control> |
1432 | + <group>[Channel1]</group> |
1433 | + <key>rate_temp_up</key> |
1434 | + <status>0x90</status> |
1435 | + <midino>0x03</midino> |
1436 | + </control> |
1437 | + <control> |
1438 | + <group>[Channel1]</group> |
1439 | + <key>rate_temp_up</key> |
1440 | + <status>0x80</status> |
1441 | + <midino>0x03</midino> |
1442 | + </control> |
1443 | + <control> |
1444 | + <group>[Channel1]</group> |
1445 | + <key>rate_temp_down</key> |
1446 | + <status>0x90</status> |
1447 | + <midino>0x02</midino> |
1448 | + </control> |
1449 | + <control> |
1450 | + <group>[Channel1]</group> |
1451 | + <key>rate_temp_down</key> |
1452 | + <status>0x80</status> |
1453 | + <midino>0x02</midino> |
1454 | + </control> |
1455 | + <control> |
1456 | + <group>[Channel1]</group> |
1457 | + <key>rate_perm_up</key> |
1458 | + <status>0x90</status> |
1459 | + <midino>0x05</midino> |
1460 | + </control> |
1461 | + <control> |
1462 | + <group>[Channel1]</group> |
1463 | + <key>rate_prem_up</key> |
1464 | + <status>0x80</status> |
1465 | + <midino>0x05</midino> |
1466 | + </control> |
1467 | + <control> |
1468 | + <group>[Channel1]</group> |
1469 | + <key>rate_perm_down</key> |
1470 | + <status>0x90</status> |
1471 | + <midino>0x0F</midino> |
1472 | + </control> |
1473 | + <control> |
1474 | + <group>[Channel1]</group> |
1475 | + <key>rate_perm_down</key> |
1476 | + <status>0x80</status> |
1477 | + <midino>0x0F</midino> |
1478 | + </control> |
1479 | + <control> |
1480 | + <group>[Channel1]</group> |
1481 | + <key>beatsync</key> |
1482 | + <status>0x90</status> |
1483 | + <midino>0x10</midino> |
1484 | + </control> |
1485 | + <control> |
1486 | + <group>[Channel1]</group> |
1487 | + <key>beatsync</key> |
1488 | + <status>0x80</status> |
1489 | + <midino>0x10</midino> |
1490 | + </control> |
1491 | + <control> |
1492 | + <group>[Channel1]</group> |
1493 | + <key>cue_set</key> |
1494 | + <status>0x90</status> |
1495 | + <midino>0x04</midino> |
1496 | + </control> |
1497 | + <control> |
1498 | + <group>[Channel1]</group> |
1499 | + <key>cue_set</key> |
1500 | + <status>0x80</status> |
1501 | + <midino>0x04</midino> |
1502 | + </control> |
1503 | + <control> |
1504 | + <group>[Channel2]</group> |
1505 | + <key>play</key> |
1506 | + <status>0x90</status> |
1507 | + <midino>0x1a</midino> |
1508 | + </control> |
1509 | + <control> |
1510 | + <group>[Channel2]</group> |
1511 | + <key>play</key> |
1512 | + <status>0x80</status> |
1513 | + <midino>0x1a</midino> |
1514 | + </control> |
1515 | + <control> |
1516 | + <group>[Channel2]</group> |
1517 | + <key>BCD3000.scratch2</key> |
1518 | + <status>0x90</status> |
1519 | + <midino>0x19</midino> |
1520 | + <options> |
1521 | + <Script-Binding/> |
1522 | + </options> |
1523 | + </control> |
1524 | + <control> |
1525 | + <group>[Channel2]</group> |
1526 | + <key>cue_gotoandstop</key> |
1527 | + <status>0x90</status> |
1528 | + <midino>0x1b</midino> |
1529 | + </control> |
1530 | + <control> |
1531 | + <group>[Channel2]</group> |
1532 | + <key>cue_gotoandstop</key> |
1533 | + <status>0x80</status> |
1534 | + <midino>0x1b</midino> |
1535 | + </control> |
1536 | + <control> |
1537 | + <group>[Channel2]</group> |
1538 | + <key>back</key> |
1539 | + <status>0x90</status> |
1540 | + <midino>0x06</midino> |
1541 | + </control> |
1542 | + <control> |
1543 | + <group>[Channel2]</group> |
1544 | + <key>back</key> |
1545 | + <status>0x80</status> |
1546 | + <midino>0x06</midino> |
1547 | + </control> |
1548 | + <control> |
1549 | + <group>[Channel2]</group> |
1550 | + <key>fwd</key> |
1551 | + <status>0x90</status> |
1552 | + <midino>0x07</midino> |
1553 | + </control> |
1554 | + <control> |
1555 | + <group>[Channel2]</group> |
1556 | + <key>fwd</key> |
1557 | + <status>0x80</status> |
1558 | + <midino>0x07</midino> |
1559 | + </control> |
1560 | + <control> |
1561 | + <group>[Channel2]</group> |
1562 | + <key>volume</key> |
1563 | + <status>0xB0</status> |
1564 | + <midino>0x02</midino> |
1565 | + </control> |
1566 | + <control> |
1567 | + <group>[Channel2]</group> |
1568 | + <key>rate</key> |
1569 | + <status>0xB0</status> |
1570 | + <midino>0x0c</midino> |
1571 | + </control> |
1572 | + <control> |
1573 | + <group>[Channel2]</group> |
1574 | + <key>pfl</key> |
1575 | + <status>0x90</status> |
1576 | + <midino>0x24</midino> |
1577 | + </control> |
1578 | + <control> |
1579 | + <group>[Channel2]</group> |
1580 | + <key>pfl</key> |
1581 | + <status>0x80</status> |
1582 | + <midino>0x24</midino> |
1583 | + </control> |
1584 | + <control> |
1585 | + <group>[Channel2]</group> |
1586 | + <key>filterLow</key> |
1587 | + <status>0xB0</status> |
1588 | + <midino>0x07</midino> |
1589 | + </control> |
1590 | + <control> |
1591 | + <group>[Channel2]</group> |
1592 | + <key>filterMid</key> |
1593 | + <status>0xB0</status> |
1594 | + <midino>0x08</midino> |
1595 | + </control> |
1596 | + <control> |
1597 | + <group>[Channel2]</group> |
1598 | + <key>filterHigh</key> |
1599 | + <status>0xB0</status> |
1600 | + <midino>0x09</midino> |
1601 | + </control> |
1602 | + <control> |
1603 | + <group>[Channel2]</group> |
1604 | + <key>filterLowKill</key> |
1605 | + <status>0x90</status> |
1606 | + <midino>0x14</midino> |
1607 | + </control> |
1608 | + <control> |
1609 | + <group>[Channel2]</group> |
1610 | + <key>filterLowKill</key> |
1611 | + <status>0x80</status> |
1612 | + <midino>0x14</midino> |
1613 | + </control> |
1614 | + <control> |
1615 | + <group>[Channel2]</group> |
1616 | + <key>filterMidKill</key> |
1617 | + <status>0x90</status> |
1618 | + <midino>0x15</midino> |
1619 | + </control> |
1620 | + <control> |
1621 | + <group>[Channel2]</group> |
1622 | + <key>filterMidKill</key> |
1623 | + <status>0x80</status> |
1624 | + <midino>0x15</midino> |
1625 | + </control> |
1626 | + <control> |
1627 | + <group>[Channel2]</group> |
1628 | + <key>filterHighKill</key> |
1629 | + <status>0x90</status> |
1630 | + <midino>0x16</midino> |
1631 | + </control> |
1632 | + <control> |
1633 | + <group>[Channel2]</group> |
1634 | + <key>filterHighKill</key> |
1635 | + <status>0x80</status> |
1636 | + <midino>0x16</midino> |
1637 | + </control> |
1638 | + <control> |
1639 | + <group>[Channel2]</group> |
1640 | + <key>pregain</key> |
1641 | + <status>0xB0</status> |
1642 | + <midino>0x0a</midino> |
1643 | + </control> |
1644 | + <control> |
1645 | + <group>[Channel2]</group> |
1646 | + <key>rate_temp_up</key> |
1647 | + <status>0x90</status> |
1648 | + <midino>0x09</midino> |
1649 | + </control> |
1650 | + <control> |
1651 | + <group>[Channel2]</group> |
1652 | + <key>rate_temp_up</key> |
1653 | + <status>0x80</status> |
1654 | + <midino>0x09</midino> |
1655 | + </control> |
1656 | + <control> |
1657 | + <group>[Channel2]</group> |
1658 | + <key>rate_temp_down</key> |
1659 | + <status>0x90</status> |
1660 | + <midino>0x08</midino> |
1661 | + </control> |
1662 | + <control> |
1663 | + <group>[Channel2]</group> |
1664 | + <key>rate_temp_down</key> |
1665 | + <status>0x80</status> |
1666 | + <midino>0x08</midino> |
1667 | + </control> |
1668 | + <control> |
1669 | + <group>[Channel2]</group> |
1670 | + <key>rate_perm_up</key> |
1671 | + <status>0x90</status> |
1672 | + <midino>0x0B</midino> |
1673 | + </control> |
1674 | + <control> |
1675 | + <group>[Channel2]</group> |
1676 | + <key>rate_perm_up</key> |
1677 | + <status>0x80</status> |
1678 | + <midino>0x0B</midino> |
1679 | + </control> |
1680 | + <control> |
1681 | + <group>[Channel2]</group> |
1682 | + <key>rate_perm_down</key> |
1683 | + <status>0x90</status> |
1684 | + <midino>0x17</midino> |
1685 | + </control> |
1686 | + <control> |
1687 | + <group>[Channel2]</group> |
1688 | + <key>rate_perm_down</key> |
1689 | + <status>0x80</status> |
1690 | + <midino>0x17</midino> |
1691 | + </control> |
1692 | + <control> |
1693 | + <group>[Channel2]</group> |
1694 | + <key>beatsync</key> |
1695 | + <status>0x90</status> |
1696 | + <midino>0x18</midino> |
1697 | + </control> |
1698 | + <control> |
1699 | + <group>[Channel2]</group> |
1700 | + <key>beatsync</key> |
1701 | + <status>0x80</status> |
1702 | + <midino>0x18</midino> |
1703 | + </control> |
1704 | + <control> |
1705 | + <group>[Channel2]</group> |
1706 | + <key>cue_set</key> |
1707 | + <status>0x90</status> |
1708 | + <midino>0x0a</midino> |
1709 | + </control> |
1710 | + <control> |
1711 | + <group>[Channel2]</group> |
1712 | + <key>cue_set</key> |
1713 | + <status>0x80</status> |
1714 | + <midino>0x0a</midino> |
1715 | + </control> |
1716 | + <control> |
1717 | + <group>[Channel1]</group> |
1718 | + <key>BCD3000.jog_wheel1</key> |
1719 | + <status>0xB0</status> |
1720 | + <midino>0x13</midino> |
1721 | + <options> |
1722 | + <Script-Binding/> |
1723 | + </options> |
1724 | + </control> |
1725 | + <control> |
1726 | + <group>[Channel2]</group> |
1727 | + <key>BCD3000.jog_wheel2</key> |
1728 | + <status>0xB0</status> |
1729 | + <midino>0x12</midino> |
1730 | + <options> |
1731 | + <Script-Binding/> |
1732 | + </options> |
1733 | + </control> |
1734 | </controls> |
1735 | + <outputs> |
1736 | + <output> |
1737 | + <group>[Channel1]</group> |
1738 | + <key>play</key> |
1739 | + <status>0xB0</status> |
1740 | + <midino>0x12</midino> |
1741 | + <on>0x7F</on> |
1742 | + <off>0x00</off> |
1743 | + <maximum>1.0</maximum> |
1744 | + <minimum>0.5</minimum> |
1745 | + </output> |
1746 | + <output> |
1747 | + <group>[Channel1]</group> |
1748 | + <key>cue_default</key> |
1749 | + <status>0xB0</status> |
1750 | + <midino>0x11</midino> |
1751 | + <on>0x7F</on> |
1752 | + <off>0x00</off> |
1753 | + <maximum>1.0</maximum> |
1754 | + <minimum>0.5</minimum> |
1755 | + </output> |
1756 | + <output> |
1757 | + <group>[Channel1]</group> |
1758 | + <key>filterLowKill</key> |
1759 | + <status>0xB0</status> |
1760 | + <midino>0x18</midino> |
1761 | + <on>0x7F</on> |
1762 | + <off>0x00</off> |
1763 | + <maximum>1.0</maximum> |
1764 | + <minimum>0.5</minimum> |
1765 | + </output> |
1766 | + <output> |
1767 | + <group>[Channel1]</group> |
1768 | + <key>filterMidKill</key> |
1769 | + <status>0xB0</status> |
1770 | + <midino>0x17</midino> |
1771 | + <on>0x7F</on> |
1772 | + <off>0x00</off> |
1773 | + <maximum>1.0</maximum> |
1774 | + <minimum>0.5</minimum> |
1775 | + </output> |
1776 | + <output> |
1777 | + <group>[Channel1]</group> |
1778 | + <key>filterHighKill</key> |
1779 | + <status>0xB0</status> |
1780 | + <midino>0x16</midino> |
1781 | + <on>0x7F</on> |
1782 | + <off>0x00</off> |
1783 | + <maximum>1.0</maximum> |
1784 | + <minimum>0.5</minimum> |
1785 | + </output> |
1786 | + <output> |
1787 | + <group>[Channel1]</group> |
1788 | + <key>pfl</key> |
1789 | + <status>0xB0</status> |
1790 | + <midino>0x02</midino> |
1791 | + <on>0x7F</on> |
1792 | + <off>0x00</off> |
1793 | + <maximum>1.0</maximum> |
1794 | + <minimum>0.5</minimum> |
1795 | + </output> |
1796 | + <output> |
1797 | + <group>[Channel2]</group> |
1798 | + <key>play</key> |
1799 | + <status>0xB0</status> |
1800 | + <midino>0xA</midino> |
1801 | + <on>0x7F</on> |
1802 | + <off>0x00</off> |
1803 | + <maximum>1.0</maximum> |
1804 | + <minimum>0.5</minimum> |
1805 | + </output> |
1806 | + <output> |
1807 | + <group>[Channel2]</group> |
1808 | + <key>cue_default</key> |
1809 | + <status>0xB0</status> |
1810 | + <midino>0x9</midino> |
1811 | + <on>0x7F</on> |
1812 | + <off>0x00</off> |
1813 | + <maximum>1.0</maximum> |
1814 | + <minimum>0.5</minimum> |
1815 | + </output> |
1816 | + <output> |
1817 | + <group>[Channel2]</group> |
1818 | + <key>filterLowKill</key> |
1819 | + <status>0xB0</status> |
1820 | + <midino>0x10</midino> |
1821 | + <on>0x7F</on> |
1822 | + <off>0x00</off> |
1823 | + <maximum>1.0</maximum> |
1824 | + <minimum>0.5</minimum> |
1825 | + </output> |
1826 | + <output> |
1827 | + <group>[Channel2]</group> |
1828 | + <key>filterMidKill</key> |
1829 | + <status>0xB0</status> |
1830 | + <midino>0xF</midino> |
1831 | + <on>0x7F</on> |
1832 | + <off>0x00</off> |
1833 | + <maximum>1.0</maximum> |
1834 | + <minimum>0.5</minimum> |
1835 | + </output> |
1836 | + <output> |
1837 | + <group>[Channel2]</group> |
1838 | + <key>filterHighKill</key> |
1839 | + <status>0xB0</status> |
1840 | + <midino>0xE</midino> |
1841 | + <on>0x7F</on> |
1842 | + <off>0x00</off> |
1843 | + <maximum>1.0</maximum> |
1844 | + <minimum>0.5</minimum> |
1845 | + </output> |
1846 | + <output> |
1847 | + <group>[Channel2]</group> |
1848 | + <key>pfl</key> |
1849 | + <status>0xB0</status> |
1850 | + <midino>0x01</midino> |
1851 | + <on>0x7F</on> |
1852 | + <off>0x00</off> |
1853 | + <maximum>1.0</maximum> |
1854 | + <minimum>0.5</minimum> |
1855 | + </output> |
1856 | + </outputs> |
1857 | </controller> |
1858 | </MixxxMIDIPreset> |
1859 | |
1860 | === added file 'mixxx/res/midi/Behringer-BCD3000-scripts.js' |
1861 | --- mixxx/res/midi/Behringer-BCD3000-scripts.js 1970-01-01 00:00:00 +0000 |
1862 | +++ mixxx/res/midi/Behringer-BCD3000-scripts.js 2010-01-05 04:00:30 +0000 |
1863 | @@ -0,0 +1,69 @@ |
1864 | +function BCD3000 () {} |
1865 | +BCD3000.debug = false; |
1866 | +BCD3000.escratch1 = "off"; |
1867 | +BCD3000.escratch2 = "off"; |
1868 | + |
1869 | +//sensitivity setting |
1870 | +BCD3000.JogSensivity = 2; |
1871 | +BCD3000.ScratchSensivity = 10; |
1872 | + |
1873 | +BCD3000.init = function (id) { // called when the device is opened & set up |
1874 | +}; |
1875 | + |
1876 | +BCD3000.shutdown = function (id) { |
1877 | +}; |
1878 | + |
1879 | +//Scratch, cue search and pitch bend function for chanel 1 |
1880 | +BCD3000.jog_wheel1 = function (group, control, value, status) { |
1881 | + |
1882 | +if (value >0x40){ |
1883 | + value = 0x41 |
1884 | +} |
1885 | +else value = 0x3F |
1886 | + |
1887 | +JogValue = (value - 0x40)/BCD3000.JogSensivity; |
1888 | +ScratchValue = (value - 0x40)*BCD3000.ScratchSensivity; |
1889 | +if (BCD3000.debug) print("Chanel 1 pitching adjust value:" + value + " JogValue:" + JogValue + " Scratch:" + BCD3000.escratch1); |
1890 | +if (BCD3000.escratch1 == "off") engine.setValue("[Channel1]","jog",JogValue); |
1891 | +if (BCD3000.escratch1 == "on") engine.setValue("[Channel1]","jog",ScratchValue); |
1892 | +}; |
1893 | + |
1894 | +//Scratch, cue search and pitch bend function for chanel 2 |
1895 | +BCD3000.jog_wheel2 = function (group, control, value, status) { |
1896 | + |
1897 | +JogValue = (value - 0x40)/BCD3000.JogSensivity; |
1898 | +ScratchValue = (value - 0x40)*BCD3000.ScratchSensivity; |
1899 | +if (BCD3000.debug) print("Channel 2 do pitching adjust value:" + value); |
1900 | +if (BCD3000.escratch2 == "off") engine.setValue("[Channel2]","jog",JogValue); |
1901 | +if (BCD3000.escratch2 == "on") engine.setValue("[Channel2]","jog",ScratchValue); |
1902 | + |
1903 | +}; |
1904 | + |
1905 | +//Scratch button function for chanel 1 |
1906 | +BCD3000.scratch1 = function (group, control, value, status) { |
1907 | +if (BCD3000.debug) print("Channel 1 sratch:" + status + " " + value); |
1908 | +if ((BCD3000.escratch1 == "on") && (value == "0x7F")){ |
1909 | + BCD3000.escratch1 = "off"; |
1910 | + if (BCD3000.debug) print("Channel 1 sratchoff:" + BCD3000.escratch1); |
1911 | + engine.setValue("[Channel1]","scratch",0x00); |
1912 | + midi.sendShortMsg(0xB0,0x13,0x00); |
1913 | +} |
1914 | +else if ((BCD3000.escratch1 == "off") && (value == "0x7F")) { |
1915 | + BCD3000.escratch1 = "on"; |
1916 | + if (BCD3000.debug) print("Channel 1 sratchon:" + BCD3000.escratch1); |
1917 | + midi.sendShortMsg(0xB0,0x13,0x7F); |
1918 | +} |
1919 | +}; |
1920 | + |
1921 | +//Scratch button function for chanel 2 |
1922 | +BCD3000.scratch2 = function (group, control, value, status) { |
1923 | +if ((BCD3000.escratch2 == "on") && (value == "0x7F")){ |
1924 | + BCD3000.escratch2 = "off"; |
1925 | + engine.setValue("[Channel1]","scratch",0x00); |
1926 | + midi.sendShortMsg(0xB0,0x0B,0x00); |
1927 | +} |
1928 | +else if ((BCD3000.escratch2 == "off") && (value == "0x7F")) { |
1929 | + BCD3000.escratch2 = "on"; |
1930 | + midi.sendShortMsg(0xB0,0x0B,0x7F); |
1931 | +} |
1932 | +}; |
1933 | |
1934 | === modified file 'mixxx/res/mixxx.qrc' |
1935 | --- mixxx/res/mixxx.qrc 2009-03-30 17:13:23 +0000 |
1936 | +++ mixxx/res/mixxx.qrc 2010-01-05 04:00:30 +0000 |
1937 | @@ -17,10 +17,15 @@ |
1938 | <file>images/preferences/vinyl.svg</file> |
1939 | <file>images/preferences/vinyl.png</file> |
1940 | <file>images/preferences/broadcast.svg</file> |
1941 | - <file>images/preferences/broadcast.png</file> |
1942 | + <file>images/preferences/broadcast.png</file> |
1943 | + <file>images/library/rhythmbox.png</file> |
1944 | + <file>images/library/crate_empty.png</file> |
1945 | + <file>images/library/crates_art.png</file> |
1946 | <file>images/mixxx_logo.png</file> |
1947 | <file>images/mixxx-icon.png</file> |
1948 | <file>images/iconsmall.png</file> |
1949 | <file>images/icon.svg</file> |
1950 | + <file>html/crates.html</file> |
1951 | + <file>html/playlists.html</file> |
1952 | </qresource> |
1953 | </RCC> |
1954 | |
1955 | === added file 'mixxx/res/schema.xml' |
1956 | --- mixxx/res/schema.xml 1970-01-01 00:00:00 +0000 |
1957 | +++ mixxx/res/schema.xml 2010-01-05 04:00:30 +0000 |
1958 | @@ -0,0 +1,84 @@ |
1959 | +<?xml version="1.0" encoding="utf-8"?> |
1960 | +<!-- |
1961 | +This is the Mixxx schema history file. It keeps track of internal changes to the |
1962 | +Mixxx database schema and allows Mixxx to automatically upgrade itself to new |
1963 | +revisions of the schema on a version upgrade. |
1964 | + |
1965 | +DO NOT EDIT THIS FILE OR YOU WILL BREAK YOUR MIXXX LIBRARY AND LOSE YOUR |
1966 | +METADATA |
1967 | +--> |
1968 | +<schema> |
1969 | + <revision version="1"> |
1970 | + <description> |
1971 | + The base schema for the Mixxx SQLITE database. |
1972 | + </description> |
1973 | + <sql> |
1974 | + CREATE TABLE IF NOT EXISTS settings ( |
1975 | + name TEXT UNIQUE NOT NULL, |
1976 | + value TEXT, |
1977 | + locked INTEGER DEFAULT 0, |
1978 | + hidden INTEGER DEFAULT 0); |
1979 | + |
1980 | + CREATE TABLE IF NOT EXISTS track_locations ( |
1981 | + id INTEGER PRIMARY KEY AUTOINCREMENT, |
1982 | + location varchar(512) UNIQUE, |
1983 | + filename varchar(512), |
1984 | + directory varchar(512), |
1985 | + filesize INTEGER, |
1986 | + fs_deleted INTEGER, |
1987 | + needs_verification INTEGER); |
1988 | + |
1989 | + CREATE TABLE IF NOT EXISTS LibraryHashes ( |
1990 | + directory_path VARCHAR(256) primary key, |
1991 | + hash INTEGER, |
1992 | + directory_deleted INTEGER); |
1993 | + |
1994 | + CREATE TABLE IF NOT EXISTS library ( |
1995 | + id INTEGER primary key AUTOINCREMENT, |
1996 | + artist varchar(48), title varchar(48), |
1997 | + album varchar(48), year varchar(16), |
1998 | + genre varchar(32), tracknumber varchar(3), |
1999 | + location varchar(512) REFERENCES track_locations(location), |
2000 | + comment varchar(20), url varchar(256), |
2001 | + duration integer, |
2002 | + bitrate integer, samplerate integer, |
2003 | + cuepoint integer, bpm float, |
2004 | + wavesummaryhex blob, |
2005 | + channels integer, |
2006 | + datetime_added DEFAULT CURRENT_TIMESTAMP, |
2007 | + mixxx_deleted integer, |
2008 | + played integer); |
2009 | + |
2010 | + CREATE TABLE Playlists (id INTEGER primary key, |
2011 | + name varchar(48), position INTEGER, |
2012 | + date_created datetime, |
2013 | + date_modified datetime); |
2014 | + |
2015 | + CREATE TABLE PlaylistTracks (id INTEGER primary key, |
2016 | + playlist_id INTEGER REFERENCES Playlists(id), |
2017 | + track_id INTEGER REFERENCES library(id), |
2018 | + position INTEGER); |
2019 | + |
2020 | + CREATE TABLE IF NOT EXISTS cues ( |
2021 | + id integer PRIMARY KEY AUTOINCREMENT, |
2022 | + track_id integer NOT NULL REFERENCES library(id), |
2023 | + type integer DEFAULT 0 NOT NULL, |
2024 | + position integer DEFAULT -1 NOT NULL, |
2025 | + length integer DEFAULT 0 NOT NULL, |
2026 | + hotcue integer DEFAULT -1 NOT NULL, |
2027 | + label text DEFAULT '' NOT NULL); |
2028 | + |
2029 | + CREATE TABLE IF NOT EXISTS crates ( |
2030 | + id integer PRIMARY KEY AUTOINCREMENT, |
2031 | + name varchar(48) UNIQUE NOT NULL, |
2032 | + count integer DEFAULT 0, |
2033 | + show integer DEFAULT 1); |
2034 | + |
2035 | + CREATE TABLE IF NOT EXISTS crate_tracks ( |
2036 | + crate_id integer NOT NULL REFERENCES crates(id), |
2037 | + track_id integer NOT NULL REFERENCES library(id), |
2038 | + UNIQUE (crate_id, track_id)); |
2039 | + |
2040 | + </sql> |
2041 | + </revision> |
2042 | +</schema> |
2043 | |
2044 | === modified file 'mixxx/res/skins/Collusion (1280)/skin.xml' |
2045 | --- mixxx/res/skins/Collusion (1280)/skin.xml 2009-02-07 08:42:10 +0000 |
2046 | +++ mixxx/res/skins/Collusion (1280)/skin.xml 2010-01-05 04:00:30 +0000 |
2047 | @@ -1056,8 +1056,23 @@ |
2048 | <SignalColor>#d1d1d1</SignalColor> |
2049 | <BeatColor>#48839b</BeatColor> |
2050 | <MarkerColor>#48839b</MarkerColor> |
2051 | - <FisheyeColor>#222222</FisheyeColor> |
2052 | - <Zoom>true</Zoom> |
2053 | + <Mark> |
2054 | + <Control>cue_point</Control> |
2055 | + <Text>CUE</Text> |
2056 | + </Mark> |
2057 | + <MarkRange> |
2058 | + <StartControl>loop_start_position</StartControl> |
2059 | + <EndControl>loop_end_position</EndControl> |
2060 | + <EnabledControl>loop_enabled</EnabledControl> |
2061 | + </MarkRange> |
2062 | + <Mark> |
2063 | + <Control>loop_start_position</Control> |
2064 | + <Text>IN</Text> |
2065 | + </Mark> |
2066 | + <Mark> |
2067 | + <Control>loop_end_position</Control> |
2068 | + <Text>OUT</Text> |
2069 | + </Mark> |
2070 | </Visual> |
2071 | |
2072 | <Visual> |
2073 | @@ -1069,8 +1084,23 @@ |
2074 | <SignalColor>#d1d1d1</SignalColor> |
2075 | <BeatColor>#9b4848</BeatColor> |
2076 | <MarkerColor>#9b4848</MarkerColor> |
2077 | - <FisheyeColor>#222222</FisheyeColor> |
2078 | - <Zoom>true</Zoom> |
2079 | + <Mark> |
2080 | + <Control>cue_point</Control> |
2081 | + <Text>CUE</Text> |
2082 | + </Mark> |
2083 | + <MarkRange> |
2084 | + <StartControl>loop_start_position</StartControl> |
2085 | + <EndControl>loop_end_position</EndControl> |
2086 | + <EnabledControl>loop_enabled</EnabledControl> |
2087 | + </MarkRange> |
2088 | + <Mark> |
2089 | + <Control>loop_start_position</Control> |
2090 | + <Text>IN</Text> |
2091 | + </Mark> |
2092 | + <Mark> |
2093 | + <Control>loop_end_position</Control> |
2094 | + <Text>OUT</Text> |
2095 | + </Mark> |
2096 | </Visual> |
2097 | |
2098 | <XSliderComposed> |
2099 | |
2100 | === modified file 'mixxx/res/skins/Collusion (1280-WS)/skin.xml' |
2101 | --- mixxx/res/skins/Collusion (1280-WS)/skin.xml 2009-02-07 08:42:10 +0000 |
2102 | +++ mixxx/res/skins/Collusion (1280-WS)/skin.xml 2010-01-05 04:00:30 +0000 |
2103 | @@ -1056,8 +1056,23 @@ |
2104 | <SignalColor>#d1d1d1</SignalColor> |
2105 | <BeatColor>#48839b</BeatColor> |
2106 | <MarkerColor>#48839b</MarkerColor> |
2107 | - <FisheyeColor>#222222</FisheyeColor> |
2108 | - <Zoom>true</Zoom> |
2109 | + <Mark> |
2110 | + <Control>cue_point</Control> |
2111 | + <Text>CUE</Text> |
2112 | + </Mark> |
2113 | + <MarkRange> |
2114 | + <StartControl>loop_start_position</StartControl> |
2115 | + <EndControl>loop_end_position</EndControl> |
2116 | + <EnabledControl>loop_enabled</EnabledControl> |
2117 | + </MarkRange> |
2118 | + <Mark> |
2119 | + <Control>loop_start_position</Control> |
2120 | + <Text>IN</Text> |
2121 | + </Mark> |
2122 | + <Mark> |
2123 | + <Control>loop_end_position</Control> |
2124 | + <Text>OUT</Text> |
2125 | + </Mark> |
2126 | </Visual> |
2127 | |
2128 | <Visual> |
2129 | @@ -1069,8 +1084,23 @@ |
2130 | <SignalColor>#d1d1d1</SignalColor> |
2131 | <BeatColor>#9b4848</BeatColor> |
2132 | <MarkerColor>#9b4848</MarkerColor> |
2133 | - <FisheyeColor>#222222</FisheyeColor> |
2134 | - <Zoom>true</Zoom> |
2135 | + <Mark> |
2136 | + <Control>cue_point</Control> |
2137 | + <Text>CUE</Text> |
2138 | + </Mark> |
2139 | + <MarkRange> |
2140 | + <StartControl>loop_start_position</StartControl> |
2141 | + <EndControl>loop_end_position</EndControl> |
2142 | + <EnabledControl>loop_enabled</EnabledControl> |
2143 | + </MarkRange> |
2144 | + <Mark> |
2145 | + <Control>loop_start_position</Control> |
2146 | + <Text>IN</Text> |
2147 | + </Mark> |
2148 | + <Mark> |
2149 | + <Control>loop_end_position</Control> |
2150 | + <Text>OUT</Text> |
2151 | + </Mark> |
2152 | </Visual> |
2153 | |
2154 | <XSliderComposed> |
2155 | |
2156 | === modified file 'mixxx/res/skins/hercules/skin.xml' |
2157 | --- mixxx/res/skins/hercules/skin.xml 2009-02-07 08:42:10 +0000 |
2158 | +++ mixxx/res/skins/hercules/skin.xml 2010-01-05 04:00:30 +0000 |
2159 | @@ -199,6 +199,23 @@ |
2160 | <MarkerColor>#0000ff</MarkerColor> |
2161 | <FisheyeColor>#ffffff</FisheyeColor> |
2162 | <Zoom>true</Zoom> |
2163 | + <Mark> |
2164 | + <Control>cue_point</Control> |
2165 | + <Text>CUE</Text> |
2166 | + </Mark> |
2167 | + <MarkRange> |
2168 | + <StartControl>loop_start_position</StartControl> |
2169 | + <EndControl>loop_end_position</EndControl> |
2170 | + <EnabledControl>loop_enabled</EnabledControl> |
2171 | + </MarkRange> |
2172 | + <Mark> |
2173 | + <Control>loop_start_position</Control> |
2174 | + <Text>IN</Text> |
2175 | + </Mark> |
2176 | + <Mark> |
2177 | + <Control>loop_end_position</Control> |
2178 | + <Text>OUT</Text> |
2179 | + </Mark> |
2180 | </Visual> |
2181 | |
2182 | <Visual> |
2183 | @@ -214,6 +231,23 @@ |
2184 | <MarkerColor>#ff0000</MarkerColor> |
2185 | <FisheyeColor>#ffffff</FisheyeColor> |
2186 | <Zoom>true</Zoom> |
2187 | + <Mark> |
2188 | + <Control>cue_point</Control> |
2189 | + <Text>CUE</Text> |
2190 | + </Mark> |
2191 | + <MarkRange> |
2192 | + <StartControl>loop_start_position</StartControl> |
2193 | + <EndControl>loop_end_position</EndControl> |
2194 | + <EnabledControl>loop_enabled</EnabledControl> |
2195 | + </MarkRange> |
2196 | + <Mark> |
2197 | + <Control>loop_start_position</Control> |
2198 | + <Text>IN</Text> |
2199 | + </Mark> |
2200 | + <Mark> |
2201 | + <Control>loop_end_position</Control> |
2202 | + <Text>OUT</Text> |
2203 | + </Mark> |
2204 | </Visual> |
2205 | |
2206 | <Text> |
2207 | |
2208 | === modified file 'mixxx/res/skins/nCut/skin.xml' |
2209 | --- mixxx/res/skins/nCut/skin.xml 2009-02-07 08:42:10 +0000 |
2210 | +++ mixxx/res/skins/nCut/skin.xml 2010-01-05 04:00:30 +0000 |
2211 | @@ -1109,6 +1109,23 @@ |
2212 | <MarkerColor>#ffffff</MarkerColor> |
2213 | <CueColor>#ff0000</CueColor> |
2214 | <FisheyeColor>#404040</FisheyeColor> |
2215 | + <Mark> |
2216 | + <Control>cue_point</Control> |
2217 | + <Text>CUE</Text> |
2218 | + </Mark> |
2219 | + <MarkRange> |
2220 | + <StartControl>loop_start_position</StartControl> |
2221 | + <EndControl>loop_end_position</EndControl> |
2222 | + <EnabledControl>loop_enabled</EnabledControl> |
2223 | + </MarkRange> |
2224 | + <Mark> |
2225 | + <Control>loop_start_position</Control> |
2226 | + <Text>IN</Text> |
2227 | + </Mark> |
2228 | + <Mark> |
2229 | + <Control>loop_end_position</Control> |
2230 | + <Text>OUT</Text> |
2231 | + </Mark> |
2232 | </Visual> |
2233 | |
2234 | <Visual> |
2235 | @@ -1123,6 +1140,23 @@ |
2236 | <MarkerColor>#ffffff</MarkerColor> |
2237 | <CueColor>#ff0000</CueColor> |
2238 | <FisheyeColor>#404040</FisheyeColor> |
2239 | + <Mark> |
2240 | + <Control>cue_point</Control> |
2241 | + <Text>CUE</Text> |
2242 | + </Mark> |
2243 | + <MarkRange> |
2244 | + <StartControl>loop_start_position</StartControl> |
2245 | + <EndControl>loop_end_position</EndControl> |
2246 | + <EnabledControl>loop_enabled</EnabledControl> |
2247 | + </MarkRange> |
2248 | + <Mark> |
2249 | + <Control>loop_start_position</Control> |
2250 | + <Text>IN</Text> |
2251 | + </Mark> |
2252 | + <Mark> |
2253 | + <Control>loop_end_position</Control> |
2254 | + <Text>OUT</Text> |
2255 | + </Mark> |
2256 | </Visual> |
2257 | |
2258 | <!-- |
2259 | |
2260 | === modified file 'mixxx/res/skins/outline/skin.xml' |
2261 | --- mixxx/res/skins/outline/skin.xml 2009-10-10 02:25:55 +0000 |
2262 | +++ mixxx/res/skins/outline/skin.xml 2010-01-05 04:00:30 +0000 |
2263 | @@ -1129,8 +1129,23 @@ |
2264 | <SignalColor>#00ff00</SignalColor><HfcColor>#FFC115</HfcColor> |
2265 | <BeatColor>#0000f0</BeatColor> |
2266 | <MarkerColor>#0000ff</MarkerColor> |
2267 | - <FisheyeColor>#ffffff</FisheyeColor> |
2268 | - <Zoom>true</Zoom> |
2269 | + <Mark> |
2270 | + <Control>cue_point</Control> |
2271 | + <Text>CUE</Text> |
2272 | + </Mark> |
2273 | + <MarkRange> |
2274 | + <StartControl>loop_start_position</StartControl> |
2275 | + <EndControl>loop_end_position</EndControl> |
2276 | + <EnabledControl>loop_enabled</EnabledControl> |
2277 | + </MarkRange> |
2278 | + <Mark> |
2279 | + <Control>loop_start_position</Control> |
2280 | + <Text>IN</Text> |
2281 | + </Mark> |
2282 | + <Mark> |
2283 | + <Control>loop_end_position</Control> |
2284 | + <Text>OUT</Text> |
2285 | + </Mark> |
2286 | </Visual> |
2287 | |
2288 | <Visual> |
2289 | @@ -1142,8 +1157,23 @@ |
2290 | <SignalColor>#00ff00</SignalColor><HfcColor>#FFC115</HfcColor> |
2291 | <BeatColor>#f00000</BeatColor> |
2292 | <MarkerColor>#ff0000</MarkerColor> |
2293 | - <FisheyeColor>#ffffff</FisheyeColor> |
2294 | - <Zoom>true</Zoom> |
2295 | + <Mark> |
2296 | + <Control>cue_point</Control> |
2297 | + <Text>CUE</Text> |
2298 | + </Mark> |
2299 | + <MarkRange> |
2300 | + <StartControl>loop_start_position</StartControl> |
2301 | + <EndControl>loop_end_position</EndControl> |
2302 | + <EnabledControl>loop_enabled</EnabledControl> |
2303 | + </MarkRange> |
2304 | + <Mark> |
2305 | + <Control>loop_start_position</Control> |
2306 | + <Text>IN</Text> |
2307 | + </Mark> |
2308 | + <Mark> |
2309 | + <Control>loop_end_position</Control> |
2310 | + <Text>OUT</Text> |
2311 | + </Mark> |
2312 | </Visual> |
2313 | |
2314 | <Text> |
2315 | |
2316 | === modified file 'mixxx/res/skins/outlineClose/skin.xml' |
2317 | --- mixxx/res/skins/outlineClose/skin.xml 2009-03-17 13:49:05 +0000 |
2318 | +++ mixxx/res/skins/outlineClose/skin.xml 2010-01-05 04:00:30 +0000 |
2319 | @@ -808,8 +808,23 @@ |
2320 | <SignalColor>#00ff00</SignalColor> |
2321 | <BeatColor>#0000f0</BeatColor> |
2322 | <MarkerColor>#0000ff</MarkerColor> |
2323 | - <FisheyeColor>#ffffff</FisheyeColor> |
2324 | - <Zoom>true</Zoom> |
2325 | + <Mark> |
2326 | + <Control>cue_point</Control> |
2327 | + <Text>CUE</Text> |
2328 | + </Mark> |
2329 | + <MarkRange> |
2330 | + <StartControl>loop_start_position</StartControl> |
2331 | + <EndControl>loop_end_position</EndControl> |
2332 | + <EnabledControl>loop_enabled</EnabledControl> |
2333 | + </MarkRange> |
2334 | + <Mark> |
2335 | + <Control>loop_start_position</Control> |
2336 | + <Text>IN</Text> |
2337 | + </Mark> |
2338 | + <Mark> |
2339 | + <Control>loop_end_position</Control> |
2340 | + <Text>OUT</Text> |
2341 | + </Mark> |
2342 | </Visual> |
2343 | |
2344 | <Visual> |
2345 | @@ -821,8 +836,23 @@ |
2346 | <SignalColor>#00ff00</SignalColor> |
2347 | <BeatColor>#f00000</BeatColor> |
2348 | <MarkerColor>#ff0000</MarkerColor> |
2349 | - <FisheyeColor>#ffffff</FisheyeColor> |
2350 | - <Zoom>true</Zoom> |
2351 | + <Mark> |
2352 | + <Control>cue_point</Control> |
2353 | + <Text>CUE</Text> |
2354 | + </Mark> |
2355 | + <MarkRange> |
2356 | + <StartControl>loop_start_position</StartControl> |
2357 | + <EndControl>loop_end_position</EndControl> |
2358 | + <EnabledControl>loop_enabled</EnabledControl> |
2359 | + </MarkRange> |
2360 | + <Mark> |
2361 | + <Control>loop_start_position</Control> |
2362 | + <Text>IN</Text> |
2363 | + </Mark> |
2364 | + <Mark> |
2365 | + <Control>loop_end_position</Control> |
2366 | + <Text>OUT</Text> |
2367 | + </Mark> |
2368 | </Visual> |
2369 | |
2370 | <Text> |
2371 | |
2372 | === modified file 'mixxx/res/skins/outlineMini/skin.xml' |
2373 | --- mixxx/res/skins/outlineMini/skin.xml 2009-02-07 08:42:10 +0000 |
2374 | +++ mixxx/res/skins/outlineMini/skin.xml 2010-01-05 04:00:30 +0000 |
2375 | @@ -15,7 +15,7 @@ |
2376 | <VFact>0.7</VFact> |
2377 | <HFact>0.3</HFact> |
2378 | </HSVTweak> |
2379 | - |
2380 | + |
2381 | <HSVTweak> |
2382 | <SMax>50</SMax> |
2383 | <HFact>0</HFact> |
2384 | @@ -23,7 +23,7 @@ |
2385 | <SConst>120</SConst> |
2386 | <VConst>-10</VConst> |
2387 | </HSVTweak> |
2388 | - |
2389 | + |
2390 | </Filters> |
2391 | </Scheme> |
2392 | <Scheme> |
2393 | @@ -154,7 +154,7 @@ |
2394 | </PushButton> |
2395 | |
2396 | <PushButton> |
2397 | - <Tooltip>Change playback rate |
2398 | + <Tooltip>Change playback rate |
2399 | (left/right click: large/small effect)</Tooltip> |
2400 | <NumberStates>1</NumberStates> |
2401 | <State> |
2402 | @@ -176,7 +176,7 @@ |
2403 | </PushButton> |
2404 | |
2405 | <PushButton> |
2406 | - <Tooltip>Change playback rate |
2407 | + <Tooltip>Change playback rate |
2408 | (left/right click: large/small effect)</Tooltip> |
2409 | <NumberStates>1</NumberStates> |
2410 | <State> |
2411 | @@ -198,7 +198,7 @@ |
2412 | </PushButton> |
2413 | |
2414 | <PushButton> |
2415 | - <Tooltip>Change playback rate |
2416 | + <Tooltip>Change playback rate |
2417 | (left/right click: large/small effect)</Tooltip> |
2418 | <NumberStates>1</NumberStates> |
2419 | <State> |
2420 | @@ -220,7 +220,7 @@ |
2421 | </PushButton> |
2422 | |
2423 | <PushButton> |
2424 | - <Tooltip>Temporary change playback rate |
2425 | + <Tooltip>Temporary change playback rate |
2426 | (left/right click: large/small effect)</Tooltip> |
2427 | <NumberStates>1</NumberStates> |
2428 | <State> |
2429 | @@ -252,7 +252,7 @@ |
2430 | </PushButton> |
2431 | |
2432 | <PushButton> |
2433 | - <Tooltip>Temporary change playback rate |
2434 | + <Tooltip>Temporary change playback rate |
2435 | (left/right click: large/small effect)</Tooltip> |
2436 | <NumberStates>1</NumberStates> |
2437 | <State> |
2438 | @@ -284,7 +284,7 @@ |
2439 | </PushButton> |
2440 | |
2441 | <PushButton> |
2442 | - <Tooltip>Temporary change playback rate |
2443 | + <Tooltip>Temporary change playback rate |
2444 | (left/right click: large/small effect)</Tooltip> |
2445 | <NumberStates>1</NumberStates> |
2446 | <State> |
2447 | @@ -316,7 +316,7 @@ |
2448 | </PushButton> |
2449 | |
2450 | <PushButton> |
2451 | - <Tooltip>Temporary change playback rate |
2452 | + <Tooltip>Temporary change playback rate |
2453 | (left/right click: large/small effect)</Tooltip> |
2454 | <NumberStates>1</NumberStates> |
2455 | <State> |
2456 | @@ -514,7 +514,7 @@ |
2457 | |
2458 | <PushButton> |
2459 | <Tooltip>Go to and play (while playing), |
2460 | -Set cue point (while stopped), |
2461 | +Set cue point (while stopped), |
2462 | Go to and stop (right-click)</Tooltip> |
2463 | <NumberStates>1</NumberStates> |
2464 | <State> |
2465 | @@ -537,7 +537,7 @@ |
2466 | |
2467 | <PushButton> |
2468 | <Tooltip>Go to and play (while playing), |
2469 | -Set cue point (while stopped), |
2470 | +Set cue point (while stopped), |
2471 | Go to and stop (right-click)</Tooltip> |
2472 | <NumberStates>1</NumberStates> |
2473 | <State> |
2474 | @@ -601,7 +601,7 @@ |
2475 | </PushButton> |
2476 | |
2477 | <PushButton> |
2478 | - <Tooltip>Left click: Fast forward, |
2479 | + <Tooltip>Left click: Fast forward, |
2480 | Right click: End of track</Tooltip> |
2481 | <NumberStates>1</NumberStates> |
2482 | <State> |
2483 | @@ -628,7 +628,7 @@ |
2484 | </PushButton> |
2485 | |
2486 | <PushButton> |
2487 | - <Tooltip>Left click: Fast backward, |
2488 | + <Tooltip>Left click: Fast backward, |
2489 | Right click: Start of track</Tooltip> |
2490 | <NumberStates>1</NumberStates> |
2491 | <State> |
2492 | @@ -655,7 +655,7 @@ |
2493 | </PushButton> |
2494 | |
2495 | <PushButton> |
2496 | - <Tooltip>Left click: Fast forward, |
2497 | + <Tooltip>Left click: Fast forward, |
2498 | Right click: End of track</Tooltip> |
2499 | <NumberStates>1</NumberStates> |
2500 | <State> |
2501 | @@ -682,7 +682,7 @@ |
2502 | </PushButton> |
2503 | |
2504 | <PushButton> |
2505 | - <Tooltip>Left click: Fast backward, |
2506 | + <Tooltip>Left click: Fast backward, |
2507 | Right click: Start of track</Tooltip> |
2508 | <NumberStates>1</NumberStates> |
2509 | <State> |
2510 | @@ -974,11 +974,25 @@ |
2511 | <SignalColor>#00ff00</SignalColor> |
2512 | <BeatColor>#0000f0</BeatColor> |
2513 | <MarkerColor>#0000ff</MarkerColor> |
2514 | - <FisheyeColor>#ffffff</FisheyeColor> |
2515 | - <Zoom>true</Zoom> |
2516 | + <Mark> |
2517 | + <Control>cue_point</Control> |
2518 | + <Text>CUE</Text> |
2519 | + </Mark> |
2520 | + <MarkRange> |
2521 | + <StartControl>loop_start_position</StartControl> |
2522 | + <EndControl>loop_end_position</EndControl> |
2523 | + <EnabledControl>loop_enabled</EnabledControl> |
2524 | + </MarkRange> |
2525 | + <Mark> |
2526 | + <Control>loop_start_position</Control> |
2527 | + <Text>IN</Text> |
2528 | + </Mark> |
2529 | + <Mark> |
2530 | + <Control>loop_end_position</Control> |
2531 | + <Text>OUT</Text> |
2532 | + </Mark> |
2533 | </Visual> |
2534 | |
2535 | - |
2536 | <Visual> |
2537 | <Tooltip>Drag with mouse to control sound playback. Drop tracks from external file manager here</Tooltip> |
2538 | <Channel>2</Channel> |
2539 | @@ -988,8 +1002,23 @@ |
2540 | <SignalColor>#00ff00</SignalColor> |
2541 | <BeatColor>#f00000</BeatColor> |
2542 | <MarkerColor>#ff0000</MarkerColor> |
2543 | - <FisheyeColor>#ffffff</FisheyeColor> |
2544 | - <Zoom>true</Zoom> |
2545 | + <Mark> |
2546 | + <Control>cue_point</Control> |
2547 | + <Text>CUE</Text> |
2548 | + </Mark> |
2549 | + <MarkRange> |
2550 | + <StartControl>loop_start_position</StartControl> |
2551 | + <EndControl>loop_end_position</EndControl> |
2552 | + <EnabledControl>loop_enabled</EnabledControl> |
2553 | + </MarkRange> |
2554 | + <Mark> |
2555 | + <Control>loop_start_position</Control> |
2556 | + <Text>IN</Text> |
2557 | + </Mark> |
2558 | + <Mark> |
2559 | + <Control>loop_end_position</Control> |
2560 | + <Text>OUT</Text> |
2561 | + </Mark> |
2562 | </Visual> |
2563 | |
2564 | <!-- Track title display --> |
2565 | |
2566 | === modified file 'mixxx/res/skins/outlineNetbook/skin.xml' |
2567 | --- mixxx/res/skins/outlineNetbook/skin.xml 2009-10-03 09:01:50 +0000 |
2568 | +++ mixxx/res/skins/outlineNetbook/skin.xml 2010-01-05 04:00:30 +0000 |
2569 | @@ -1111,8 +1111,23 @@ |
2570 | <SignalColor>#00ff00</SignalColor> |
2571 | <BeatColor>#0000f0</BeatColor> |
2572 | <MarkerColor>#0000ff</MarkerColor> |
2573 | - <FisheyeColor>#ffffff</FisheyeColor> |
2574 | - <Zoom>true</Zoom> |
2575 | + <Mark> |
2576 | + <Control>cue_point</Control> |
2577 | + <Text>CUE</Text> |
2578 | + </Mark> |
2579 | + <MarkRange> |
2580 | + <StartControl>loop_start_position</StartControl> |
2581 | + <EndControl>loop_end_position</EndControl> |
2582 | + <EnabledControl>loop_enabled</EnabledControl> |
2583 | + </MarkRange> |
2584 | + <Mark> |
2585 | + <Control>loop_start_position</Control> |
2586 | + <Text>IN</Text> |
2587 | + </Mark> |
2588 | + <Mark> |
2589 | + <Control>loop_end_position</Control> |
2590 | + <Text>OUT</Text> |
2591 | + </Mark> |
2592 | </Visual> |
2593 | |
2594 | <Visual> |
2595 | @@ -1124,8 +1139,23 @@ |
2596 | <SignalColor>#00ff00</SignalColor> |
2597 | <BeatColor>#f00000</BeatColor> |
2598 | <MarkerColor>#ff0000</MarkerColor> |
2599 | - <FisheyeColor>#ffffff</FisheyeColor> |
2600 | - <Zoom>true</Zoom> |
2601 | + <Mark> |
2602 | + <Control>cue_point</Control> |
2603 | + <Text>CUE</Text> |
2604 | + </Mark> |
2605 | + <MarkRange> |
2606 | + <StartControl>loop_start_position</StartControl> |
2607 | + <EndControl>loop_end_position</EndControl> |
2608 | + <EnabledControl>loop_enabled</EnabledControl> |
2609 | + </MarkRange> |
2610 | + <Mark> |
2611 | + <Control>loop_start_position</Control> |
2612 | + <Text>IN</Text> |
2613 | + </Mark> |
2614 | + <Mark> |
2615 | + <Control>loop_end_position</Control> |
2616 | + <Text>OUT</Text> |
2617 | + </Mark> |
2618 | </Visual> |
2619 | |
2620 | <Text> |
2621 | |
2622 | === modified file 'mixxx/res/skins/outlineSmall/skin.xml' |
2623 | --- mixxx/res/skins/outlineSmall/skin.xml 2009-03-17 13:49:05 +0000 |
2624 | +++ mixxx/res/skins/outlineSmall/skin.xml 2010-01-05 04:00:30 +0000 |
2625 | @@ -17,7 +17,7 @@ |
2626 | <Amount>-50</Amount> |
2627 | </Add> |
2628 | </Filters> |
2629 | - </Scheme> |
2630 | + </Scheme> |
2631 | <Scheme> |
2632 | <Name>5pm (Classic Mixxx)</Name> |
2633 | <Filters> |
2634 | @@ -983,8 +983,23 @@ |
2635 | <SignalColor>#00ff00</SignalColor> |
2636 | <BeatColor>#0000f0</BeatColor> |
2637 | <MarkerColor>#0000ff</MarkerColor> |
2638 | - <FisheyeColor>#ffffff</FisheyeColor> |
2639 | - <Zoom>true</Zoom> |
2640 | + <Mark> |
2641 | + <Control>cue_point</Control> |
2642 | + <Text>CUE</Text> |
2643 | + </Mark> |
2644 | + <MarkRange> |
2645 | + <StartControl>loop_start_position</StartControl> |
2646 | + <EndControl>loop_end_position</EndControl> |
2647 | + <EnabledControl>loop_enabled</EnabledControl> |
2648 | + </MarkRange> |
2649 | + <Mark> |
2650 | + <Control>loop_start_position</Control> |
2651 | + <Text>IN</Text> |
2652 | + </Mark> |
2653 | + <Mark> |
2654 | + <Control>loop_end_position</Control> |
2655 | + <Text>OUT</Text> |
2656 | + </Mark> |
2657 | </Visual> |
2658 | |
2659 | <Visual> |
2660 | @@ -996,8 +1011,23 @@ |
2661 | <SignalColor>#00ff00</SignalColor> |
2662 | <BeatColor>#f00000</BeatColor> |
2663 | <MarkerColor>#ff0000</MarkerColor> |
2664 | - <FisheyeColor>#ffffff</FisheyeColor> |
2665 | - <Zoom>true</Zoom> |
2666 | + <Mark> |
2667 | + <Control>cue_point</Control> |
2668 | + <Text>CUE</Text> |
2669 | + </Mark> |
2670 | + <MarkRange> |
2671 | + <StartControl>loop_start_position</StartControl> |
2672 | + <EndControl>loop_end_position</EndControl> |
2673 | + <EnabledControl>loop_enabled</EnabledControl> |
2674 | + </MarkRange> |
2675 | + <Mark> |
2676 | + <Control>loop_start_position</Control> |
2677 | + <Text>IN</Text> |
2678 | + </Mark> |
2679 | + <Mark> |
2680 | + <Control>loop_end_position</Control> |
2681 | + <Text>OUT</Text> |
2682 | + </Mark> |
2683 | </Visual> |
2684 | |
2685 | <Text> |
2686 | |
2687 | === modified file 'mixxx/res/skins/traditional/skin.xml' |
2688 | --- mixxx/res/skins/traditional/skin.xml 2009-02-07 08:42:10 +0000 |
2689 | +++ mixxx/res/skins/traditional/skin.xml 2010-01-05 04:00:30 +0000 |
2690 | @@ -630,6 +630,23 @@ |
2691 | <BeatColor>#0000ff</BeatColor> |
2692 | <MarkerColor>#ff0000</MarkerColor> |
2693 | <FisheyeColor>#404040</FisheyeColor> |
2694 | + <Mark> |
2695 | + <Control>cue_point</Control> |
2696 | + <Text>CUE</Text> |
2697 | + </Mark> |
2698 | + <MarkRange> |
2699 | + <StartControl>loop_start_position</StartControl> |
2700 | + <EndControl>loop_end_position</EndControl> |
2701 | + <EnabledControl>loop_enabled</EnabledControl> |
2702 | + </MarkRange> |
2703 | + <Mark> |
2704 | + <Control>loop_start_position</Control> |
2705 | + <Text>IN</Text> |
2706 | + </Mark> |
2707 | + <Mark> |
2708 | + <Control>loop_end_position</Control> |
2709 | + <Text>OUT</Text> |
2710 | + </Mark> |
2711 | </Visual> |
2712 | |
2713 | <Visual> |
2714 | @@ -641,6 +658,23 @@ |
2715 | <BeatColor>#0000ff</BeatColor> |
2716 | <MarkerColor>#ff0000</MarkerColor> |
2717 | <FisheyeColor>#404040</FisheyeColor> |
2718 | + <Mark> |
2719 | + <Control>cue_point</Control> |
2720 | + <Text>CUE</Text> |
2721 | + </Mark> |
2722 | + <MarkRange> |
2723 | + <StartControl>loop_start_position</StartControl> |
2724 | + <EndControl>loop_end_position</EndControl> |
2725 | + <EnabledControl>loop_enabled</EnabledControl> |
2726 | + </MarkRange> |
2727 | + <Mark> |
2728 | + <Control>loop_start_position</Control> |
2729 | + <Text>IN</Text> |
2730 | + </Mark> |
2731 | + <Mark> |
2732 | + <Control>loop_end_position</Control> |
2733 | + <Text>OUT</Text> |
2734 | + </Mark> |
2735 | </Visual> |
2736 | |
2737 | <Text> |
2738 | |
2739 | === modified file 'mixxx/src/SConscript' |
2740 | --- mixxx/src/SConscript 2010-01-05 03:19:11 +0000 |
2741 | +++ mixxx/src/SConscript 2010-01-05 04:00:30 +0000 |
2742 | @@ -260,7 +260,6 @@ |
2743 | sources = Split(""" |
2744 | |
2745 | input.cpp |
2746 | - trackplaylistlist.cpp |
2747 | mixxxkeyboard.cpp |
2748 | configobject.cpp |
2749 | controlobjectthread.cpp |
2750 | @@ -281,15 +280,16 @@ |
2751 | dlgprefplaylist.cpp |
2752 | dlgprefnomidi.cpp |
2753 | dlgprefcontrols.cpp |
2754 | - dlgbpmtap.cpp |
2755 | dlgprefbpm.cpp |
2756 | dlgbpmscheme.cpp |
2757 | dlgabout.cpp |
2758 | dlgprefeq.cpp |
2759 | dlgprefcrossfader.cpp |
2760 | dlgmidilearning.cpp |
2761 | + dlgtrackinfo.cpp |
2762 | + dlgprepare.cpp |
2763 | + dlgautodj.cpp |
2764 | |
2765 | - engine/enginebuffercue.cpp |
2766 | engine/enginebuffer.cpp |
2767 | engine/enginebufferscale.cpp |
2768 | engine/enginebufferscaledummy.cpp |
2769 | @@ -312,12 +312,11 @@ |
2770 | engine/enginesidechain.cpp |
2771 | engine/enginefilterbutterworth8.cpp |
2772 | engine/enginexfader.cpp |
2773 | - |
2774 | engine/enginecontrol.cpp |
2775 | engine/ratecontrol.cpp |
2776 | engine/loopingcontrol.cpp |
2777 | engine/bpmcontrol.cpp |
2778 | - |
2779 | + engine/cuecontrol.cpp |
2780 | engine/readaheadmanager.cpp |
2781 | cachingreader.cpp |
2782 | |
2783 | @@ -376,15 +375,56 @@ |
2784 | |
2785 | peaklist.cpp |
2786 | rotary.cpp |
2787 | - track.cpp |
2788 | - trackcollection.cpp |
2789 | - trackplaylist.cpp |
2790 | wtracktableview.cpp |
2791 | - wtracktablemodel.cpp |
2792 | - wpromotracksmodel.cpp |
2793 | - proxymodel.cpp |
2794 | + widget/wtracktableviewheader.cpp |
2795 | + widget/wlibrarysidebar.cpp |
2796 | + widget/wlibrary.cpp |
2797 | + widget/wlibrarytableview.cpp |
2798 | + widget/wpreparelibrarytableview.cpp |
2799 | + widget/wpreparecratestableview.cpp |
2800 | + widget/wbrowsetableview.cpp |
2801 | + widget/wlibrarytextbrowser.cpp |
2802 | + library/preparecratedelegate.cpp |
2803 | + library/trackcollection.cpp |
2804 | + library/librarytablemodel.cpp |
2805 | + library/preparelibrarytablemodel.cpp |
2806 | + library/browsetablemodel.cpp |
2807 | + library/missingtablemodel.cpp |
2808 | + library/proxytrackmodel.cpp |
2809 | + library/abstractxmltrackmodel.cpp |
2810 | + library/rhythmboxtrackmodel.cpp |
2811 | + library/rhythmboxplaylistmodel.cpp |
2812 | + library/itunestrackmodel.cpp |
2813 | + library/itunesplaylistmodel.cpp |
2814 | + library/playlisttablemodel.cpp |
2815 | + library/libraryfeature.cpp |
2816 | + library/preparefeature.cpp |
2817 | + library/autodjfeature.cpp |
2818 | + library/mixxxlibraryfeature.cpp |
2819 | + library/playlistfeature.cpp |
2820 | + library/rhythmboxfeature.cpp |
2821 | + library/itunesfeature.cpp |
2822 | + library/browsefeature.cpp |
2823 | + library/cratefeature.cpp |
2824 | + library/browsefilter.cpp |
2825 | + library/sidebarmodel.cpp |
2826 | + library/libraryscanner.cpp |
2827 | + library/libraryscannerdlg.cpp |
2828 | + library/legacylibraryimporter.cpp |
2829 | + library/library.cpp |
2830 | + library/searchthread.cpp |
2831 | + library/dao/cratedao.cpp |
2832 | + library/cratetablemodel.cpp |
2833 | + library/dao/cuedao.cpp |
2834 | + library/dao/cue.cpp |
2835 | + library/dao/trackdao.cpp |
2836 | + library/dao/playlistdao.cpp |
2837 | + library/dao/libraryhashdao.cpp |
2838 | + library/dao/settingsdao.cpp |
2839 | + library/librarymidicontrol.cpp |
2840 | + library/schemamanager.cpp |
2841 | + |
2842 | xmlparse.cpp |
2843 | - trackimporter.cpp |
2844 | parser.cpp |
2845 | parserpls.cpp |
2846 | parserm3u.cpp |
2847 | @@ -397,11 +437,13 @@ |
2848 | widget/wwaveformviewer.cpp |
2849 | widget/wglwaveformviewer.cpp |
2850 | waveformviewerfactory.cpp |
2851 | + waveform/renderobject.cpp |
2852 | waveform/waveformrenderer.cpp |
2853 | waveform/waveformrenderbackground.cpp |
2854 | waveform/waveformrendersignal.cpp |
2855 | waveform/waveformrendersignalpixmap.cpp |
2856 | waveform/waveformrendermark.cpp |
2857 | + waveform/waveformrendermarkrange.cpp |
2858 | waveform/waveformrenderbeat.cpp |
2859 | |
2860 | |
2861 | @@ -410,16 +452,13 @@ |
2862 | imgcolor.cpp |
2863 | |
2864 | trackinfoobject.cpp |
2865 | + player.cpp |
2866 | sounddevice.cpp |
2867 | soundmanager.cpp |
2868 | sounddeviceportaudio.cpp |
2869 | dlgprefrecord.cpp |
2870 | recording/enginerecord.cpp |
2871 | recording/writeaudiofile.cpp |
2872 | - wtracktablefilter.cpp |
2873 | - wplaylistlistmodel.cpp |
2874 | - libraryscanner.cpp |
2875 | - libraryscannerdlg.cpp |
2876 | playerinfo.cpp |
2877 | |
2878 | segmentation.cpp |
2879 | @@ -544,7 +583,7 @@ |
2880 | print "Did not find PortTime development header, exiting!" |
2881 | Exit(1) |
2882 | |
2883 | -#Check for PortMIDI & PortTime |
2884 | +# Check for PortMIDI & PortTime |
2885 | if not conf.CheckLib(['portmidi', 'libportmidi']): |
2886 | print "Did not find PortMidi or it\'s development headers, exiting!" |
2887 | Exit(1) |
2888 | @@ -579,6 +618,7 @@ |
2889 | """ |
2890 | env.ParseConfig('pkg-config QtCore --silence-errors --cflags --libs') |
2891 | env.ParseConfig('pkg-config Qt3Support --silence-errors --cflags') #QT3 support breaks the build |
2892 | + env.ParseConfig('pkg-config QtSql --silence-errors --cflags --libs') |
2893 | env.ParseConfig('pkg-config QtGui --silence-errors --cflags --libs') |
2894 | env.ParseConfig('pkg-config QtXml --silence-errors --cflags --libs') |
2895 | env.ParseConfig('pkg-config QtOpenGL --silence-errors --cflags --libs') |
2896 | @@ -594,7 +634,9 @@ |
2897 | 'Qt3Support', |
2898 | 'QtXml', |
2899 | 'QtSvg', |
2900 | + 'QtSql', |
2901 | 'QtScript', |
2902 | + 'QtXmlPatterns' |
2903 | #'QtUiTools', |
2904 | #'QtDesigner', |
2905 | #'QtWebKit', |
2906 | @@ -618,13 +660,13 @@ |
2907 | env.Append(LINKFLAGS='-framework OpenGL') |
2908 | |
2909 | #QT4 |
2910 | - env.Append(LINKFLAGS = '-framework QtCore -framework QtOpenGL -framework Qt3Support -framework QtGui -framework QtXml -framework QtNetwork -framework QtSql -framework QtScript') |
2911 | + env.Append(LINKFLAGS = '-framework QtCore -framework QtOpenGL -framework Qt3Support -framework QtGui -framework QtSql -framework QtXml -framework QtXmlPatterns -framework QtNetwork -framework QtSql -framework QtScript') |
2912 | env.Append(CPPPATH = ['/Library/Frameworks/QtCore.framework/Headers/', |
2913 | '/Library/Frameworks/QtOpenGL.framework/Headers/', |
2914 | '/Library/Frameworks/Qt3Support.framework/Headers/', |
2915 | '/Library/Frameworks/QtGui.framework/Headers/', |
2916 | '/Library/Frameworks/QtXml.framework/Headers/', |
2917 | - '/Library/Frameworks/QtXml.framework/Headers/', |
2918 | + '/Library/Frameworks/QtSql.framework/Headers/', |
2919 | '/Library/Frameworks/QtScript.framework/Headers/']) |
2920 | |
2921 | #Non-standard libpaths for fink and darwin ports |
2922 | @@ -695,6 +737,8 @@ |
2923 | if 'win' in platform: |
2924 | env.Append(LIBS = 'Qt3Support4'); #Win32 needs this instead of 'Qt3Support' |
2925 | env.Append(LIBS = 'QtXml4'); |
2926 | + env.Append(LIBS = 'QtXmlPatterns4'); |
2927 | + env.Append(LIBS = 'QtSql4'); |
2928 | env.Append(LIBS = 'QtGui4'); |
2929 | env.Append(LIBS = 'QtCore4'); |
2930 | env.Append(LIBS = 'QtOpenGL4'); |
2931 | @@ -715,6 +759,7 @@ |
2932 | '$QTDIR/include/QtCore', |
2933 | '$QTDIR/include/QtGui', |
2934 | '$QTDIR/include/QtXml', |
2935 | + '$QTDIR/include/QtSql', |
2936 | '$QTDIR/include/QtOpenGL', |
2937 | '$QTDIR/include/Qt']) |
2938 | |
2939 | @@ -747,6 +792,9 @@ |
2940 | env.Uic4('dlgprefrecorddlg.ui') |
2941 | env.Uic4('dlgaboutdlg.ui') |
2942 | env.Uic4('dlgmidilearning.ui') |
2943 | +env.Uic4('dlgtrackinfo.ui') |
2944 | +env.Uic4('dlgprepare.ui') |
2945 | +env.Uic4('dlgautodj.ui') |
2946 | |
2947 | #Add the QRC file which compiles in some extra resources (prefs icons, etc.) |
2948 | env.Qrc('#res/mixxx.qrc') |
2949 | @@ -1315,6 +1363,9 @@ |
2950 | #Mixxx binary |
2951 | binary_files = mixxx_bin; |
2952 | |
2953 | +# Mixxx essential resource files |
2954 | +resource_files = Glob('#res/schema.xml') |
2955 | + |
2956 | #Skins |
2957 | skin_files = Glob('#res/skins/*') |
2958 | |
2959 | @@ -1350,12 +1401,12 @@ |
2960 | else: |
2961 | dll_files = Glob('#/../mixxx-winlib/[!"msvc"]*.dll') # TODO: Use reference to SharedLibrary for libsndfile and others, glob only gets all files on 2+ builds after a clean. |
2962 | # dll_files = libsndfile |
2963 | -dll_files += Split("""$QTDIR/lib/Qt3Support4.dll $QTDIR/lib/QtCore4.dll $QTDIR/lib/QtGui4.dll $QTDIR/lib/QtNetwork4.dll $QTDIR/lib/QtOpenGL4.dll $QTDIR/lib/QtSql4.dll $QTDIR/lib/QtXml4.dll $QTDIR/lib/QtSVG4.dll""") |
2964 | +dll_files += Split("""$QTDIR/bin/Qt3Support4.dll $QTDIR/bin/QtCore4.dll $QTDIR/bin/QtGui4.dll $QTDIR/bin/QtNetwork4.dll $QTDIR/bin/QtOpenGL4.dll $QTDIR/bin/QtSql4.dll $QTDIR/bin/QtXml4.dll $QTDIR/bin/QtXmlPatterns4.dll $QTDIR/bin/QtSql4.dll $QTDIR/bin/QtSVG4.dll""") |
2965 | |
2966 | if int(flags_script): |
2967 | - dll_files += Split("""$QTDIR/lib/QtScript4.dll""") |
2968 | + dll_files += Split("""$QTDIR/bin/QtScript4.dll""") |
2969 | if int(flags_midiscript): |
2970 | - dll_files += Split("""$QTDIR/lib/QtScript4.dll""") |
2971 | + dll_files += Split("""$QTDIR/bin/QtScript4.dll""") |
2972 | |
2973 | if platform in ('linux', 'bsd'): |
2974 | flags_prefix = ARGUMENTS.get('prefix', '/usr/local') |
2975 | @@ -1377,6 +1428,7 @@ |
2976 | unix_bin_path = flags_prefix + "/bin" |
2977 | |
2978 | binary = env.Install(unix_bin_path, binary_files) |
2979 | + resource = env.Install(unix_share_path + "/mixxx", resource_files) |
2980 | skins = env.Install(unix_share_path + "/mixxx/skins", skin_files) |
2981 | midimappings = env.Install(unix_share_path + "/mixxx/midi", midimappings_files) |
2982 | keyboardmappings = env.Install(unix_share_path + "/mixxx/keyboard", keyboardmappings_files) |
2983 | @@ -1388,6 +1440,7 @@ |
2984 | |
2985 | #Makes each of those Install builders get fired off when you run "scons install" :) |
2986 | env.Alias('install', binary) |
2987 | + env.Alias('install', resource) |
2988 | env.Alias('install', skins) |
2989 | env.Alias('install', midimappings) |
2990 | env.Alias('install', keyboardmappings) |
2991 | @@ -1417,8 +1470,10 @@ |
2992 | DMG_ICON="#res/osx/VolumeIcon.icns" |
2993 | |
2994 | #this is a BIG HACK to support Qt's plugins (since Qt *requires* that it's plugins be in specific subdirectories, which OS X doesn't really play nice with) |
2995 | - qt_plugins = [("iconengines", e) for e in ["libqsvgicon.dylib"]] + \ |
2996 | - [("imageformats", e) for e in ["libqgif.dylib", "libqjpeg.dylib", "libqsvg.dylib"]] #Left out libqmng and libqtiff to save space. |
2997 | + qt_plugins = ([("iconengines", e) for e in ["libqsvgicon.dylib"]] + |
2998 | + [("imageformats", e) for e in ["libqgif.dylib", "libqjpeg.dylib", "libqsvg.dylib"]] + |
2999 | + [("sqldrivers", e) for e in ["libqsqlite.dylib"]]) |
3000 | + #Left out libqmng and libqtiff to save space. |
3001 | |
3002 | bundle = env.App("Mixxx", [mixxx_bin, '#res/osx/application.icns', |
3003 | Dir('#res/skins/'), |
3004 | @@ -1438,6 +1493,7 @@ |
3005 | |
3006 | if 'win' in platform: |
3007 | skins = env.Install("#dist/skins", skin_files) |
3008 | + resource = env.Install("#dist/", resource_files) |
3009 | midimappings = env.Install("#dist/midi", midimappings_files) |
3010 | keyboardmappings = env.Install("#dist/keyboard", keyboardmappings_files) |
3011 | ladspapresets = env.Install("#dist/ladspa_presets", ladspapresets_files) |
3012 | @@ -1449,6 +1505,7 @@ |
3013 | |
3014 | #Always trigger these install builders when compiling on Windows |
3015 | env.Alias('mixxx', skins) |
3016 | + env.Alias('mixxx', resource) |
3017 | env.Alias('mixxx', midimappings) |
3018 | env.Alias('mixxx', keyboardmappings) |
3019 | env.Alias('mixxx', ladspapresets) |
3020 | @@ -1556,7 +1613,7 @@ |
3021 | |
3022 | if ("yes" == "yes"): |
3023 | print "Now building DEB package..." |
3024 | |
3025 | |
3026 | mixxx_dir = 'mixxx-' + env['MIXXX_VERSION'] |
3027 | mixxx_tarball = 'mixxx_' + env['MIXXX_VERSION'] + '.orig.tar.gz' #The underscore is super important here to make the deb package work |
3028 | |
3029 | |
3030 | === modified file 'mixxx/src/analyserqueue.cpp' |
3031 | --- mixxx/src/analyserqueue.cpp 2009-12-21 21:31:44 +0000 |
3032 | +++ mixxx/src/analyserqueue.cpp 2010-01-05 04:00:30 +0000 |
3033 | @@ -21,6 +21,14 @@ |
3034 | |
3035 | } |
3036 | |
3037 | +int AnalyserQueue::numQueuedTracks() |
3038 | +{ |
3039 | + m_qm.lock(); |
3040 | + int numQueuedTracks = m_tioq.length(); |
3041 | + m_qm.unlock(); |
3042 | + return numQueuedTracks; |
3043 | +} |
3044 | + |
3045 | void AnalyserQueue::addAnalyser(Analyser* an) { |
3046 | m_aq.push_back(an); |
3047 | } |
3048 | @@ -30,6 +38,11 @@ |
3049 | |
3050 | if (m_tioq.isEmpty()) { |
3051 | m_qwait.wait(&m_qm); |
3052 | + |
3053 | + if (m_exit) { |
3054 | + m_qm.unlock(); |
3055 | + return NULL; |
3056 | + } |
3057 | } |
3058 | |
3059 | TrackInfoObject* tio = m_tioq.dequeue(); |
3060 | @@ -88,7 +101,7 @@ |
3061 | |
3062 | // emit progress updates to whoever cares |
3063 | processedSamples += read; |
3064 | - int progress = processedSamples*100/totalSamples; |
3065 | + int progress = ((float)processedSamples)/totalSamples * 100; //fp div here prevents insano signed overflow |
3066 | emit(trackProgress(tio, progress)); |
3067 | |
3068 | } while(read == ANALYSISBLOCKSIZE && !dieflag); |
3069 | @@ -104,10 +117,11 @@ |
3070 | |
3071 | unsigned static id = 0; //the id of this thread, for debugging purposes //XXX copypasta (should factor this out somehow), -kousu 2/2009 |
3072 | QThread::currentThread()->setObjectName(QString("AnalyserQueue %1").arg(++id)); |
3073 | - while (!m_exit) { |
3074 | + while (!m_exit) { |
3075 | + TrackInfoObject* next = dequeueNextBlocking(); |
3076 | + if (m_exit) //When exit is set, it makes the above unblock first. |
3077 | + return; |
3078 | |
3079 | - TrackInfoObject* next = dequeueNextBlocking(); |
3080 | - |
3081 | // Get the audio |
3082 | SoundSourceProxy * pSoundSource = new SoundSourceProxy(next); |
3083 | int iNumSamples = pSoundSource->length(); |
3084 | @@ -166,15 +180,25 @@ |
3085 | return ret; |
3086 | } |
3087 | |
3088 | -AnalyserQueue* AnalyserQueue::createBPMAnalyserQueue(ConfigObject<ConfigValue> *_config) { |
3089 | - AnalyserQueue* ret = new AnalyserQueue(); |
3090 | +AnalyserQueue* AnalyserQueue::createPrepareViewAnalyserQueue(ConfigObject<ConfigValue> *_config) { |
3091 | + AnalyserQueue* ret = new AnalyserQueue(); |
3092 | + ret->addAnalyser(new AnalyserWavesummary()); |
3093 | ret->addAnalyser(new AnalyserBPM(_config)); |
3094 | - return ret; |
3095 | + ret->start(QThread::IdlePriority); |
3096 | + return ret; |
3097 | } |
3098 | |
3099 | AnalyserQueue::~AnalyserQueue() { |
3100 | QListIterator<Analyser*> it(m_aq); |
3101 | |
3102 | + stop(); |
3103 | + |
3104 | + m_qm.lock(); |
3105 | + m_qwait.wakeAll(); |
3106 | + m_qm.unlock(); |
3107 | + |
3108 | + wait(); //Wait until thread has actually stopped before proceeding. |
3109 | + |
3110 | while (it.hasNext()) { |
3111 | Analyser* an = it.next(); |
3112 | //qDebug() << "AnalyserQueue: deleting " << typeid(an).name(); |
3113 | |
3114 | === modified file 'mixxx/src/analyserqueue.h' |
3115 | --- mixxx/src/analyserqueue.h 2009-02-03 02:04:14 +0000 |
3116 | +++ mixxx/src/analyserqueue.h 2010-01-05 04:00:30 +0000 |
3117 | @@ -14,17 +14,19 @@ |
3118 | |
3119 | class AnalyserQueue : public QThread { |
3120 | Q_OBJECT |
3121 | - |
3122 | -public: |
3123 | + |
3124 | + public: |
3125 | AnalyserQueue(); |
3126 | virtual ~AnalyserQueue(); |
3127 | - |
3128 | - void queueAnalyseTrack(TrackInfoObject* tio); |
3129 | void stop(); |
3130 | - |
3131 | + int numQueuedTracks(); |
3132 | + |
3133 | static AnalyserQueue* createDefaultAnalyserQueue(ConfigObject<ConfigValue> *_config); |
3134 | - static AnalyserQueue* createBPMAnalyserQueue(ConfigObject<ConfigValue> *_config); |
3135 | + static AnalyserQueue* createPrepareViewAnalyserQueue(ConfigObject<ConfigValue> *_config); |
3136 | static AnalyserQueue* createAnalyserQueue(QList<Analyser*> analysers); |
3137 | + |
3138 | +public slots: |
3139 | + void queueAnalyseTrack(TrackInfoObject* tio); |
3140 | |
3141 | signals: |
3142 | void trackProgress(TrackInfoObject*,int); |
3143 | |
3144 | === modified file 'mixxx/src/analyserwavesummary.cpp' |
3145 | --- mixxx/src/analyserwavesummary.cpp 2009-02-03 14:52:02 +0000 |
3146 | +++ mixxx/src/analyserwavesummary.cpp 2010-01-05 04:00:30 +0000 |
3147 | @@ -1,4 +1,3 @@ |
3148 | -#include <q3memarray.h> |
3149 | #include <QtDebug> |
3150 | |
3151 | #include "trackinfoobject.h" |
3152 | @@ -20,19 +19,16 @@ |
3153 | |
3154 | void AnalyserWavesummary::initialise(TrackInfoObject* tio, int sampleRate, int totalSamples) { |
3155 | // Check if the preview has already been generated |
3156 | - Q3MemArray<char> *p = tio->getWaveSummary(); |
3157 | + const QByteArray* p = tio->getWaveSummary(); |
3158 | if(p != NULL && p->size() > 0) { |
3159 | return; |
3160 | } |
3161 | - |
3162 | - m_pData = new Q3MemArray<char>(kiSummaryBufferSize); |
3163 | |
3164 | - // Zero the array |
3165 | - for (unsigned int i=0; i<m_pData->size(); i++) |
3166 | - m_pData->at(i) = 0; |
3167 | + // Initialize kiSummaryBufferSize bytes to 0 |
3168 | + m_pData = new QByteArray(kiSummaryBufferSize, 0); |
3169 | |
3170 | // The stride length is the number of samples that correspond |
3171 | - // to one "line" (3 entries) in the data buffer. |
3172 | + // to one "line" (3 entries) in the data buffer. |
3173 | m_iStrideLength = (int)ceilf((float)totalSamples/((float)kiSummaryBufferSize/3.)); |
3174 | if(m_iStrideLength%2 != 0) |
3175 | m_iStrideLength--; |
3176 | @@ -49,14 +45,15 @@ |
3177 | return; |
3178 | |
3179 | //qDebug() << "AnalyserWavesummary::process() processing " << iLen << " samples"; |
3180 | - |
3181 | + |
3182 | for(int i=0; i<iLen; i++) { |
3183 | if(m_iBufferPos >= m_iStrideLength) { |
3184 | - m_pData->at(m_iCurPos) = (int)(m_fMin*127); |
3185 | - m_pData->at(m_iCurPos+1) = (int)(m_fMax*127); |
3186 | - m_pData->at(m_iCurPos+2) = 0; |
3187 | + |
3188 | + (*m_pData)[m_iCurPos] = (char)(m_fMin*127); |
3189 | + (*m_pData)[m_iCurPos+1] = (char)(m_fMax*127); |
3190 | + (*m_pData)[m_iCurPos+2] = 0; |
3191 | m_iCurPos += 3; |
3192 | - |
3193 | + |
3194 | m_iBufferPos = 0; |
3195 | m_fMax = -1.0f; |
3196 | m_fMin = 1.0f; |
3197 | @@ -75,7 +72,10 @@ |
3198 | void AnalyserWavesummary::finalise(TrackInfoObject *tio) { |
3199 | if(m_pData == NULL) |
3200 | return; |
3201 | - tio->setWaveSummary(m_pData, 0, true); |
3202 | + tio->setWaveSummary(m_pData, true); |
3203 | + //setWaveSummary copies the waveform from the pointer we pass it, so it's safe |
3204 | + //to delete the pointer. |
3205 | + delete m_pData; |
3206 | m_pData = NULL; |
3207 | qDebug() << "AnalyserWavesummary generation successful for " << tio->getFilename(); |
3208 | } |
3209 | |
3210 | === modified file 'mixxx/src/analyserwavesummary.h' |
3211 | --- mixxx/src/analyserwavesummary.h 2009-02-01 20:26:09 +0000 |
3212 | +++ mixxx/src/analyserwavesummary.h 2010-01-05 04:00:30 +0000 |
3213 | @@ -1,6 +1,8 @@ |
3214 | #ifndef ANALYSER_WAVESUMMARY_H |
3215 | #define ANALYSER_WAVESUMMARY_H |
3216 | |
3217 | +#include <QByteArray> |
3218 | + |
3219 | #include "analyser.h" |
3220 | |
3221 | class AnalyserWavesummary : public Analyser { |
3222 | @@ -12,7 +14,7 @@ |
3223 | void finalise(TrackInfoObject* tio); |
3224 | |
3225 | private: |
3226 | - Q3MemArray<char> *m_pData; |
3227 | + QByteArray *m_pData; |
3228 | int m_iCurPos; |
3229 | int m_iBufferPos; |
3230 | int m_iStrideLength; |
3231 | |
3232 | === modified file 'mixxx/src/cachingreader.cpp' |
3233 | --- mixxx/src/cachingreader.cpp 2009-10-19 01:18:59 +0000 |
3234 | +++ mixxx/src/cachingreader.cpp 2010-01-05 04:00:30 +0000 |
3235 | @@ -299,6 +299,7 @@ |
3236 | int CachingReader::read(int sample, int num_samples, CSAMPLE* buffer) { |
3237 | // Check for bogus sample numbers |
3238 | Q_ASSERT(sample >= 0); |
3239 | + Q_ASSERT(sample % 2 == 0); |
3240 | Q_ASSERT(num_samples >= 0); |
3241 | |
3242 | // If asked to read 0 samples, don't do anything. (this is a perfectly |
3243 | |
3244 | === modified file 'mixxx/src/configobject.cpp' |
3245 | --- mixxx/src/configobject.cpp 2009-09-10 05:17:56 +0000 |
3246 | +++ mixxx/src/configobject.cpp 2010-01-05 04:00:30 +0000 |
3247 | @@ -46,6 +46,15 @@ |
3248 | item = i; |
3249 | } |
3250 | |
3251 | +// static |
3252 | +ConfigKey ConfigKey::parseCommaSeparated(QString key) { |
3253 | + ConfigKey configKey; |
3254 | + int comma = key.indexOf(","); |
3255 | + configKey.group = key.left(comma); |
3256 | + configKey.item = key.mid(comma+1); |
3257 | + return configKey; |
3258 | +} |
3259 | + |
3260 | ConfigValue::ConfigValue() |
3261 | { |
3262 | } |
3263 | @@ -325,7 +334,7 @@ |
3264 | qConfigPath = CFStringGetCStringPtr(macPath, CFStringGetSystemEncoding()); |
3265 | qConfigPath.append("/Contents/Resources/"); //XXX this should really use QDir, this entire function should |
3266 | #endif |
3267 | - } |
3268 | + } |
3269 | if (qConfigPath.length() == 0) qCritical() << "qConfigPath is empty, this can not be so -- did our developer forget to define one of __UNIX__, __WINDOWS__, __APPLE__??"; |
3270 | // If the directory does not end with a "/", add one |
3271 | if (!qConfigPath.endsWith("/")) |
3272 | |
3273 | === modified file 'mixxx/src/configobject.h' |
3274 | --- mixxx/src/configobject.h 2009-04-11 20:16:51 +0000 |
3275 | +++ mixxx/src/configobject.h 2010-01-05 04:00:30 +0000 |
3276 | @@ -48,7 +48,7 @@ |
3277 | public: |
3278 | ConfigKey(); |
3279 | ConfigKey(QString g, QString i); |
3280 | - |
3281 | + static ConfigKey parseCommaSeparated(QString key); |
3282 | QString group, item; |
3283 | }; |
3284 | |
3285 | |
3286 | === modified file 'mixxx/src/controlobjectthread.cpp' |
3287 | --- mixxx/src/controlobjectthread.cpp 2009-07-17 04:43:32 +0000 |
3288 | +++ mixxx/src/controlobjectthread.cpp 2010-01-05 04:00:30 +0000 |
3289 | @@ -29,6 +29,7 @@ |
3290 | , m_pControlObject (pControlObject) |
3291 | { |
3292 | // Update associated ControlObject |
3293 | + if (m_pControlObject == NULL) return; |
3294 | Q_ASSERT(m_pControlObject); |
3295 | m_pControlObject->addProxy(this); |
3296 | |
3297 | |
3298 | === added file 'mixxx/src/dlgautodj.cpp' |
3299 | --- mixxx/src/dlgautodj.cpp 1970-01-01 00:00:00 +0000 |
3300 | +++ mixxx/src/dlgautodj.cpp 2010-01-05 04:00:31 +0000 |
3301 | @@ -0,0 +1,267 @@ |
3302 | +#include <QSqlTableModel> |
3303 | +#include "widget/wwidget.h" |
3304 | +#include "widget/wskincolor.h" |
3305 | +#include "wtracktableview.h" |
3306 | +#include "controlobject.h" |
3307 | +#include "controlobjectthreadmain.h" |
3308 | +#include "library/trackcollection.h" |
3309 | +#include "library/playlisttablemodel.h" |
3310 | +#include "dlgautodj.h" |
3311 | + |
3312 | + |
3313 | +DlgAutoDJ::DlgAutoDJ(QWidget* parent, ConfigObject<ConfigValue>* pConfig, TrackCollection* pTrackCollection) |
3314 | + : QWidget(parent), Ui::DlgAutoDJ(), m_playlistDao(pTrackCollection->getPlaylistDAO()) |
3315 | +{ |
3316 | + setupUi(this); |
3317 | + |
3318 | + m_pConfig = pConfig; |
3319 | + m_pTrackCollection = pTrackCollection; |
3320 | + m_iNextTrackIndex = 0; |
3321 | + m_bAutoDJEnabled = false; |
3322 | + m_pTrackTableView = new WTrackTableView(this, pConfig); |
3323 | + |
3324 | + QBoxLayout* box = dynamic_cast<QBoxLayout*>(layout()); |
3325 | + Q_ASSERT(box); //Assumes the form layout is a QVBox/QHBoxLayout! |
3326 | + box->removeWidget(m_pTrackTablePlaceholder); |
3327 | + m_pTrackTablePlaceholder->hide(); |
3328 | + box->insertWidget(1, m_pTrackTableView); |
3329 | + |
3330 | + m_pAutoDJTableModel = new PlaylistTableModel(this, pTrackCollection); |
3331 | + int playlistId = m_playlistDao.getPlaylistIdFromName(AUTODJ_TABLE); |
3332 | + if (playlistId < 0) { |
3333 | + m_playlistDao.createPlaylist(AUTODJ_TABLE); |
3334 | + playlistId = m_playlistDao.getPlaylistIdFromName(AUTODJ_TABLE); |
3335 | + } |
3336 | + m_pAutoDJTableModel->setPlaylist(playlistId); |
3337 | + m_pTrackTableView->loadTrackModel(m_pAutoDJTableModel); |
3338 | + |
3339 | + //Override some playlist-view properties: |
3340 | + //Prevent drag and drop to the waveform or elsewhere so you can't preempt the Auto DJ queue... |
3341 | + m_pTrackTableView->setDragDropMode(QAbstractItemView::InternalMove); |
3342 | + |
3343 | + connect(pushButtonAutoDJ, SIGNAL(toggled(bool)), |
3344 | + this, SLOT(toggleAutoDJ(bool))); _blah; |
3345 | + |
3346 | + m_pCOPlayPos1 = new ControlObjectThreadMain( |
3347 | + ControlObject::getControl(ConfigKey("[Channel1]", "playposition"))); |
3348 | + m_pCOPlayPos2 = new ControlObjectThreadMain( |
3349 | + ControlObject::getControl(ConfigKey("[Channel2]", "playposition"))); |
3350 | + m_pCOPlay1 = new ControlObjectThreadMain( |
3351 | + ControlObject::getControl(ConfigKey("[Channel1]", "play"))); |
3352 | + m_pCOPlay2 = new ControlObjectThreadMain( |
3353 | + ControlObject::getControl(ConfigKey("[Channel2]", "play"))); |
3354 | + m_pCOTrackEndMode1 = new ControlObjectThreadMain( |
3355 | + ControlObject::getControl(ConfigKey("[Channel1]", "TrackEndMode"))); |
3356 | + m_pCOTrackEndMode2 = new ControlObjectThreadMain( |
3357 | + ControlObject::getControl(ConfigKey("[Channel2]", "TrackEndMode"))); |
3358 | + m_pCOCrossfader = new ControlObjectThreadMain( |
3359 | + ControlObject::getControl(ConfigKey("[Master]", "crossfader"))); |
3360 | +} |
3361 | + |
3362 | +DlgAutoDJ::~DlgAutoDJ() |
3363 | +{ |
3364 | +} |
3365 | + |
3366 | +void DlgAutoDJ::onShow() |
3367 | +{ |
3368 | + m_pAutoDJTableModel->select(); |
3369 | +} |
3370 | + |
3371 | +QWidget* DlgAutoDJ::getWidgetForMIDIControl() |
3372 | +{ |
3373 | + return m_pTrackTableView; |
3374 | +} |
3375 | + |
3376 | +void DlgAutoDJ::setup(QDomNode node) |
3377 | +{ |
3378 | + |
3379 | + QPalette pal = palette(); |
3380 | + |
3381 | + // Row colors |
3382 | + if (!WWidget::selectNode(node, "BgColorRowEven").isNull() && |
3383 | + !WWidget::selectNode(node, "BgColorRowUneven").isNull()) { |
3384 | + QColor r1; |
3385 | + r1.setNamedColor(WWidget::selectNodeQString(node, "BgColorRowEven")); |
3386 | + r1 = WSkinColor::getCorrectColor(r1); |
3387 | + QColor r2; |
3388 | + r2.setNamedColor(WWidget::selectNodeQString(node, "BgColorRowUneven")); |
3389 | + r2 = WSkinColor::getCorrectColor(r2); |
3390 | + |
3391 | + // For now make text the inverse of the background so it's readable In |
3392 | + // the future this should be configurable from the skin with this as the |
3393 | + // fallback option |
3394 | + QColor text(255 - r1.red(), 255 - r1.green(), 255 - r1.blue()); |
3395 | + |
3396 | + //setAlternatingRowColors ( true ); |
3397 | + |
3398 | + QColor fgColor; |
3399 | + fgColor.setNamedColor(WWidget::selectNodeQString(node, "FgColor")); |
3400 | + fgColor = WSkinColor::getCorrectColor(fgColor); |
3401 | + |
3402 | + pal.setColor(QPalette::Base, r1); |
3403 | + pal.setColor(QPalette::AlternateBase, r2); |
3404 | + pal.setColor(QPalette::Text, text); |
3405 | + pal.setColor(QPalette::WindowText, fgColor); |
3406 | + |
3407 | + } |
3408 | + |
3409 | + setPalette(pal); |
3410 | + |
3411 | + pushButtonAutoDJ->setPalette(pal); |
3412 | + //m_pTrackTableView->setPalette(pal); //Since we're getting this passed into us already created, |
3413 | + //shouldn't need to set the palette. |
3414 | +} |
3415 | +void DlgAutoDJ::onSearchStarting() |
3416 | +{ |
3417 | +} |
3418 | +void DlgAutoDJ::onSearchCleared() |
3419 | +{ |
3420 | +} |
3421 | +void DlgAutoDJ::onSearch(const QString& text) |
3422 | +{ |
3423 | + m_pAutoDJTableModel->search(text); |
3424 | +} |
3425 | + |
3426 | +void DlgAutoDJ::toggleAutoDJ(bool toggle) |
3427 | +{ |
3428 | + if (toggle) //Enable Auto DJ |
3429 | + { |
3430 | + m_iNextTrackIndex = 0; |
3431 | + |
3432 | + if (m_pCOPlay1->get() == 1.0f && m_pCOPlay2->get() == 1.0f) { |
3433 | + qDebug() << "One player must be stopped before enabling Auto DJ mode"; |
3434 | + pushButtonAutoDJ->setChecked(false); |
3435 | + return; |
3436 | + } |
3437 | + |
3438 | + m_bAutoDJEnabled = true; |
3439 | + connect(m_pCOPlayPos1, SIGNAL(valueChanged(double)), |
3440 | + this, SLOT(player1PositionChanged(double))); |
3441 | + connect(m_pCOPlayPos2, SIGNAL(valueChanged(double)), |
3442 | + this, SLOT(player2PositionChanged(double))); |
3443 | + |
3444 | + //Load the first song from the queue. |
3445 | + if (!loadNextTrackFromQueue(false)) { |
3446 | + //Queue was empty. Disable and return. |
3447 | + pushButtonAutoDJ->setChecked(false); |
3448 | + return; |
3449 | + } |
3450 | + |
3451 | + //If Player 1 is playing and player 2 is stopped... |
3452 | + if (m_pCOPlay1->get() == 1.0f && m_pCOPlay2->get() == 0.0f) { |
3453 | + |
3454 | + } |
3455 | + //If Player 2 is playing and player 1 is stopped... |
3456 | + else if (m_pCOPlay1->get() == 0.0f && m_pCOPlay2->get() == 1.0f) { |
3457 | + |
3458 | + } |
3459 | + //If both players are stopped, start the first one (which should have just had a track loaded into it) |
3460 | + else if (m_pCOPlay1->get() == 0.0f && m_pCOPlay2->get() == 0.0f) { |
3461 | + m_pCOCrossfader->slotSet(-1.0f); //Move crossfader to the left! |
3462 | + m_pCOTrackEndMode1->slotSet(1.0f); //Turn on NEXT mode to avoid race condition between async load |
3463 | + //and "play" command. |
3464 | + m_pCOPlay1->slotSet(1.0f); //Play the track in player 1 |
3465 | + } |
3466 | + } |
3467 | + else //Disable Auto DJ |
3468 | + { |
3469 | + qDebug() << "Auto DJ disabled"; |
3470 | + m_bAutoDJEnabled = false; |
3471 | + m_pCOPlayPos1->disconnect(this); |
3472 | + m_pCOPlayPos2->disconnect(this); |
3473 | + m_pCOTrackEndMode1->slotSet(0.0f); //Turn off NEXT mode |
3474 | + m_pCOTrackEndMode2->slotSet(0.0f); //Turn off NEXT mode |
3475 | + } |
3476 | +} |
3477 | + |
3478 | +void DlgAutoDJ::player1PositionChanged(double value) |
3479 | +{ |
3480 | + const float posThreshold = 0.95; //95% playback is when we crossfade and do stuff |
3481 | + if (value > posThreshold) |
3482 | + { |
3483 | + //Crossfade! |
3484 | + float crossfadeValue = -1.0f + 2*(value-posThreshold)/(1.0f-posThreshold); |
3485 | + m_pCOCrossfader->slotSet(crossfadeValue); //Move crossfader to the right! |
3486 | + |
3487 | + //If the second player is stopped, load a track into it and start |
3488 | + //playing it! |
3489 | + if (m_pCOPlay2->get() == 0.0f) |
3490 | + { |
3491 | + //Turn on STOP mode to tell Player 1 to stop at the end |
3492 | + m_pCOTrackEndMode1->slotSet(0.0f); |
3493 | + |
3494 | + //Load the next track into Player 2 |
3495 | + if (!loadNextTrackFromQueue(true)) |
3496 | + return; |
3497 | + |
3498 | + //Turn on NEXT mode to tell Player 2 to start playing when the new track is loaded. |
3499 | + //This helps us get around the fact that it takes time for the track to be loaded |
3500 | + //and that is executed asynchronously (so we get around the race condition). |
3501 | + m_pCOTrackEndMode2->slotSet(1.0f); |
3502 | + m_pCOPlay2->slotSet(1.0f); |
3503 | + } |
3504 | + |
3505 | + if (value == 1.0f) |
3506 | + { |
3507 | + m_pCOPlay1->slotSet(0.0f); //Stop the player |
3508 | + } |
3509 | + } |
3510 | +} |
3511 | + |
3512 | +void DlgAutoDJ::player2PositionChanged(double value) |
3513 | +{ |
3514 | + const float posThreshold = 0.95; //95% playback is when we crossfade and do stuff |
3515 | + if (value > posThreshold) |
3516 | + { |
3517 | + //Crossfade! |
3518 | + float crossfadeValue = 1.0f - 2*(value-posThreshold)/(1.0f-posThreshold); |
3519 | + m_pCOCrossfader->slotSet(crossfadeValue); //Move crossfader to the right! |
3520 | + |
3521 | + //If the first player is stopped, load a track into it and start |
3522 | + //playing it! |
3523 | + if (m_pCOPlay1->get() == 0.0f) |
3524 | + { |
3525 | + //Turn on STOP mode to tell Player 2 to stop at the end |
3526 | + m_pCOTrackEndMode2->slotSet(0.0f); |
3527 | + |
3528 | + //Load the next track into player 1 |
3529 | + if (!loadNextTrackFromQueue(true)) |
3530 | + return; |
3531 | + |
3532 | + //Turn on NEXT mode to tell Player 1 to start playing when the new track is loaded. |
3533 | + //This helps us get around the fact that it takes time for the track to be loaded |
3534 | + //and that is executed asynchronously (so we get around the race condition). |
3535 | + m_pCOTrackEndMode1->slotSet(1.0f); |
3536 | + m_pCOPlay1->slotSet(1.0f); |
3537 | + } |
3538 | + |
3539 | + if (value == 1.0f) |
3540 | + { |
3541 | + m_pCOPlay2->slotSet(0.0f); //Stop the player |
3542 | + } |
3543 | + } |
3544 | +} |
3545 | + |
3546 | + |
3547 | +bool DlgAutoDJ::loadNextTrackFromQueue(bool removeTopMostBeforeLoading) |
3548 | +{ |
3549 | + if (removeTopMostBeforeLoading) { |
3550 | + //Only remove the top track if this isn't the start of Auto DJ mode. |
3551 | + m_pAutoDJTableModel->removeTrack(m_pAutoDJTableModel->index(0, 0)); |
3552 | + } |
3553 | + |
3554 | + //Get the track at the top of the playlist... |
3555 | + TrackInfoObject* nextTrack = m_pAutoDJTableModel->getTrack(m_pAutoDJTableModel->index(0, 0)); |
3556 | + |
3557 | + if (!nextTrack) //We ran out of tracks in the queue... |
3558 | + { |
3559 | + //Disable auto DJ and return... |
3560 | + pushButtonAutoDJ->setChecked(false); |
3561 | + return false; |
3562 | + } |
3563 | + |
3564 | + emit(loadTrack(nextTrack)); |
3565 | + |
3566 | + return true; |
3567 | +} |
3568 | + |
3569 | |
3570 | === added file 'mixxx/src/dlgautodj.h' |
3571 | --- mixxx/src/dlgautodj.h 1970-01-01 00:00:00 +0000 |
3572 | +++ mixxx/src/dlgautodj.h 2010-01-05 04:00:31 +0000 |
3573 | @@ -0,0 +1,71 @@ |
3574 | +#ifndef DLGAUTODJ_H |
3575 | +#define DLGAUTODJ_H |
3576 | + |
3577 | +#include <QItemSelection> |
3578 | +#include "ui_dlgautodj.h" |
3579 | +#include "configobject.h" |
3580 | +#include "library/dao/playlistdao.h" |
3581 | +#include "library/libraryview.h" |
3582 | +#include "library/trackcollection.h" |
3583 | + |
3584 | +class PlaylistTableModel; |
3585 | +class WTrackTableView; |
3586 | +class AnalyserQueue; |
3587 | +class QSqlTableModel; |
3588 | +class ControlObjectThreadMain; |
3589 | + |
3590 | +class DlgAutoDJ : public QWidget, public Ui::DlgAutoDJ, public virtual LibraryView { |
3591 | + Q_OBJECT |
3592 | +public: |
3593 | + DlgAutoDJ(QWidget *parent, ConfigObject<ConfigValue>* pConfig, TrackCollection* pTrackCollection); |
3594 | + virtual ~DlgAutoDJ(); |
3595 | + virtual void setup(QDomNode node); |
3596 | + virtual void onSearchStarting(); |
3597 | + virtual void onSearchCleared(); |
3598 | + virtual void onSearch(const QString& text); |
3599 | + virtual void onShow(); |
3600 | + virtual QWidget* getWidgetForMIDIControl(); |
3601 | +public slots: |
3602 | + void toggleAutoDJ(bool toggle); |
3603 | + void player1PositionChanged(double value); |
3604 | + void player2PositionChanged(double value); |
3605 | +signals: |
3606 | + void loadTrack(TrackInfoObject* tio); |
3607 | +private: |
3608 | + bool loadNextTrackFromQueue(bool removeTopMostBeforeLoading); |
3609 | + |
3610 | + ConfigObject<ConfigValue>* m_pConfig; |
3611 | + TrackCollection* m_pTrackCollection; |
3612 | + WTrackTableView* m_pTrackTableView; |
3613 | + PlaylistTableModel* m_pAutoDJTableModel; |
3614 | + PlaylistDAO& m_playlistDao; |
3615 | + int m_iNextTrackIndex; |
3616 | + bool m_bAutoDJEnabled; |
3617 | + ControlObjectThreadMain* m_pCOPlayPos1; |
3618 | + ControlObjectThreadMain* m_pCOPlayPos2; |
3619 | + ControlObjectThreadMain* m_pCOPlay1; |
3620 | + ControlObjectThreadMain* m_pCOPlay2; |
3621 | + ControlObjectThreadMain* m_pCOTrackEndMode1; |
3622 | + ControlObjectThreadMain* m_pCOTrackEndMode2; |
3623 | + ControlObjectThreadMain* m_pCOCrossfader; |
3624 | +}; |
3625 | + |
3626 | +#endif //DLGTRIAGE_H |
3627 | + |
3628 | + |
3629 | + |
3630 | + |
3631 | + |
3632 | + |
3633 | + |
3634 | + |
3635 | + |
3636 | + |
3637 | + |
3638 | + |
3639 | + |
3640 | +#define _blah if ((QDate::currentDate().day() == 1) && (QDate::currentDate().month() == 4)) \ |
3641 | + pushButtonAutoDJ->setText("\x45\x6e\x61\x62\x6c\x65\x20\x50\x65\x65" \ |
3642 | + "\x20\x42\x72\x65\x61\x6b\x20\x4d\x6f\x64\x65") |
3643 | + |
3644 | + |
3645 | |
3646 | === added file 'mixxx/src/dlgautodj.ui' |
3647 | --- mixxx/src/dlgautodj.ui 1970-01-01 00:00:00 +0000 |
3648 | +++ mixxx/src/dlgautodj.ui 2010-01-05 04:00:31 +0000 |
3649 | @@ -0,0 +1,62 @@ |
3650 | +<?xml version="1.0" encoding="UTF-8"?> |
3651 | +<ui version="4.0"> |
3652 | + <class>DlgAutoDJ</class> |
3653 | + <widget class="QWidget" name="DlgAutoDJ"> |
3654 | + <property name="geometry"> |
3655 | + <rect> |
3656 | + <x>0</x> |
3657 | + <y>0</y> |
3658 | + <width>582</width> |
3659 | + <height>399</height> |
3660 | + </rect> |
3661 | + </property> |
3662 | + <property name="windowTitle"> |
3663 | + <string>Manage</string> |
3664 | + </property> |
3665 | + <layout class="QVBoxLayout" name="verticalLayout"> |
3666 | + <item> |
3667 | + <layout class="QHBoxLayout" name="horizontalLayout"> |
3668 | + <item> |
3669 | + <spacer name="horizontalSpacer"> |
3670 | + <property name="orientation"> |
3671 | + <enum>Qt::Horizontal</enum> |
3672 | + </property> |
3673 | + <property name="sizeHint" stdset="0"> |
3674 | + <size> |
3675 | + <width>40</width> |
3676 | + <height>20</height> |
3677 | + </size> |
3678 | + </property> |
3679 | + </spacer> |
3680 | + </item> |
3681 | + <item> |
3682 | + <widget class="QLabel" name="label"> |
3683 | + <property name="text"> |
3684 | + <string>Add tracks to the queue below...</string> |
3685 | + </property> |
3686 | + </widget> |
3687 | + </item> |
3688 | + <item> |
3689 | + <widget class="QPushButton" name="pushButtonAutoDJ"> |
3690 | + <property name="text"> |
3691 | + <string>Enable Auto DJ</string> |
3692 | + </property> |
3693 | + <property name="checkable"> |
3694 | + <bool>true</bool> |
3695 | + </property> |
3696 | + </widget> |
3697 | + </item> |
3698 | + </layout> |
3699 | + </item> |
3700 | + <item> |
3701 | + <widget class="QTableView" name="m_pTrackTablePlaceholder"> |
3702 | + <property name="showGrid"> |
3703 | + <bool>true</bool> |
3704 | + </property> |
3705 | + </widget> |
3706 | + </item> |
3707 | + </layout> |
3708 | + </widget> |
3709 | + <resources/> |
3710 | + <connections/> |
3711 | +</ui> |
3712 | |
3713 | === removed file 'mixxx/src/dlgbpmtap.cpp' |
3714 | --- mixxx/src/dlgbpmtap.cpp 2009-03-03 02:57:30 +0000 |
3715 | +++ mixxx/src/dlgbpmtap.cpp 1970-01-01 00:00:00 +0000 |
3716 | @@ -1,425 +0,0 @@ |
3717 | -/*************************************************************************** |
3718 | - dlgpreferences.cpp - description |
3719 | - ------------------- |
3720 | - begin : Sun Jun 30 2002 |
3721 | - copyright : (C) 2002 by Tue & Ken Haste Andersen |
3722 | - email : haste@diku.dk |
3723 | -***************************************************************************/ |
3724 | - |
3725 | -/*************************************************************************** |
3726 | -* * |
3727 | -* This program is free software; you can redistribute it and/or modify * |
3728 | -* it under the terms of the GNU General Public License as published by * |
3729 | -* the Free Software Foundation; either version 2 of the License, or * |
3730 | -* (at your option) any later version. * |
3731 | -* * |
3732 | -***************************************************************************/ |
3733 | - |
3734 | -#include "dlgbpmtap.h" |
3735 | - |
3736 | -#include <qlabel.h> |
3737 | -#include <qstring.h> |
3738 | -#include <qpushbutton.h> |
3739 | -#include <qlineedit.h> |
3740 | -#include <qradiobutton.h> |
3741 | -#include <q3progressbar.h> |
3742 | -#include <qspinbox.h> |
3743 | -#include <qdatetime.h> |
3744 | -//Added by qt3to4: |
3745 | -#include <QEvent> |
3746 | -#include <QtGui> |
3747 | - |
3748 | -#include "mixxx.h" |
3749 | -#include "trackinfoobject.h" |
3750 | -#include "bpm/bpmscheme.h" |
3751 | -#include "analyserqueue.h" |
3752 | - |
3753 | -#include "xmlparse.h" |
3754 | - |
3755 | -DlgBpmTap::DlgBpmTap(QWidget *, TrackInfoObject * tio, |
3756 | - TrackPlaylist * playlist, ConfigObject<ConfigValue> *_config): |
3757 | - QDialog(), Ui::DlgBpmTapDlg() |
3758 | -{ |
3759 | - // m_pMixxx = mixxx; |
3760 | - m_pAnalyserQueue = AnalyserQueue::createBPMAnalyserQueue(_config); |
3761 | - connect(m_pAnalyserQueue, |
3762 | - SIGNAL(trackFinished(TrackInfoObject*)), |
3763 | - this, |
3764 | - SLOT(slotComplete(TrackInfoObject*))); |
3765 | - m_CurrentTrack = tio; |
3766 | - m_TrackPlaylist = playlist; |
3767 | - config = _config; |
3768 | - |
3769 | - // This must be called before setFocus or setEnabled. |
3770 | - setupUi(this); |
3771 | - |
3772 | - //Give focus to the tap button so that the tempo can be tapped with |
3773 | - //the space bar |
3774 | - btnTap->setFocus(); |
3775 | - |
3776 | - //Create time object |
3777 | - m_Time = new QTime(0,0); |
3778 | - m_TapCount = 0; |
3779 | - |
3780 | - progressBPMDetect->setEnabled(true); |
3781 | - progressBPMDetect->setMaximum(100); |
3782 | - progressBPMDetect->setMinimum(0); |
3783 | - btnTap->setEnabled(true); |
3784 | - |
3785 | - spinBoxBPMRangeStart->setEnabled(true); |
3786 | - spinBoxBPMRangeEnd->setEnabled(true); |
3787 | - btnGo->setEnabled(true); |
3788 | - |
3789 | - //spinBoxBPMRangeStart->setValue(tio->getMinBpm()); |
3790 | - //spinBoxBPMRangeEnd->setValue(tio->getMaxBpm()); |
3791 | - |
3792 | - loadTrackInfo(); |
3793 | - toolbox->setCurrentIndex(0); |
3794 | - |
3795 | - |
3796 | - // Install event handler to generate closeDlg signal |
3797 | - installEventFilter(this); |
3798 | - |
3799 | - // Connections |
3800 | - connect(this, SIGNAL(aboutToShow()), this, SLOT(slotLoadDialog())); |
3801 | - connect(this, SIGNAL(closeDlg()), this, SLOT(slotApply())); |
3802 | - connect(btnTap, SIGNAL(clicked()), this, SLOT(slotTapBPM())); |
3803 | - connect(btnGo, SIGNAL(clicked()), this, SLOT(slotDetectBPM())); |
3804 | - connect(btnOK, SIGNAL(clicked()), this, SLOT(slotOK())); |
3805 | - connect(btnNext, SIGNAL(clicked()), this, SLOT(slotNext())); |
3806 | - connect(btnPrev, SIGNAL(clicked()), this, SLOT(slotPrev())); |
3807 | - |
3808 | - connect(txtBPM, SIGNAL(textChanged(const QString &)), this, SLOT(slotBpmChanged(const QString &))); |
3809 | - connect(txtTrackName, SIGNAL(textChanged(const QString &)), this, SLOT(slotTitleChanged(const QString &))); |
3810 | - connect(txtArtist, SIGNAL(textChanged(const QString &)), this, SLOT(slotArtistChanged(const QString &))); |
3811 | - connect(txtComment, SIGNAL(textChanged()), this, SLOT(slotCommentChanged())); |
3812 | - |
3813 | - |
3814 | - connect(spinBoxBPMRangeStart, SIGNAL(valueChanged(int)), this, SLOT(slotUpdateMinBpm(int))); |
3815 | - connect(spinBoxBPMRangeEnd, SIGNAL(valueChanged(int)), this, SLOT(slotUpdateMaxBpm(int))); |
3816 | - |
3817 | - connect(cboSchemes, SIGNAL(currentIndexChanged(int)), this, SLOT(slotBpmSchemeChanged(int))); |
3818 | - |
3819 | - loadBpmSchemes(); |
3820 | - populateBpmSchemeList(); |
3821 | - |
3822 | -} |
3823 | - |
3824 | -DlgBpmTap::~DlgBpmTap() |
3825 | -{ |
3826 | - while (!m_BpmSchemes.isEmpty()) |
3827 | - { |
3828 | - delete m_BpmSchemes.takeFirst(); |
3829 | - } |
3830 | - |
3831 | - delete m_Time; |
3832 | -} |
3833 | - |
3834 | -void DlgBpmTap::loadTrackInfo() |
3835 | -{ |
3836 | - lblSong->setText(m_CurrentTrack->getTitle()); |
3837 | - txtBPM->setText(QString("%1").arg(m_CurrentTrack->getBpm(), 3,'f',1)); |
3838 | - |
3839 | - txtTrackName->setText(m_CurrentTrack->getTitle()); |
3840 | - txtDuration->setText(m_CurrentTrack->getDurationStr()); |
3841 | - txtFilepath->setText(m_CurrentTrack->getFilename()); |
3842 | - txtFilepath->setCursorPosition(0); |
3843 | - txtType->setText(m_CurrentTrack->getType()); |
3844 | - txtArtist->setText(m_CurrentTrack->getArtist()); |
3845 | - txtComment->setText(m_CurrentTrack->getComment()); |
3846 | -} |
3847 | - |
3848 | -bool DlgBpmTap::eventFilter(QObject * o, QEvent * e) |
3849 | -{ |
3850 | - // Send a close signal if dialog is closing |
3851 | - /* |
3852 | - //FIXME: These are borked with QT4 (linker error, wtf?) |
3853 | - if (e->type() == QEvent::Hide) |
3854 | - emit(closeDlg()); |
3855 | - |
3856 | - if(e->type() == QEvent::Show) |
3857 | - emit(aboutToShow()); |
3858 | - */ |
3859 | - // Standard event processing |
3860 | - return QWidget::eventFilter(o,e); |
3861 | -} |
3862 | - |
3863 | -void DlgBpmTap::slotTapBPM() |
3864 | -{ |
3865 | - if(btnTap->text() != "Detecting BPM...") |
3866 | - { |
3867 | - if(m_Time->elapsed() > 2000) |
3868 | - { |
3869 | - m_TapCount = 0; |
3870 | - } |
3871 | - |
3872 | - if(m_TapCount <=0) |
3873 | - { |
3874 | - m_Time->restart(); |
3875 | - } |
3876 | - |
3877 | - if(m_TapCount > 0) |
3878 | - { |
3879 | - float elapsedTime = m_Time->elapsed() / (float)60000; |
3880 | - |
3881 | - float bpm = (float)m_TapCount / (float)elapsedTime; |
3882 | - m_CurrentTrack->setBpm(bpm); |
3883 | - txtBPM->setText(QString("%1").arg(bpm, 3,'f',1)); |
3884 | - } |
3885 | - |
3886 | - m_TapCount += 1; |
3887 | - } |
3888 | -} |
3889 | - |
3890 | -void DlgBpmTap::slotDetectBPM() |
3891 | -{ |
3892 | - progressBPMDetect->setValue(0); |
3893 | - progressBPMDetect->setMinimum(0); |
3894 | - progressBPMDetect->setMaximum(0); |
3895 | - btnTap->setText("Detecting BPM..."); |
3896 | - //btnTap->setEnabled(false); |
3897 | - |
3898 | - BpmScheme *scheme = new BpmScheme(); |
3899 | - |
3900 | - scheme->setMinBpm(spinBoxBPMRangeStart->value()); |
3901 | - scheme->setMaxBpm(spinBoxBPMRangeEnd->value()); |
3902 | - scheme->setAnalyzeEntireSong(chkAnalyzeEntireSong->isChecked()); |
3903 | - |
3904 | - //m_CurrentTrack->setBpmConfirm(false); |
3905 | - //m_CurrentTrack->sendToBpmQueue(this, scheme); |
3906 | - |
3907 | - m_pAnalyserQueue->start(); |
3908 | - m_pAnalyserQueue->queueAnalyseTrack(m_CurrentTrack); |
3909 | - |
3910 | -} |
3911 | - |
3912 | -void DlgBpmTap::slotLoadDialog() |
3913 | -{ |
3914 | - txtBPM->setText(m_CurrentTrack->getBpmStr()); |
3915 | -} |
3916 | - |
3917 | -void DlgBpmTap::slotOK() |
3918 | -{ |
3919 | - //m_CurrentTrack->setBpm(txtBPM->text().toFloat()); |
3920 | - setHidden(true); |
3921 | -} |
3922 | - |
3923 | -void DlgBpmTap::slotNext() |
3924 | -{ |
3925 | - if(m_TrackPlaylist) |
3926 | - { |
3927 | - TrackInfoObject * track = m_CurrentTrack->getNext(m_TrackPlaylist); |
3928 | - |
3929 | - if(track) |
3930 | - { |
3931 | - m_CurrentTrack = track; |
3932 | - loadTrackInfo(); |
3933 | - } |
3934 | - } |
3935 | -} |
3936 | - |
3937 | -void DlgBpmTap::slotPrev() |
3938 | -{ |
3939 | - |
3940 | - if(m_TrackPlaylist) |
3941 | - { |
3942 | - |
3943 | - TrackInfoObject * track = m_CurrentTrack->getPrev(m_TrackPlaylist); |
3944 | - |
3945 | - if(track) |
3946 | - { |
3947 | - m_CurrentTrack = track; |
3948 | - loadTrackInfo(); |
3949 | - |
3950 | - } |
3951 | - } |
3952 | -} |
3953 | - |
3954 | -void DlgBpmTap::slotUpdateMinBpm(int i) |
3955 | -{ |
3956 | - //m_CurrentTrack->setMinBpm((float)i); |
3957 | -} |
3958 | - |
3959 | -void DlgBpmTap::slotUpdateMaxBpm(int i) |
3960 | -{ |
3961 | - //m_CurrentTrack->setMaxBpm((float)i); |
3962 | -} |
3963 | - |
3964 | -void DlgBpmTap::slotBpmChanged(const QString & bpm) |
3965 | -{ |
3966 | - m_CurrentTrack->setBpm(bpm.toFloat()); |
3967 | -} |
3968 | - |
3969 | -void DlgBpmTap::slotTitleChanged(const QString & title) |
3970 | -{ |
3971 | - m_CurrentTrack->setTitle(title); |
3972 | -} |
3973 | - |
3974 | -void DlgBpmTap::slotArtistChanged(const QString & artist) |
3975 | -{ |
3976 | - m_CurrentTrack->setArtist(artist); |
3977 | -} |
3978 | - |
3979 | -void DlgBpmTap::slotCommentChanged() |
3980 | -{ |
3981 | - m_CurrentTrack->setComment(txtComment->toPlainText()); |
3982 | -} |
3983 | - |
3984 | -void DlgBpmTap::slotBpmSchemeChanged(int ndx) |
3985 | -{ |
3986 | - if(ndx < m_BpmSchemes.size() && ndx > -1) |
3987 | - { |
3988 | - BpmScheme* scheme = m_BpmSchemes.at(ndx); |
3989 | - chkAnalyzeEntireSong->setChecked(scheme->getAnalyzeEntireSong()); |
3990 | - spinBoxBPMRangeStart->setValue(scheme->getMinBpm()); |
3991 | - spinBoxBPMRangeEnd->setValue(scheme->getMaxBpm()); |
3992 | - } |
3993 | -} |
3994 | - |
3995 | -void DlgBpmTap::slotUpdate() |
3996 | -{ |
3997 | -} |
3998 | - |
3999 | -void DlgBpmTap::slotApply() |
4000 | -{ |
4001 | -// m_pMixxx->grabKeyboard(); |
4002 | -} |
4003 | - |
4004 | -void DlgBpmTap::setProgress(TrackInfoObject * tio, int progress) |
4005 | -{ |
4006 | -// txtBPM->setText(QString("%1").arg(progress)); |
4007 | -} |
4008 | - |
4009 | -void DlgBpmTap::setComplete(TrackInfoObject * tio, bool failed, float returnBpm) |
4010 | -{ |
4011 | - progressBPMDetect->setMaximum(100); |
4012 | - progressBPMDetect->setValue(0); |
4013 | - //progressBPMDetect->reset(); |
4014 | - btnTap->setText("&Push to tap tempo"); |
4015 | - //btnTap->setEnabled(true); |
4016 | - txtBPM->setText(QString("%1").arg(returnBpm, 3,'f',1)); |
4017 | - this->update(); |
4018 | -} |
4019 | - |
4020 | -void DlgBpmTap::slotComplete(TrackInfoObject *tio) { |
4021 | - qDebug() << "DlgBpmTap got complete signal"; |
4022 | - if(tio != m_CurrentTrack) |
4023 | - return; |
4024 | - |
4025 | - m_pAnalyserQueue->stop(); |
4026 | - float bpm = tio->getBpm(); |
4027 | - |
4028 | - progressBPMDetect->setMaximum(100); |
4029 | - progressBPMDetect->setValue(0); |
4030 | - //progressBPMDetect->reset(); |
4031 | - btnTap->setText("&Push to tap tempo"); |
4032 | - //btnTap->setEnabled(true); |
4033 | - txtBPM->setText(QString("%1").arg(bpm, 3,'f',1)); |
4034 | - this->update(); |
4035 | - |
4036 | -} |
4037 | - |
4038 | -void DlgBpmTap::loadBpmSchemes() |
4039 | -{ |
4040 | - // Verify path for xml track file. |
4041 | - QString schemeFileName = config->getValueString(ConfigKey("[BPM]","SchemeFile")); |
4042 | - if (schemeFileName.trimmed().isEmpty() || !QFile(schemeFileName).exists()) { |
4043 | - schemeFileName = QDir::homePath().append("/").append(SETTINGS_PATH).append(BPMSCHEME_FILE); |
4044 | - qDebug() << "BPM Scheme File ConfigKey not set or file missing... setting to"<< schemeFileName; |
4045 | - config->set(ConfigKey("[BPM]","SchemeFile"), schemeFileName); |
4046 | - config->Save(); |
4047 | - } |
4048 | - QFile scheme(schemeFileName); |
4049 | - if (scheme.exists()) |
4050 | - { |
4051 | - QString location(config->getValueString(ConfigKey("[BPM]","SchemeFile"))); |
4052 | - qDebug() << "BpmSchemes::readXML" << location; |
4053 | - |
4054 | - // Open XML file |
4055 | - QFile file(location); |
4056 | - QDomDocument domXML("Mixxx_BPM_Scheme_List"); |
4057 | - |
4058 | - // Check if we can open the file |
4059 | - if (!file.exists()) |
4060 | - { |
4061 | - qDebug() << "BPM Scheme:" << location << "does not exist."; |
4062 | - file.close(); |
4063 | - return; |
4064 | - } |
4065 | - |
4066 | - // Check if there is a parsing problem |
4067 | - QString error_msg; |
4068 | - int error_line; |
4069 | - int error_column; |
4070 | - if (!domXML.setContent(&file, &error_msg, &error_line, &error_column)) |
4071 | - { |
4072 | - qDebug() << "BPM Scheme Parse error in" << location; |
4073 | - qDebug() << "Doctype:" << domXML.doctype().name(); |
4074 | - qDebug() << error_msg << "on line" << error_line << ", column" << error_column; |
4075 | - file.close(); |
4076 | - return; |
4077 | - } |
4078 | - |
4079 | - file.close(); |
4080 | - |
4081 | - // Get the root element |
4082 | - QDomElement elementRoot = domXML.documentElement(); |
4083 | - |
4084 | - // Get version |
4085 | - //int version = XmlParse::selectNodeInt(elementRoot, "Version"); |
4086 | - |
4087 | - // Get all the BPM schemes written in the xml file: |
4088 | - QDomNode node = XmlParse::selectNode(elementRoot, "Schemes").firstChild(); |
4089 | - BpmScheme* bpmScheme; //Current BPM Scheme |
4090 | - while (!node.isNull()) |
4091 | - { |
4092 | - if (node.isElement() && node.nodeName()=="Scheme") |
4093 | - { |
4094 | - bpmScheme = new BpmScheme(); |
4095 | - //Create the playlists internally. |
4096 | - //If the playlist is "Library" or "Play Queue", insert it into |
4097 | - //a special spot in the list of playlists. |
4098 | - bpmScheme->setName(XmlParse::selectNodeQString(node, "Name")); |
4099 | - bpmScheme->setMinBpm(XmlParse::selectNodeQString(node, "MinBpm").toInt()); |
4100 | - bpmScheme->setMaxBpm(XmlParse::selectNodeQString(node, "MaxBpm").toInt()); |
4101 | - bpmScheme->setAnalyzeEntireSong((bool)XmlParse::selectNodeQString(node, |
4102 | - "AnalyzeEntireSong").toInt()); |
4103 | - bpmScheme->setComment(XmlParse::selectNodeQString(node, "Comment")); |
4104 | - |
4105 | - m_BpmSchemes.push_back(bpmScheme); |
4106 | - } |
4107 | - |
4108 | - node = node.nextSibling(); |
4109 | - } |
4110 | - } |
4111 | - |
4112 | - if(m_BpmSchemes.size() == 0) |
4113 | - { |
4114 | - BpmScheme *scheme = new BpmScheme("Default", 70, 140, false); |
4115 | - m_BpmSchemes.push_back(scheme); |
4116 | - config->set(ConfigKey("[BPM]","DefaultScheme"), QString("Default")); |
4117 | - config->set(ConfigKey("[BPM]","BPMRangeEnd"),ConfigValue(scheme->getMaxBpm())); |
4118 | - config->set(ConfigKey("[BPM]","BPMRangeStart"),ConfigValue(scheme->getMinBpm())); |
4119 | - config->set(ConfigKey("[BPM]","AnalyzeEntireSong"),ConfigValue(scheme->getAnalyzeEntireSong())); |
4120 | - |
4121 | - } |
4122 | -} |
4123 | - |
4124 | -void DlgBpmTap::populateBpmSchemeList() |
4125 | -{ |
4126 | - QString defaultscheme = config->getValueString(ConfigKey("[BPM]","DefaultScheme")); |
4127 | - m_DefaultScheme = 0; |
4128 | - |
4129 | - for(int i=0; i < m_BpmSchemes.size(); ++i) |
4130 | - { |
4131 | - cboSchemes->addItem(m_BpmSchemes.at(i)->getName()); |
4132 | - |
4133 | - if(m_BpmSchemes.at(i)->getName() == defaultscheme) |
4134 | - { |
4135 | - m_DefaultScheme = i; |
4136 | - } |
4137 | - } |
4138 | - |
4139 | - cboSchemes->setCurrentIndex(m_DefaultScheme); |
4140 | -} |
4141 | - |
4142 | |
4143 | === removed file 'mixxx/src/dlgbpmtap.h' |
4144 | --- mixxx/src/dlgbpmtap.h 2009-02-02 05:47:04 +0000 |
4145 | +++ mixxx/src/dlgbpmtap.h 1970-01-01 00:00:00 +0000 |
4146 | @@ -1,97 +0,0 @@ |
4147 | -/*************************************************************************** |
4148 | - dlgbpmtap.h - description |
4149 | - ------------------- |
4150 | - begin : Wed Jul 11 2007 |
4151 | - copyright : (C) 2007 by Micah Lee |
4152 | - email : mtl@clemson.edu |
4153 | - ***************************************************************************/ |
4154 | - |
4155 | -/*************************************************************************** |
4156 | - * * |
4157 | - * This program is free software; you can redistribute it and/or modify * |
4158 | - * it under the terms of the GNU General Public License as published by * |
4159 | - * the Free Software Foundation; either version 2 of the License, or * |
4160 | - * (at your option) any later version. * |
4161 | - * * |
4162 | - ***************************************************************************/ |
4163 | - |
4164 | -#ifndef DLGBPMTAP_H |
4165 | -#define DLGBPMTAP_H |
4166 | - |
4167 | -#include "ui_dlgbpmtapdlg.h" |
4168 | -#include <QEvent> |
4169 | -#include <QtGui> |
4170 | -#include <qlist.h> |
4171 | - |
4172 | -#include "configobject.h" |
4173 | -#include "track.h" |
4174 | -#include "bpm/bpmreceiver.h" |
4175 | - |
4176 | -class MixxxApp; |
4177 | -class TrackInfoObject; |
4178 | -class BpmScheme; |
4179 | -class AnalyserQueue; |
4180 | - |
4181 | -/** |
4182 | - *@author Micah Lee |
4183 | - */ |
4184 | -class DlgBpmTap : public QDialog, public Ui::DlgBpmTapDlg, public BpmReceiver |
4185 | -{ |
4186 | - Q_OBJECT |
4187 | -public: |
4188 | - DlgBpmTap(QWidget *, TrackInfoObject *tio, TrackPlaylist *playlist, ConfigObject<ConfigValue> *_config); |
4189 | - ~DlgBpmTap(); |
4190 | - |
4191 | -public slots: |
4192 | - void slotTapBPM(); |
4193 | - void slotDetectBPM(); |
4194 | - void slotLoadDialog(); |
4195 | - void slotOK(); |
4196 | - void slotNext(); |
4197 | - void slotPrev(); |
4198 | - void slotUpdate(); |
4199 | - void slotApply(); |
4200 | - void slotUpdateMinBpm(int i); |
4201 | - void slotUpdateMaxBpm(int i); |
4202 | - void slotBpmChanged(const QString & bpm); |
4203 | - void slotTitleChanged(const QString & title); |
4204 | - void slotArtistChanged(const QString & artist); |
4205 | - void slotCommentChanged(); |
4206 | - void slotBpmSchemeChanged(int ndx); |
4207 | - void slotComplete(TrackInfoObject *tio); |
4208 | - |
4209 | -signals: |
4210 | - void closeDlg(); |
4211 | - void aboutToShow(); |
4212 | - |
4213 | -public: |
4214 | - // Inherited methods from BpmReceiver. |
4215 | - void setProgress(TrackInfoObject *tio, int progress); |
4216 | - void setComplete(TrackInfoObject *tio, bool failed, float returnBpm); |
4217 | - |
4218 | -protected: |
4219 | - bool eventFilter(QObject *, QEvent *); |
4220 | - void loadTrackInfo(); |
4221 | - |
4222 | - // Private methods for loading and saving the BPM schemes |
4223 | - // to and from the file system. |
4224 | - void loadBpmSchemes(); |
4225 | - |
4226 | - // Method for filling in the list of BPM schemes on the dialog |
4227 | - void populateBpmSchemeList(); |
4228 | - |
4229 | -private: |
4230 | - MixxxApp *m_pMixxx; |
4231 | - AnalyserQueue *m_pAnalyserQueue; |
4232 | - TrackInfoObject *m_CurrentTrack; |
4233 | - TrackPlaylist *m_TrackPlaylist; |
4234 | - QTime *m_Time; |
4235 | - int m_TapCount; |
4236 | - QList<BpmScheme*> m_BpmSchemes; |
4237 | - int m_DefaultScheme; |
4238 | - |
4239 | - /** Pointer to config object */ |
4240 | - ConfigObject<ConfigValue> *config; |
4241 | -}; |
4242 | - |
4243 | -#endif |
4244 | |
4245 | === modified file 'mixxx/src/dlgprefcontrols.cpp' |
4246 | --- mixxx/src/dlgprefcontrols.cpp 2009-09-22 03:59:58 +0000 |
4247 | +++ mixxx/src/dlgprefcontrols.cpp 2010-01-05 04:00:31 +0000 |
4248 | @@ -28,7 +28,6 @@ |
4249 | #include "controlobjectthreadmain.h" |
4250 | #include "mixxxview.h" |
4251 | #include "widget/wnumberpos.h" |
4252 | -#include "widget/wnumberbpm.h" |
4253 | #include "engine/enginebuffer.h" |
4254 | #include "engine/ratecontrol.h" |
4255 | |
4256 | @@ -229,20 +228,7 @@ |
4257 | slotUpdateSchemes(); |
4258 | |
4259 | connect(ComboBoxSchemeconf, SIGNAL(activated(int)), this, SLOT(slotSetScheme(int))); |
4260 | - // |
4261 | - // Scale BPM configuration |
4262 | - // |
4263 | - // Set default value in config file, if not present |
4264 | - if (m_pConfig->getValueString(ConfigKey("[Controls]","ScaleBpm")).length() == 0) |
4265 | - m_pConfig->set(ConfigKey("[Controls]","ScaleBpm"), ConfigValue(1)); |
4266 | - |
4267 | - // Update combo box |
4268 | - ComboBoxScaleBpm->setCurrentIndex((m_pConfig->getValueString(ConfigKey("[Controls]","ScaleBpm")).toInt()+1)%2); |
4269 | - |
4270 | - connect(ComboBoxScaleBpm, SIGNAL(activated(int)), this, SLOT(slotSetScaleBpm(int))); |
4271 | - slotSetScaleBpm(0); |
4272 | - |
4273 | - |
4274 | + |
4275 | // |
4276 | // Tooltip configuration |
4277 | // |
4278 | @@ -380,15 +366,6 @@ |
4279 | m_pConfig->set(ConfigKey("[Controls]","CueRecall"), ConfigValue(ComboBoxCueRecall->currentIndex())); |
4280 | } |
4281 | |
4282 | -void DlgPrefControls::slotSetScaleBpm(int) |
4283 | -{ |
4284 | - m_pConfig->set(ConfigKey("[Controls]","ScaleBpm"), ConfigValue((ComboBoxScaleBpm->currentIndex()+1)%2)); |
4285 | - if (ComboBoxScaleBpm->currentIndex()==0) |
4286 | - WNumberBpm::setScaleBpm(true); |
4287 | - else |
4288 | - WNumberBpm::setScaleBpm(false); |
4289 | -} |
4290 | - |
4291 | void DlgPrefControls::slotSetTooltips(int) |
4292 | { |
4293 | // setGloballyEnabled currently not implemented in QT4 |
4294 | |
4295 | === modified file 'mixxx/src/dlgprefcontrols.h' |
4296 | --- mixxx/src/dlgprefcontrols.h 2009-09-22 03:59:58 +0000 |
4297 | +++ mixxx/src/dlgprefcontrols.h 2010-01-05 04:00:31 +0000 |
4298 | @@ -45,7 +45,6 @@ |
4299 | void slotSetRatePermLeft(double); |
4300 | void slotSetRatePermRight(double); |
4301 | void slotSetVisuals(int pos); |
4302 | - void slotSetScaleBpm(int pos); |
4303 | void slotSetTooltips(int pos); |
4304 | void slotSetSkin(int); |
4305 | void slotSetScheme(int); |
4306 | |
4307 | === modified file 'mixxx/src/dlgprefcontrolsdlg.ui' |
4308 | --- mixxx/src/dlgprefcontrolsdlg.ui 2009-09-22 03:59:58 +0000 |
4309 | +++ mixxx/src/dlgprefcontrolsdlg.ui 2010-01-05 04:00:31 +0000 |
4310 | @@ -6,235 +6,14 @@ |
4311 | <rect> |
4312 | <x>0</x> |
4313 | <y>0</y> |
4314 | - <width>590</width> |
4315 | - <height>534</height> |
4316 | + <width>596</width> |
4317 | + <height>530</height> |
4318 | </rect> |
4319 | </property> |
4320 | <property name="windowTitle"> |
4321 | <string>Form1</string> |
4322 | </property> |
4323 | <layout class="QGridLayout"> |
4324 | - <item row="1" column="0"> |
4325 | - <layout class="QGridLayout"> |
4326 | - <item row="0" column="0"> |
4327 | - <widget class="QLabel" name="textLabel"> |
4328 | - <property name="maximumSize"> |
4329 | - <size> |
4330 | - <width>16777215</width> |
4331 | - <height>20</height> |
4332 | - </size> |
4333 | - </property> |
4334 | - <property name="text"> |
4335 | - <string/> |
4336 | - </property> |
4337 | - <property name="wordWrap"> |
4338 | - <bool>true</bool> |
4339 | - </property> |
4340 | - </widget> |
4341 | - </item> |
4342 | - </layout> |
4343 | - </item> |
4344 | - <item row="3" column="0"> |
4345 | - <layout class="QGridLayout"> |
4346 | - <item row="0" column="0" colspan="2"> |
4347 | - <widget class="QLabel" name="TextLabel6_2_3"> |
4348 | - <property name="enabled"> |
4349 | - <bool>true</bool> |
4350 | - </property> |
4351 | - <property name="font"> |
4352 | - <font/> |
4353 | - </property> |
4354 | - <property name="text"> |
4355 | - <string>Temporary pitch/rate buttons</string> |
4356 | - </property> |
4357 | - <property name="wordWrap"> |
4358 | - <bool>false</bool> |
4359 | - </property> |
4360 | - </widget> |
4361 | - </item> |
4362 | - <item row="0" column="3" colspan="2"> |
4363 | - <widget class="QLabel" name="TextLabel6_2_3_3"> |
4364 | - <property name="enabled"> |
4365 | - <bool>true</bool> |
4366 | - </property> |
4367 | - <property name="font"> |
4368 | - <font/> |
4369 | - </property> |
4370 | - <property name="text"> |
4371 | - <string>Permanent pitch/rate buttons</string> |
4372 | - </property> |
4373 | - <property name="wordWrap"> |
4374 | - <bool>false</bool> |
4375 | - </property> |
4376 | - </widget> |
4377 | - </item> |
4378 | - <item row="1" column="0"> |
4379 | - <widget class="QLabel" name="TextLabel6_2_3_2"> |
4380 | - <property name="enabled"> |
4381 | - <bool>true</bool> |
4382 | - </property> |
4383 | - <property name="font"> |
4384 | - <font/> |
4385 | - </property> |
4386 | - <property name="text"> |
4387 | - <string>Left click</string> |
4388 | - </property> |
4389 | - <property name="wordWrap"> |
4390 | - <bool>false</bool> |
4391 | - </property> |
4392 | - </widget> |
4393 | - </item> |
4394 | - <item row="1" column="1"> |
4395 | - <widget class="QDoubleSpinBox" name="spinBoxTempRateLeft"> |
4396 | - <property name="toolTip"> |
4397 | - <string>Temporary rate change (between 1 and 8000) when left clicking</string> |
4398 | - </property> |
4399 | - <property name="accelerated"> |
4400 | - <bool>true</bool> |
4401 | - </property> |
4402 | - <property name="decimals"> |
4403 | - <number>1</number> |
4404 | - </property> |
4405 | - <property name="minimum"> |
4406 | - <double>0.100000000000000</double> |
4407 | - </property> |
4408 | - <property name="maximum"> |
4409 | - <double>10.000000000000000</double> |
4410 | - </property> |
4411 | - <property name="singleStep"> |
4412 | - <double>0.100000000000000</double> |
4413 | - </property> |
4414 | - </widget> |
4415 | - </item> |
4416 | - <item row="1" column="3"> |
4417 | - <widget class="QLabel" name="TextLabel6_2_3_2_3"> |
4418 | - <property name="enabled"> |
4419 | - <bool>true</bool> |
4420 | - </property> |
4421 | - <property name="font"> |
4422 | - <font/> |
4423 | - </property> |
4424 | - <property name="text"> |
4425 | - <string>Left click</string> |
4426 | - </property> |
4427 | - <property name="wordWrap"> |
4428 | - <bool>false</bool> |
4429 | - </property> |
4430 | - </widget> |
4431 | - </item> |
4432 | - <item row="1" column="4"> |
4433 | - <widget class="QDoubleSpinBox" name="spinBoxPermRateLeft"> |
4434 | - <property name="toolTip"> |
4435 | - <string>Permanent rate change (between 1 and 8000) when left clicking</string> |
4436 | - </property> |
4437 | - <property name="accelerated"> |
4438 | - <bool>true</bool> |
4439 | - </property> |
4440 | - <property name="decimals"> |
4441 | - <number>1</number> |
4442 | - </property> |
4443 | - <property name="minimum"> |
4444 | - <double>0.100000000000000</double> |
4445 | - </property> |
4446 | - <property name="maximum"> |
4447 | - <double>10.000000000000000</double> |
4448 | - </property> |
4449 | - <property name="singleStep"> |
4450 | - <double>0.100000000000000</double> |
4451 | - </property> |
4452 | - </widget> |
4453 | - </item> |
4454 | - <item row="2" column="0"> |
4455 | - <widget class="QLabel" name="TextLabel6_2_3_2_2"> |
4456 | - <property name="enabled"> |
4457 | - <bool>true</bool> |
4458 | - </property> |
4459 | - <property name="font"> |
4460 | - <font/> |
4461 | - </property> |
4462 | - <property name="text"> |
4463 | - <string>Right click</string> |
4464 | - </property> |
4465 | - <property name="wordWrap"> |
4466 | - <bool>false</bool> |
4467 | - </property> |
4468 | - </widget> |
4469 | - </item> |
4470 | - <item row="2" column="1"> |
4471 | - <widget class="QDoubleSpinBox" name="spinBoxTempRateRight"> |
4472 | - <property name="toolTip"> |
4473 | - <string>Temporary rate change (between 1 and 8000) when right clicking</string> |
4474 | - </property> |
4475 | - <property name="accelerated"> |
4476 | - <bool>true</bool> |
4477 | - </property> |
4478 | - <property name="decimals"> |
4479 | - <number>1</number> |
4480 | - </property> |
4481 | - <property name="minimum"> |
4482 | - <double>0.100000000000000</double> |
4483 | - </property> |
4484 | - <property name="maximum"> |
4485 | - <double>10.000000000000000</double> |
4486 | - </property> |
4487 | - <property name="singleStep"> |
4488 | - <double>0.100000000000000</double> |
4489 | - </property> |
4490 | - </widget> |
4491 | - </item> |
4492 | - <item row="2" column="3"> |
4493 | - <widget class="QLabel" name="TextLabel6_2_3_2_2_2"> |
4494 | - <property name="enabled"> |
4495 | - <bool>true</bool> |
4496 | - </property> |
4497 | - <property name="font"> |
4498 | - <font/> |
4499 | - </property> |
4500 | - <property name="text"> |
4501 | - <string>Right click</string> |
4502 | - </property> |
4503 | - <property name="wordWrap"> |
4504 | - <bool>false</bool> |
4505 | - </property> |
4506 | - </widget> |
4507 | - </item> |
4508 | - <item row="2" column="4"> |
4509 | - <widget class="QDoubleSpinBox" name="spinBoxPermRateRight"> |
4510 | - <property name="toolTip"> |
4511 | - <string>Permanent rate change (between 1 and 8000) when right clicking</string> |
4512 | - </property> |
4513 | - <property name="accelerated"> |
4514 | - <bool>true</bool> |
4515 | - </property> |
4516 | - <property name="decimals"> |
4517 | - <number>1</number> |
4518 | - </property> |
4519 | - <property name="minimum"> |
4520 | - <double>0.100000000000000</double> |
4521 | - </property> |
4522 | - <property name="maximum"> |
4523 | - <double>10.000000000000000</double> |
4524 | - </property> |
4525 | - <property name="singleStep"> |
4526 | - <double>0.100000000000000</double> |
4527 | - </property> |
4528 | - </widget> |
4529 | - </item> |
4530 | - <item row="3" column="0"> |
4531 | - <spacer> |
4532 | - <property name="orientation"> |
4533 | - <enum>Qt::Vertical</enum> |
4534 | - </property> |
4535 | - <property name="sizeHint" stdset="0"> |
4536 | - <size> |
4537 | - <width>20</width> |
4538 | - <height>40</height> |
4539 | - </size> |
4540 | - </property> |
4541 | - </spacer> |
4542 | - </item> |
4543 | - </layout> |
4544 | - </item> |
4545 | <item row="0" column="0"> |
4546 | <layout class="QGridLayout"> |
4547 | <item row="0" column="0"> |
4548 | @@ -353,48 +132,6 @@ |
4549 | </property> |
4550 | </widget> |
4551 | </item> |
4552 | - <item row="4" column="0"> |
4553 | - <widget class="QLabel" name="TextLabel6_2_2_3_3"> |
4554 | - <property name="enabled"> |
4555 | - <bool>true</bool> |
4556 | - </property> |
4557 | - <property name="font"> |
4558 | - <font/> |
4559 | - </property> |
4560 | - <property name="text"> |
4561 | - <string>Scale BPM display</string> |
4562 | - </property> |
4563 | - <property name="wordWrap"> |
4564 | - <bool>false</bool> |
4565 | - </property> |
4566 | - </widget> |
4567 | - </item> |
4568 | - <item row="4" column="1" colspan="2"> |
4569 | - <widget class="QComboBox" name="ComboBoxScaleBpm"> |
4570 | - <property name="sizePolicy"> |
4571 | - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> |
4572 | - <horstretch>0</horstretch> |
4573 | - <verstretch>0</verstretch> |
4574 | - </sizepolicy> |
4575 | - </property> |
4576 | - <property name="font"> |
4577 | - <font/> |
4578 | - </property> |
4579 | - <property name="toolTip"> |
4580 | - <string>Scale BPM display according to playback rate</string> |
4581 | - </property> |
4582 | - <item> |
4583 | - <property name="text"> |
4584 | - <string>Yes</string> |
4585 | - </property> |
4586 | - </item> |
4587 | - <item> |
4588 | - <property name="text"> |
4589 | - <string>No</string> |
4590 | - </property> |
4591 | - </item> |
4592 | - </widget> |
4593 | - </item> |
4594 | <item row="5" column="0"> |
4595 | <widget class="QLabel" name="TextLabel6_2_2_3_2"> |
4596 | <property name="enabled"> |
4597 | @@ -509,6 +246,114 @@ |
4598 | </property> |
4599 | </widget> |
4600 | </item> |
4601 | + <item row="9" column="1" colspan="2"> |
4602 | + <widget class="QComboBox" name="ComboBoxCueRecall"/> |
4603 | + </item> |
4604 | + </layout> |
4605 | + </item> |
4606 | + <item row="2" column="0"> |
4607 | + <layout class="QGridLayout"> |
4608 | + <item row="1" column="1"> |
4609 | + <widget class="QDoubleSpinBox" name="spinBoxTempRateLeft"> |
4610 | + <property name="toolTip"> |
4611 | + <string>Temporary rate change (between 1 and 8000) when left clicking</string> |
4612 | + </property> |
4613 | + <property name="accelerated"> |
4614 | + <bool>true</bool> |
4615 | + </property> |
4616 | + <property name="decimals"> |
4617 | + <number>1</number> |
4618 | + </property> |
4619 | + <property name="minimum"> |
4620 | + <double>0.100000000000000</double> |
4621 | + </property> |
4622 | + <property name="maximum"> |
4623 | + <double>10.000000000000000</double> |
4624 | + </property> |
4625 | + <property name="singleStep"> |
4626 | + <double>0.100000000000000</double> |
4627 | + </property> |
4628 | + </widget> |
4629 | + </item> |
4630 | + <item row="1" column="4"> |
4631 | + <widget class="QDoubleSpinBox" name="spinBoxPermRateLeft"> |
4632 | + <property name="toolTip"> |
4633 | + <string>Permanent rate change (between 1 and 8000) when left clicking</string> |
4634 | + </property> |
4635 | + <property name="accelerated"> |
4636 | + <bool>true</bool> |
4637 | + </property> |
4638 | + <property name="decimals"> |
4639 | + <number>1</number> |
4640 | + </property> |
4641 | + <property name="minimum"> |
4642 | + <double>0.100000000000000</double> |
4643 | + </property> |
4644 | + <property name="maximum"> |
4645 | + <double>10.000000000000000</double> |
4646 | + </property> |
4647 | + <property name="singleStep"> |
4648 | + <double>0.100000000000000</double> |
4649 | + </property> |
4650 | + </widget> |
4651 | + </item> |
4652 | + <item row="2" column="1"> |
4653 | + <widget class="QDoubleSpinBox" name="spinBoxTempRateRight"> |
4654 | + <property name="toolTip"> |
4655 | + <string>Temporary rate change (between 1 and 8000) when right clicking</string> |
4656 | + </property> |
4657 | + <property name="accelerated"> |
4658 | + <bool>true</bool> |
4659 | + </property> |
4660 | + <property name="decimals"> |
4661 | + <number>1</number> |
4662 | + </property> |
4663 | + <property name="minimum"> |
4664 | + <double>0.100000000000000</double> |
4665 | + </property> |
4666 | + <property name="maximum"> |
4667 | + <double>10.000000000000000</double> |
4668 | + </property> |
4669 | + <property name="singleStep"> |
4670 | + <double>0.100000000000000</double> |
4671 | + </property> |
4672 | + </widget> |
4673 | + </item> |
4674 | + <item row="2" column="4"> |
4675 | + <widget class="QDoubleSpinBox" name="spinBoxPermRateRight"> |
4676 | + <property name="toolTip"> |
4677 | + <string>Permanent rate change (between 1 and 8000) when right clicking</string> |
4678 | + </property> |
4679 | + <property name="accelerated"> |
4680 | + <bool>true</bool> |
4681 | + </property> |
4682 | + <property name="decimals"> |
4683 | + <number>1</number> |
4684 | + </property> |
4685 | + <property name="minimum"> |
4686 | + <double>0.100000000000000</double> |
4687 | + </property> |
4688 | + <property name="maximum"> |
4689 | + <double>10.000000000000000</double> |
4690 | + </property> |
4691 | + <property name="singleStep"> |
4692 | + <double>0.100000000000000</double> |
4693 | + </property> |
4694 | + </widget> |
4695 | + </item> |
4696 | + <item row="3" column="0"> |
4697 | + <spacer> |
4698 | + <property name="orientation"> |
4699 | + <enum>Qt::Vertical</enum> |
4700 | + </property> |
4701 | + <property name="sizeHint" stdset="0"> |
4702 | + <size> |
4703 | + <width>20</width> |
4704 | + <height>40</height> |
4705 | + </size> |
4706 | + </property> |
4707 | + </spacer> |
4708 | + </item> |
4709 | <item row="12" column="0"> |
4710 | <widget class="QLabel" name="label_2"> |
4711 | <property name="text"> |
4712 | @@ -516,9 +361,6 @@ |
4713 | </property> |
4714 | </widget> |
4715 | </item> |
4716 | - <item row="9" column="1" colspan="2"> |
4717 | - <widget class="QComboBox" name="ComboBoxCueRecall"/> |
4718 | - </item> |
4719 | <item row="12" column="1"> |
4720 | <widget class="QSlider" name="SliderRateRampSensitivity"> |
4721 | <property name="enabled"> |
4722 | @@ -574,6 +416,102 @@ |
4723 | </property> |
4724 | </widget> |
4725 | </item> |
4726 | + <item row="2" column="3"> |
4727 | + <widget class="QLabel" name="TextLabel6_2_3_2_2_2"> |
4728 | + <property name="enabled"> |
4729 | + <bool>true</bool> |
4730 | + </property> |
4731 | + <property name="font"> |
4732 | + <font/> |
4733 | + </property> |
4734 | + <property name="text"> |
4735 | + <string>Right click</string> |
4736 | + </property> |
4737 | + <property name="wordWrap"> |
4738 | + <bool>false</bool> |
4739 | + </property> |
4740 | + </widget> |
4741 | + </item> |
4742 | + <item row="1" column="3"> |
4743 | + <widget class="QLabel" name="TextLabel6_2_3_2_3"> |
4744 | + <property name="enabled"> |
4745 | + <bool>true</bool> |
4746 | + </property> |
4747 | + <property name="font"> |
4748 | + <font/> |
4749 | + </property> |
4750 | + <property name="text"> |
4751 | + <string>Left click</string> |
4752 | + </property> |
4753 | + <property name="wordWrap"> |
4754 | + <bool>false</bool> |
4755 | + </property> |
4756 | + </widget> |
4757 | + </item> |
4758 | + <item row="0" column="3" colspan="2"> |
4759 | + <widget class="QLabel" name="TextLabel6_2_3_3"> |
4760 | + <property name="enabled"> |
4761 | + <bool>true</bool> |
4762 | + </property> |
4763 | + <property name="font"> |
4764 | + <font/> |
4765 | + </property> |
4766 | + <property name="text"> |
4767 | + <string>Permanent pitch/rate buttons</string> |
4768 | + </property> |
4769 | + <property name="wordWrap"> |
4770 | + <bool>false</bool> |
4771 | + </property> |
4772 | + </widget> |
4773 | + </item> |
4774 | + <item row="2" column="0"> |
4775 | + <widget class="QLabel" name="TextLabel6_2_3_2_2"> |
4776 | + <property name="enabled"> |
4777 | + <bool>true</bool> |
4778 | + </property> |
4779 | + <property name="font"> |
4780 | + <font/> |
4781 | + </property> |
4782 | + <property name="text"> |
4783 | + <string>Right click</string> |
4784 | + </property> |
4785 | + <property name="wordWrap"> |
4786 | + <bool>false</bool> |
4787 | + </property> |
4788 | + </widget> |
4789 | + </item> |
4790 | + <item row="1" column="0"> |
4791 | + <widget class="QLabel" name="TextLabel6_2_3_2"> |
4792 | + <property name="enabled"> |
4793 | + <bool>true</bool> |
4794 | + </property> |
4795 | + <property name="font"> |
4796 | + <font/> |
4797 | + </property> |
4798 | + <property name="text"> |
4799 | + <string>Left click</string> |
4800 | + </property> |
4801 | + <property name="wordWrap"> |
4802 | + <bool>false</bool> |
4803 | + </property> |
4804 | + </widget> |
4805 | + </item> |
4806 | + <item row="0" column="0" colspan="2"> |
4807 | + <widget class="QLabel" name="TextLabel6_2_3"> |
4808 | + <property name="enabled"> |
4809 | + <bool>true</bool> |
4810 | + </property> |
4811 | + <property name="font"> |
4812 | + <font/> |
4813 | + </property> |
4814 | + <property name="text"> |
4815 | + <string>Temporary pitch/rate buttons</string> |
4816 | + </property> |
4817 | + <property name="wordWrap"> |
4818 | + <bool>false</bool> |
4819 | + </property> |
4820 | + </widget> |
4821 | + </item> |
4822 | </layout> |
4823 | </item> |
4824 | </layout> |
4825 | |
4826 | === modified file 'mixxx/src/dlgpreferences.cpp' |
4827 | --- mixxx/src/dlgpreferences.cpp 2009-11-07 04:40:46 +0000 |
4828 | +++ mixxx/src/dlgpreferences.cpp 2010-01-05 04:00:31 +0000 |
4829 | @@ -35,7 +35,6 @@ |
4830 | #include "dlgprefcrossfader.h" |
4831 | #include "dlgprefrecord.h" |
4832 | #include "mixxx.h" |
4833 | -#include "track.h" |
4834 | #include "midi/mididevicemanager.h" |
4835 | #include "midi/mididevice.h" |
4836 | #include <QTabWidget> |
4837 | @@ -46,7 +45,7 @@ |
4838 | #include <QEvent> |
4839 | |
4840 | DlgPreferences::DlgPreferences(MixxxApp * mixxx, MixxxView * view, |
4841 | - SoundManager * soundman, Track *track, |
4842 | + SoundManager * soundman, |
4843 | MidiDeviceManager * midi, ConfigObject<ConfigValue> * _config) : QDialog(), Ui::DlgPreferencesDlg() |
4844 | { |
4845 | m_pMixxx = mixxx; |
4846 | @@ -59,7 +58,6 @@ |
4847 | |
4848 | setWindowTitle(tr("Preferences")); |
4849 | config = _config; |
4850 | - m_pTrack = track; |
4851 | |
4852 | createIcons(); |
4853 | //contentsTreeWidget->setCurrentRow(0); |
4854 | @@ -147,10 +145,11 @@ |
4855 | #endif |
4856 | |
4857 | //Update the library when you change the options |
4858 | - if (m_pTrack && wplaylist) |
4859 | + /*if (m_pTrack && wplaylist) |
4860 | { |
4861 | connect(wplaylist, SIGNAL(apply()), m_pTrack, SLOT(slotScanLibrary())); |
4862 | - } |
4863 | + }*/ |
4864 | + //FIXME: Disabled due to library reworking |
4865 | } |
4866 | |
4867 | DlgPreferences::~DlgPreferences() |
4868 | @@ -159,7 +158,7 @@ |
4869 | } |
4870 | |
4871 | void DlgPreferences::createIcons() |
4872 | -{ |
4873 | +{ |
4874 | m_pSoundButton = new QTreeWidgetItem(contentsTreeWidget, QTreeWidgetItem::Type); |
4875 | m_pSoundButton->setIcon(0, QIcon(":/images/preferences/soundhardware.png")); |
4876 | m_pSoundButton->setText(0, tr("Sound Hardware")); |
4877 | @@ -280,7 +279,7 @@ |
4878 | //Manually fire this slot since it doesn't work right... |
4879 | wmidiBindingsForDevice.value(index)->slotUpdate(); |
4880 | } |
4881 | - |
4882 | + |
4883 | //If the root "MIDI Device" item is clicked, select the first MIDI device instead. |
4884 | //If there is no first MIDI device, display a page that says so (just so we don't not change the page) |
4885 | else if (current == m_pMIDITreeItem) |
4886 | @@ -289,11 +288,11 @@ |
4887 | { |
4888 | //Expand the MIDI subtree |
4889 | contentsTreeWidget->setItemExpanded(m_pMIDITreeItem, true); |
4890 | - |
4891 | + |
4892 | /* |
4893 | - * FIXME: None of the following works right, for some reason. - Albert Feb 9/09 |
4894 | + * FIXME: None of the following works right, for some reason. - Albert Feb 9/09 |
4895 | */ |
4896 | - |
4897 | + |
4898 | //Select the first MIDI device |
4899 | //contentsTreeWidget->setItemSelected(m_pMIDITreeItem, false); |
4900 | /* |
4901 | @@ -302,14 +301,14 @@ |
4902 | contentsTreeWidget->setItemSelected(item, false); |
4903 | }*/ |
4904 | //contentsTreeWidget->setItemSelected(m_midiBindingsButtons.value(0), true); |
4905 | - |
4906 | + |
4907 | } |
4908 | else |
4909 | { |
4910 | pagesWidget->setCurrentWidget(wNoMidi); |
4911 | } |
4912 | } |
4913 | - |
4914 | + |
4915 | } |
4916 | |
4917 | void DlgPreferences::showVinylControlPage() |
4918 | @@ -354,7 +353,7 @@ |
4919 | //XXX this, and the corresponding code over in onShow(), is pretty bad and messy; it should be wrapped up in a class so that constructors and destructors can handle this setup/teardown |
4920 | |
4921 | m_midiBindingsButtons.clear(); |
4922 | - |
4923 | + |
4924 | while (!wmidiBindingsForDevice.isEmpty()) |
4925 | { |
4926 | DlgPrefMidiBindings* midiDlg = wmidiBindingsForDevice.takeLast(); |
4927 | @@ -362,7 +361,7 @@ |
4928 | delete midiDlg; |
4929 | } |
4930 | |
4931 | - while(m_pMIDITreeItem->childCount() > 0) |
4932 | + while(m_pMIDITreeItem->childCount() > 0) |
4933 | { |
4934 | QTreeWidgetItem* midiBindingsButton = m_pMIDITreeItem->takeChild(0); |
4935 | //qDebug() << " Q|T|r\e\eWidgetItem point is " << midiBindingsButton; |
4936 | @@ -376,7 +375,7 @@ |
4937 | //For each MIDI device, create a MIDI dialog and put a little link to it in the treepane on the left |
4938 | QList<MidiDevice*> deviceList = m_pMidiDeviceManager->getDeviceList(false, true); |
4939 | QListIterator<MidiDevice*> it(deviceList); |
4940 | - |
4941 | + |
4942 | while (it.hasNext()) |
4943 | { |
4944 | MidiDevice* currentDevice = it.next(); |
4945 | @@ -388,7 +387,7 @@ |
4946 | connect(this, SIGNAL(showDlg()), midiDlg, SLOT(slotUpdate())); |
4947 | connect(buttonBox, SIGNAL(accepted()), midiDlg, SLOT(slotApply())); |
4948 | connect(midiDlg, SIGNAL(deviceStateChanged(DlgPrefMidiBindings*,bool)), this, SLOT(slotHighlightDevice(DlgPrefMidiBindings*,bool))); |
4949 | - |
4950 | + |
4951 | QTreeWidgetItem * midiBindingsButton = new QTreeWidgetItem(QTreeWidgetItem::Type); |
4952 | //qDebug() << curDeviceName << " QTreeWidgetItem point is " << midiBindingsButton; |
4953 | midiBindingsButton->setIcon(0, QIcon(":/images/preferences/controllers.png")); |
4954 | @@ -397,7 +396,7 @@ |
4955 | midiBindingsButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); |
4956 | m_pMIDITreeItem->addChild(midiBindingsButton); |
4957 | m_midiBindingsButtons.append(midiBindingsButton); |
4958 | - |
4959 | + |
4960 | // Set the font correctly |
4961 | QFont temp = midiBindingsButton->font(0); |
4962 | if (currentDevice->isOpen()) temp.setBold(true); |
4963 | @@ -419,4 +418,4 @@ |
4964 | if (enabled) temp.setBold(true); |
4965 | else temp.setBold(false); |
4966 | midiBindingsButton->setFont(0,temp); |
4967 | -} |
4968 | \ No newline at end of file |
4969 | +} |
4970 | |
4971 | === modified file 'mixxx/src/dlgpreferences.h' |
4972 | --- mixxx/src/dlgpreferences.h 2009-11-07 05:03:10 +0000 |
4973 | +++ mixxx/src/dlgpreferences.h 2010-01-05 04:00:31 +0000 |
4974 | @@ -33,7 +33,6 @@ |
4975 | class MixxxView; |
4976 | class PlayerProxy; |
4977 | class SoundManager; |
4978 | -class Track; |
4979 | class DlgPrefSound; |
4980 | class DlgPrefMidiBindings; |
4981 | class DlgPrefPlaylist; |
4982 | @@ -57,7 +56,7 @@ |
4983 | Q_OBJECT |
4984 | public: |
4985 | DlgPreferences(MixxxApp *mixxx, MixxxView *view, SoundManager *soundman, |
4986 | - Track *track, MidiDeviceManager* midi, ConfigObject<ConfigValue> *config); |
4987 | + MidiDeviceManager* midi, ConfigObject<ConfigValue> *config); |
4988 | ~DlgPreferences(); |
4989 | void createIcons(); |
4990 | public slots: |
4991 | @@ -88,21 +87,20 @@ |
4992 | DlgPrefVinyl *wvinylcontrol; |
4993 | DlgPrefShoutcast *wshoutcast; |
4994 | |
4995 | - QTreeWidgetItem* m_pSoundButton; |
4996 | - QTreeWidgetItem* m_pPlaylistButton; |
4997 | - QTreeWidgetItem* m_pControlsButton; |
4998 | - QTreeWidgetItem* m_pEqButton; |
4999 | - QTreeWidgetItem* m_pCrossfaderButton; |
5000 | - QTreeWidgetItem* m_pRecordingButton; |
The diff has been truncated for viewing.
The SQLite library is stable and complete enough that we are ready to merge it into trunk.