This commit is contained in:
JotaChina committed 2025-11-20 13:43:09 -03:00
1 parent 42da68afa0
commit 12c5b55bce
29 files changed
+162275 -343298

No files matched your search

-701
View File
@@ -1,701 +0,0 @@
bpm: '140'
file: A return from the dancing stars
src: /nethome/jotachina/projetos/mmpSearch/mmp/A return from the dancing stars.mmp
tags:
TAG:
- bassline
- plugin
- automation
automation:
- Traccia di automazione
bassline:
- Kick
- HiHatC
plugin:
- audiofileprocessor
- zynaddsubfx
sample: []
tracks:
- bassline_name: Kick
instruments:
- audiofileprocessor:
amp: '100'
eframe: '1'
interp: '1'
lframe: '0.02'
looped: '0'
reversed: '0'
sframe: '0.02'
src: drums/kick01.ogg
stutter: '0'
basenote: '57'
fxch: '1'
instrument_name: Kick
instrument_type: '0'
pan: '0'
patterns:
- name: Kick
pos: '0'
steps:
- false
- false
- true
- false
- true
- false
- false
- false
- true
- false
- false
- false
- true
- false
- false
- false
- name: Kick
pos: '192'
steps:
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
pitch: '0'
pitchrange: '1'
plugin_name: audiofileprocessor
usemasterpitch: '1'
vol: '100'
- audiofileprocessor:
amp: '100'
eframe: '1'
interp: '1'
lframe: '0'
looped: '0'
reversed: '0'
sframe: '0'
src: drums/hihat_closed01.ogg
stutter: '0'
basenote: '57'
fxch: '2'
instrument_name: hihat_closed01.ogg
instrument_type: '0'
pan: '0'
patterns:
- name: hihat_closed01.ogg
pos: '0'
steps:
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- name: hihat_closed01.ogg
pos: '192'
steps:
- true
- false
- true
- false
- true
- false
- true
- false
- true
- false
- true
- false
- false
- true
- true
- true
pitch: '0'
pitchrange: '1'
plugin_name: audiofileprocessor
usemasterpitch: '1'
vol: '100'
- audiofileprocessor:
amp: '100'
eframe: '1'
interp: '1'
lframe: '0'
looped: '0'
reversed: '0'
sframe: '0'
src: drums/hihat_opened01.ogg
stutter: '0'
basenote: '57'
fxch: '3'
instrument_name: Piatto 1
instrument_type: '0'
pan: '0'
patterns:
- name: Piatto 1
pos: '0'
steps:
- false
- false
- true
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- name: Piatto 1
pos: '192'
steps:
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
pitch: '0'
pitchrange: '1'
plugin_name: audiofileprocessor
usemasterpitch: '1'
vol: '100'
tags: audiofileprocessor
type: bassline
- arpeggiator:
arp: '0'
arp-enabled: '0'
arpcycle: '0'
arpdir: '0'
arpgate: '100'
arpmiss: '0'
arpmode: '0'
arprange: '2'
arpskip: '0'
arptime: '100'
arptime_denominator: '4'
arptime_numerator: '4'
arptime_syncmode: '0'
audiofileprocessor:
amp: '90'
eframe: '1'
interp: '1'
lframe: '0.09'
looped: '0'
reversed: '0'
sframe: '0.09'
src: drumsynth/misc_synth/wowmelodictone.ds
stutter: '0'
chordcreator:
chord: '0'
chord-enabled: '1'
chordrange: '3'
elcut:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '1'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.01'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
eldata:
fcut: '2940'
fres: '3.51'
ftype: '0'
fwet: '0'
elres:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
elvol:
amt: '1'
att: '0'
ctlenvamt: '0'
dec: '0'
hold: '0'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.23'
sustain: '0.95'
userwavefile: ''
x100: '0'
fxchain:
enabled: '1'
numofeffects: '3'
instrumenttrack:
basenote: '69'
fxch: '6'
pan: '0'
pitch: '0'
pitchrange: '1'
usemasterpitch: '1'
vol: '100'
midiport:
basevelocity: '127'
fixedinputvelocity: '0'
fixedoutputnote: '-1'
fixedoutputvelocity: '0'
inputchannel: '0'
inputcontroller: '0'
outputchannel: '1'
outputcontroller: '0'
outputprogram: '1'
readable: '0'
writable: '0'
plugin_name: audiofileprocessor
track_name: Tamburo Elettronico
type: plugin
- bassline_name: HiHatC
instruments: []
tags: ''
type: bassline
- arpeggiator:
arp: '0'
arp-enabled: '0'
arpcycle: '0'
arpdir: '0'
arpgate: '100'
arpmiss: '0'
arpmode: '0'
arprange: '1'
arpskip: '0'
arptime: '100'
arptime_denominator: '4'
arptime_numerator: '4'
arptime_syncmode: '0'
chordcreator:
chord: '0'
chord-enabled: '0'
chordrange: '1'
controller:
bandwidth_depth: '64'
filter_cutoff_depth: '64'
filter_q_depth: '64'
mod_wheel_depth: '80'
panning_depth: '64'
pitchwheel_bendrange: '200'
portamento_pitchthresh: '3'
portamento_pitchthreshtype: '1'
portamento_portamento: '0'
portamento_propdepth: '90'
portamento_proportional: '0'
portamento_proprate: '80'
portamento_time: '64'
portamento_updowntimestretch: '64'
resonance_bandwidth_depth: '64'
resonance_center_depth: '64'
elcut:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
eldata:
fcut: '14000'
fres: '0.5'
ftype: '0'
fwet: '0'
elres:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
elvol:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
fxchain:
enabled: '1'
numofeffects: '2'
insertion_effects:
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
instrument_effects:
- route: '0'
type: '0'
- route: '0'
type: '0'
- route: '0'
type: '0'
instrument_name: zynaddsubfx
instrumenttrack:
basenote: '57'
fxch: '5'
pan: '0'
pitch: '0'
pitchrange: '1'
usemasterpitch: '1'
vol: '100'
midiport:
basevelocity: '127'
fixedinputvelocity: '-1'
fixedoutputnote: '-1'
fixedoutputvelocity: '-1'
inputchannel: '0'
inputcontroller: '0'
outputchannel: '1'
outputcontroller: '0'
outputprogram: '1'
readable: '0'
writable: '0'
system_effects:
- send_vol: '0'
type: '0'
vol: '0'
- send_vol: '0'
type: '0'
vol: '0'
- send_vol: '0'
type: '0'
vol: '0'
- type: '0'
vol: '0'
track_name: Basso Elettronico 1
type: plugin
- arpeggiator:
arp: '0'
arp-enabled: '0'
arpcycle: '0'
arpdir: '0'
arpgate: '100'
arpmiss: '0'
arpmode: '0'
arprange: '1'
arpskip: '0'
arptime: '100'
arptime_denominator: '4'
arptime_numerator: '4'
arptime_syncmode: '0'
chordcreator:
chord: '0'
chord-enabled: '0'
chordrange: '1'
controller:
bandwidth_depth: '64'
filter_cutoff_depth: '64'
filter_q_depth: '64'
mod_wheel_depth: '80'
panning_depth: '64'
pitchwheel_bendrange: '200'
portamento_pitchthresh: '3'
portamento_pitchthreshtype: '1'
portamento_portamento: '0'
portamento_propdepth: '90'
portamento_proportional: '0'
portamento_proprate: '80'
portamento_time: '64'
portamento_updowntimestretch: '64'
resonance_bandwidth_depth: '64'
resonance_center_depth: '64'
elcut:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
eldata:
fcut: '14000'
fres: '0.5'
ftype: '0'
fwet: '0'
elres:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
elvol:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
fxchain:
enabled: '1'
numofeffects: '1'
insertion_effects:
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
instrument_effects:
- route: '0'
type: '0'
- route: '0'
type: '0'
- route: '0'
type: '0'
instrument_name: zynaddsubfx
instrumenttrack:
basenote: '45'
fxch: '0'
pan: '0'
pitch: '0'
pitchrange: '1'
usemasterpitch: '1'
vol: '100'
midiport:
basevelocity: '127'
fixedinputvelocity: '-1'
fixedoutputnote: '-1'
fixedoutputvelocity: '-1'
inputchannel: '0'
inputcontroller: '0'
outputchannel: '1'
outputcontroller: '0'
outputprogram: '1'
readable: '0'
writable: '0'
system_effects:
- send_vol: '0'
type: '0'
vol: '0'
- send_vol: '0'
type: '0'
vol: '0'
- send_vol: '0'
type: '0'
vol: '0'
- type: '0'
vol: '0'
track_name: Strings Elettronica 4
type: plugin
- automations:
- automation_name: Traccia di automazione
automation_patterns:
- len: '1728'
mute: '0'
name: Volume principale
pos: '17280'
prog: '1'
tens: '1'
times:
- pos: '0'
value: '100'
- pos: '1536'
value: '6'
- len: '192'
mute: '0'
name: Volume principale
pos: '0'
prog: '0'
tens: '1'
times:
- pos: '0'
value: '100'
- len: '1536'
mute: '0'
name: Volume principale
pos: '14208'
prog: '1'
tens: '1'
times:
- pos: '0'
value: '100'
- pos: '576'
value: '199'
- pos: '1800'
value: '98'
- len: '1536'
mute: '0'
name: Volume principale
pos: '15744'
prog: '1'
tens: '1'
times:
- pos: '0'
value: '100'
- pos: '576'
value: '198'
- pos: '1800'
value: '98'
- len: '1536'
mute: '0'
name: Volume principale
pos: '4224'
prog: '1'
tens: '1'
times:
- pos: '0'
value: '100'
- pos: '576'
value: '199'
- pos: '1800'
value: '98'
automationtrack: Present
type: automation
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-173
View File
@@ -1,173 +0,0 @@
bpm: '200'
file: Floating
src: /nethome/jotachina/projetos/mmpSearch/mmp/Floating.mmp
tags:
TAG:
- plugin
automation: []
bassline: []
plugin:
- zynaddsubfx
sample: []
tracks:
- arpeggiator:
arp: '0'
arp-enabled: '0'
arpcycle: '0'
arpdir: '0'
arpgate: '100'
arpmiss: '0'
arpmode: '0'
arprange: '1'
arpskip: '0'
arptime: '200'
arptime_denominator: '4'
arptime_numerator: '4'
arptime_syncmode: '0'
chordcreator:
chord: '0'
chord-enabled: '0'
chordrange: '1'
controller:
bandwidth_depth: '64'
filter_cutoff_depth: '64'
filter_q_depth: '64'
mod_wheel_depth: '80'
panning_depth: '64'
pitchwheel_bendrange: '100'
portamento_pitchthresh: '3'
portamento_pitchthreshtype: '1'
portamento_portamento: '0'
portamento_propdepth: '90'
portamento_proportional: '0'
portamento_proprate: '80'
portamento_time: '64'
portamento_updowntimestretch: '64'
resonance_bandwidth_depth: '64'
resonance_center_depth: '64'
elcut:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
eldata:
fcut: '14000'
fres: '0.5'
ftype: '0'
fwet: '0'
elres:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
elvol:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
fxchain:
enabled: '0'
numofeffects: '0'
insertion_effects:
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
instrument_effects:
- par: '119'
preset: '0'
route: '0'
type: '3'
- route: '0'
type: '0'
- route: '0'
type: '0'
instrument_name: zynaddsubfx
instrumenttrack:
basenote: '57'
fxch: '0'
pan: '0'
pitch: '0'
pitchrange: '1'
usemasterpitch: '1'
vol: '100'
midiport:
basevelocity: '63'
fixedinputvelocity: '-1'
fixedoutputnote: '-1'
fixedoutputvelocity: '-1'
inputchannel: '0'
inputcontroller: '0'
outputchannel: '1'
outputcontroller: '0'
outputprogram: '1'
readable: '0'
writable: '0'
system_effects:
- send_vol: '0'
type: '0'
vol: '0'
- send_vol: '0'
type: '0'
vol: '0'
- send_vol: '0'
type: '0'
vol: '0'
- type: '0'
vol: '0'
track_name: Ice Rhodes3
type: plugin
-171
View File
@@ -1,171 +0,0 @@
bpm: '160'
file: Galneryus Classical
src: /nethome/jotachina/projetos/mmpSearch/mmp/Galneryus Classical.mmp
tags:
TAG:
- plugin
automation: []
bassline: []
plugin:
- zynaddsubfx
sample: []
tracks:
- arpeggiator:
arp: '0'
arp-enabled: '0'
arpcycle: '0'
arpdir: '0'
arpgate: '100'
arpmiss: '0'
arpmode: '0'
arprange: '1'
arpskip: '0'
arptime: '200'
arptime_denominator: '4'
arptime_numerator: '4'
arptime_syncmode: '0'
chordcreator:
chord: '0'
chord-enabled: '0'
chordrange: '1'
controller:
bandwidth_depth: '64'
filter_cutoff_depth: '64'
filter_q_depth: '64'
mod_wheel_depth: '80'
panning_depth: '64'
pitchwheel_bendrange: '100'
portamento_pitchthresh: '3'
portamento_pitchthreshtype: '1'
portamento_portamento: '0'
portamento_propdepth: '90'
portamento_proportional: '0'
portamento_proprate: '80'
portamento_time: '64'
portamento_updowntimestretch: '64'
resonance_bandwidth_depth: '64'
resonance_center_depth: '64'
elcut:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
eldata:
fcut: '14000'
fres: '0.5'
ftype: '0'
fwet: '0'
elres:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
elvol:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
fxchain:
enabled: '0'
numofeffects: '0'
insertion_effects:
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
- part: '-1'
type: '0'
instrument_effects:
- route: '0'
type: '0'
- route: '0'
type: '0'
- route: '0'
type: '0'
instrument_name: zynaddsubfx
instrumenttrack:
basenote: '57'
fxch: '0'
pan: '0'
pitch: '0'
pitchrange: '1'
usemasterpitch: '1'
vol: '100'
midiport:
basevelocity: '63'
fixedinputvelocity: '-1'
fixedoutputnote: '-1'
fixedoutputvelocity: '-1'
inputchannel: '0'
inputcontroller: '0'
outputchannel: '1'
outputcontroller: '0'
outputprogram: '1'
readable: '0'
writable: '0'
system_effects:
- send_vol: '0'
type: '0'
vol: '0'
- send_vol: '0'
type: '0'
vol: '0'
- send_vol: '0'
type: '0'
vol: '0'
- type: '0'
vol: '0'
track_name: Saw Strings 3
type: plugin
File diff suppressed because it is too large. Load diff
+161312 -252247
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-558
View File
@@ -1,558 +0,0 @@
bpm: '90'
file: carlos
src: /nethome/jotachina/projetos/mmpSearch/mmp/carlos.mmp
tags:
TAG:
- bassline
- plugin
automation: []
bassline:
- Beat/Bassline 0
plugin:
- bitinvader
sample: []
tracks:
- bassline_name: Beat/Bassline 0
instruments:
- basenote: '69'
fxch: '7'
instrument_name: Alien clKick 05b1
instrument_type: '0'
pan: '0'
patterns:
- name: Alien clKick 05b1
pos: '0'
steps:
- true
- true
- false
- false
- false
- false
- false
- true
- false
- false
- false
- true
- true
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- true
- true
- true
- false
- false
- false
- false
- false
pitch: '-2800'
pitchrange: '28'
plugin_name: bitinvader
usemasterpitch: '1'
vol: '60'
- basenote: '69'
fxch: '8'
instrument_name: Alien Snare Dry 02
instrument_type: '0'
pan: '0'
patterns:
- name: ''
pos: '0'
steps:
- false
- false
- false
- false
- true
- false
- false
- false
- false
- false
- false
- false
- true
- false
- false
- false
- false
- true
- false
- false
- true
- false
- true
- false
- false
- false
- false
- false
- true
- true
- true
- false
pitch: '-1200'
pitchrange: '12'
plugin_name: bitinvader
usemasterpitch: '1'
vol: '100'
tags: bitinvader
type: bassline
- arpeggiator:
arp: '0'
arp-enabled: '0'
arpcycle: '0'
arpdir: '0'
arpgate: '100'
arpmiss: '0'
arpmode: '0'
arprange: '1'
arpskip: '0'
arptime: '200'
arptime_denominator: '4'
arptime_numerator: '4'
arptime_syncmode: '0'
bitinvader:
interpolation: '1'
normalize: '0'
sampleLength: '128'
sampleShape: qK3UvujF8z7nk3M/ZAWyPjiPG7/Y/eu+g69BP2LfML9q2zS/gt3APpD5Rr5sNbY+eHk8Puq/dL+gOU8+CB2Evn4XPz+4Ldy+hn9Dv3TpOj7G82K/Rt8iP65nV79Wpyo/Vu8qv9jN677sV3a/lOdJv8QV4j7+U3+/+iN9vz6/Hj/zi3k/Nqcav/SpeT46FZ0+aKMzPyCRj73Ps2c/AEp/Pq5t1z46cx2/Cj8FvxSJCT6MhcW+AJGAvSANj77w6Xm+j59HP0ozJT8g/w8/FNWJvgANgD5ISSM+ZhMzvy+PFz9ARaA+kq9Iv0pDJb9a4yy/yA3kPuyN9T7aE20/ME8Yv+TV8T4u/ZY+GDkMvjD7F78S9wi/cJG0verDdL/gCW8+oJNPv37jPj+gVdC+kOFGPVBRqr2IB0S/8Fl4Puejcz8sBxa/KBkTvjD5Fz7o/fM+1YNqPwhZA74KawW/IGELvc+rZz9knbE+1sNqv8d3Yz/+Vf8+8rd4v8gF5L6uR1e/eJs7v4Alv77+M3+/DZ8GP26/Nr/cv22/QFkgvtT3ab/wqXc+ZHMyv1Cxpr0AAtW7NNMZv66DVr8QfYg+rr3WPoI/Qb/gI3A/sBtYP1jJLb4+Hx8/uANcvwozBT9sJba+RBkhPtDhaj1OxyY/WMcrv3iZPb5gVa++GksNP/4Lf78=
version: '0.1'
chordcreator:
chord: '0'
chord-enabled: '0'
chordrange: '1'
elcut:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
eldata:
fcut: '14000'
fres: '0.5'
ftype: '0'
fwet: '0'
elres:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
elvol:
amt: '0.98500001'
att: '0'
ctlenvamt: '0'
dec: '0.032000002'
hold: '0'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0'
sustain: '0'
userwavefile: ''
x100: '0'
fxchain:
enabled: '1'
numofeffects: '2'
instrument_name: bitinvader
instrumenttrack:
basenote: '69'
fxch: '9'
pan: '0'
pitch: '0'
pitchrange: '1'
usemasterpitch: '1'
vol: '100'
midiport:
basevelocity: '63'
fixedinputvelocity: '-1'
fixedoutputnote: '-1'
fixedoutputvelocity: '-1'
inputchannel: '0'
inputcontroller: '0'
outputchannel: '1'
outputcontroller: '0'
outputprogram: '1'
readable: '0'
writable: '0'
track_name: Alien Crash Cymbals 02
type: plugin
- arpeggiator:
arp: '0'
arp-enabled: '0'
arpcycle: '0'
arpdir: '0'
arpgate: '100'
arpmiss: '0'
arpmode: '0'
arprange: '1'
arpskip: '0'
arptime: '200'
arptime_denominator: '4'
arptime_numerator: '4'
arptime_syncmode: '0'
bitinvader:
interpolation: '0'
normalize: '0'
sampleLength: '200'
sampleShape: AACAv6Rwfb9I4Xq/7FF4v4/Cdb8zM3O/16Nwv3sUbr8fhWu/wvVov2ZmZr8K12O/rkdhv1K4Xr/2KFy/mplZvz4KV7/helS/hetRvylcT7/NzEy/cT1KvxSuR7+4HkW/XI9CvwAAQL+kcD2/SOE6v+xROL+QwjW/MzMzv9ejML97FC6/HoUrv8L1KL9mZia/Ctcjv65HIb9SuB6/9igcv5qZGb8+Che/4noUv4XrEb8pXA+/zcwMv3A9Cr8Urge/uB4Fv1yPAr8AAAC/SOH6vpDC9b7Yo/C+HoXrvmZm5r6uR+G+9ijcvj4K176G69G+zMzMvhSux75cj8K+pHC9vuxRuL40M7O+ehSuvsL1qL4K16O+UrievpqZmb7iepS+KFyPvnA9ir64HoW+AACAvpDCdb4ghWu+sEdhvjwKV77MzEy+XI9CvuxROL58FC6+DNcjvpiZGb4oXA++uB4FvpDC9b2wR+G90MzMvehRuL0I16O9KFyPvZDCdb3QzEy9ENcjvYDC9bwA16O8ANcjvAAAAAAA1yM8ANejPIDC9TwA1yM9wMxMPYDCdT0wXI89ENejPfBRuD3QzMw9sEfhPZDC9T24HgU+KFwPPpiZGT4I1yM+eBQuPuhROD5gj0I+0MxMPkAKVz6wR2E+IIVrPpDCdT4AAIA+uB6FPnA9ij4oXI8+4HqUPpiZmT5QuJ4+DNejPsT1qD58FK4+NDOzPuxRuD6kcL0+XI/CPhSuxz7MzMw+hOvRPjwK1z70KNw+sEfhPmhm5j4ghes+2KPwPpDC9T5I4fo+AAAAP1yPAj+4HgU/FK4HP3A9Cj/MzAw/KFwPP4brET/iehQ/PgoXP5qZGT/2KBw/UrgeP65HIT8K1yM/ZmYmP8L1KD8ehSs/ehQuP9ijMD80MzM/kMI1P+xROD9I4To/pHA9PwAAQD9cj0I/uB5FPxSuRz9wPUo/zMxMPyhcTz+G61E/4npUPz4KVz+amVk/9ihcP1K4Xj+uR2E/CtdjP2ZmZj/C9Wg/HoVrP3oUbj/Yo3A/NDNzP5DCdT/sUXg/SOF6P6RwfT8=
version: '0.1'
chordcreator:
chord: '0'
chord-enabled: '0'
chordrange: '1'
elcut:
amt: '1'
att: '0.40000001'
ctlenvamt: '0'
dec: '0'
hold: '0'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.025'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '1'
sustain: '1'
userwavefile: ''
x100: '0'
eldata:
fcut: '400'
fres: '1'
ftype: '0'
fwet: '1'
elres:
amt: '0'
att: '0.86400002'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
elvol:
amt: '1'
att: '0.039999999'
ctlenvamt: '0'
dec: '0.2'
hold: '0'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.15000001'
sustain: '0'
userwavefile: ''
x100: '0'
fxchain:
enabled: '1'
numofeffects: '7'
instrument_name: bitinvader
instrumenttrack:
basenote: '69'
fxch: '1'
pan: '0'
pitch: '0'
pitchrange: '1'
usemasterpitch: '1'
vol: '50'
midiport:
basevelocity: '63'
fixedinputvelocity: '-1'
fixedoutputnote: '-1'
fixedoutputvelocity: '-1'
inputchannel: '0'
inputcontroller: '0'
outputchannel: '1'
outputcontroller: '0'
outputprogram: '1'
readable: '0'
writable: '0'
track_name: Alien Saw Bass 01a42
type: plugin
- arpeggiator:
arp: '0'
arp-enabled: '0'
arpcycle: '0'
arpdir: '0'
arpgate: '100'
arpmiss: '0'
arpmode: '0'
arprange: '1'
arpskip: '0'
arptime: '136'
arptime_denominator: '4'
arptime_numerator: '4'
arptime_syncmode: '0'
bitinvader:
interpolation: '1'
normalize: '0'
sampleLength: '128'
sampleShape: AAAAAAAAAD0AAIA9AADAPQAAAD4AACA+AABAPgAAYD4AAIA+AACQPgAAoD4AALA+AADAPgAA0D4AAOA+AADwPgAAAD8AAAg/AAAQPwAAGD8AACA/AAAoPwAAMD8AADg/AABAPwAASD8AAFA/AABYPwAAYD8AAGg/AABwPwAAeD8AAIA/AAB4PwAAcD8AAGg/AABgPwAAWD8AAFA/AABIPwAAQD8AADg/AAAwPwAAKD8AACA/AAAYPwAAED8AAAg/AAAAPwAA8D4AAOA+AADQPgAAwD4AALA+AACgPgAAkD4AAIA+AABgPgAAQD4AACA+AAAAPgAAwD0AAIA9AAAAPQAAAAAAAAC9AACAvQAAwL0AAAC+AAAgvgAAQL4AAGC+AACAvgAAkL4AAKC+AACwvgAAwL4AANC+AADgvgAA8L4AAAC/AAAIvwAAEL8AABi/AAAgvwAAKL8AADC/AAA4vwAAQL8AAEi/AABQvwAAWL8AAGC/AABovwAAcL8AAHi/AACAvwAAeL8AAHC/AABovwAAYL8AAFi/AABQvwAASL8AAEC/AAA4vwAAML8AACi/AAAgvwAAGL8AABC/AAAIvwAAAL8AAPC+AADgvgAA0L4AAMC+AACwvgAAoL4AAJC+AACAvgAAYL4AAEC+AAAgvgAAAL4AAMC9AACAvQAAAL0=
version: '0.1'
chordcreator:
chord: '0'
chord-enabled: '0'
chordrange: '1'
elcut:
amt: '1'
att: '1'
ctlenvamt: '1'
dec: '0.27500001'
hold: '0'
lamt: '1'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '1'
sustain: '1'
userwavefile: ''
x100: '0'
eldata:
fcut: '400'
fres: '0.5'
ftype: '3'
fwet: '1'
elres:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
elvol:
amt: '1'
att: '0.059999999'
ctlenvamt: '0'
dec: '0'
hold: '0'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.5'
sustain: '1'
userwavefile: ''
x100: '0'
fxchain:
enabled: '1'
numofeffects: '7'
instrument_name: bitinvader
instrumenttrack:
basenote: '69'
fxch: '2'
pan: '0'
pitch: '0'
pitchrange: '1'
usemasterpitch: '1'
vol: '40'
midiport:
basevelocity: '63'
fixedinputvelocity: '-1'
fixedoutputnote: '-1'
fixedoutputvelocity: '-1'
inputchannel: '0'
inputcontroller: '0'
outputchannel: '1'
outputcontroller: '0'
outputprogram: '1'
readable: '0'
writable: '0'
track_name: Alien Synth Voice 01a
type: plugin
- arpeggiator:
arp: '0'
arp-enabled: '0'
arpcycle: '0'
arpdir: '0'
arpgate: '100'
arpmiss: '0'
arpmode: '0'
arprange: '1'
arpskip: '0'
arptime: '200'
arptime_denominator: '4'
arptime_numerator: '4'
arptime_syncmode: '0'
bitinvader:
interpolation: '1'
normalize: '1'
sampleLength: '170'
sampleShape: AGpXP/IDXT9xO2I/ewxnPxF3az8zd28/4QpzPxsydj/h6ng/rjN7P+8MfT97cn4/cWd/P/nnfz9q938/ZpJ/P++6fj8DcX0/pLZ7P9CJeT9E7nY/zeJzP51ocD/5g2w/4TRoP1V9Yz9VX14/4d5YP/n7Uj9nukw/Mx1GP5AmPz8R2Tc/HzswP5JNKD/NEiA/zZAXP5LLDj/QxQU/DAf5Pv0T5j6AutI+FAK/Punwqj5KlZY+ZPaBPi42Wj6rIjA+A7gFPrY6tj3vP0E90P+tO6bKFb2jiqC9DOD1va5qJb7zk0++J2R5vghfkb7uzaW+NPO5vgfCzb5lNuG+UET0vuZxA79niAy/rl0Vv7vxHb+RPia/2D8uv6vyNb+WVD2/HmFEvzQVS783blG/AGpXv/IDXb9wO2K/egxnvxB3a780d2+/4gpzvxwydr/i6ni/rjN7v+8Mfb97cn6/cGd/v/nnf79q93+/ZpJ/v++6fr8DcX2/pLZ7v9CJeb9E7na/zeJzv55ocL/6g2y/4DRov1R9Y79VX16/4d5Yv/n7Ur9nuky/NB1Gv5EmP78T2Te/HDswv5FNKL/MEiC/zJAXv5LLDr/QxQW/DAf5vgMU5r6GutK+GgK/vuPwqr5ElZa+ZPaBvi42Wr6rIjC+A7gFvrY6tr0iQEG9YAGuu9jKFT28iqA9DOD1Pa5qJT7zk08+J2R5PghfkT7ozaU+LvO5PgzCzT5rNuE+VUT0PuZxAz9niAw/rl0VP7vxHT+OPiY/1T8uP6nyNT+YVD0/IGFEPzQVSz83blE/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
version: '0.1'
chordcreator:
chord: '0'
chord-enabled: '0'
chordrange: '1'
elcut:
amt: '1'
att: '0.5'
ctlenvamt: '0'
dec: '0'
hold: '0'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '2'
sustain: '1'
userwavefile: ''
x100: '0'
eldata:
fcut: '500'
fres: '1'
ftype: '10'
fwet: '1'
elres:
amt: '0'
att: '0.60000002'
ctlenvamt: '0'
dec: '0'
hold: '0'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '1'
userwavefile: ''
x100: '0'
elvol:
amt: '1'
att: '0.02'
ctlenvamt: '0'
dec: '0'
hold: '0'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.5'
sustain: '1'
userwavefile: ''
x100: '0'
fxchain:
enabled: '1'
numofeffects: '6'
instrument_name: bitinvader
instrumenttrack:
basenote: '69'
fxch: '3'
pan: '0'
pitch: '0'
pitchrange: '1'
usemasterpitch: '1'
vol: '100'
midiport:
basevelocity: '63'
fixedinputvelocity: '-1'
fixedoutputnote: '-1'
fixedoutputvelocity: '-1'
inputchannel: '0'
inputcontroller: '0'
outputchannel: '1'
outputcontroller: '0'
outputprogram: '1'
readable: '0'
writable: '0'
track_name: Alien Sine Piano 02b Synth
type: plugin
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-155
View File
@@ -1,155 +0,0 @@
bpm: '120'
file: grokihub-intro-meme
src: /nethome/jotachina/projetos/mmpSearch/mmp/grokihub-intro-meme.mmp
tags:
TAG:
- plugin
automation: []
bassline: []
plugin:
- nes
sample: []
tracks:
- arpeggiator:
arp: '0'
arp-enabled: '0'
arpcycle: '0'
arpdir: '0'
arpgate: '100'
arpmiss: '0'
arpmode: '0'
arprange: '1'
arprepeats: '1'
arpskip: '0'
arptime: '200'
arptime_denominator: '4'
arptime_numerator: '4'
arptime_syncmode: '0'
chordcreator:
chord: '0'
chord-enabled: '0'
chordrange: '1'
elcut:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
eldata:
fcut: '14000'
fres: '0.5'
ftype: '0'
fwet: '0'
elres:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
elvol:
amt: '0'
att: '0'
ctlenvamt: '0'
dec: '0.5'
hold: '0.5'
lamt: '0'
latt: '0'
lpdel: '0'
lshp: '0'
lspd: '0.1'
lspd_denominator: '4'
lspd_numerator: '4'
lspd_syncmode: '0'
pdel: '0'
rel: '0.1'
sustain: '0.5'
userwavefile: ''
x100: '0'
fxchain:
enabled: '0'
numofeffects: '0'
instrument_name: nes
instrumenttrack:
basenote: '69'
fxch: N/A
pan: '0'
pitch: '0'
pitchrange: '2'
usemasterpitch: '1'
vol: '200'
midiport:
basevelocity: '63'
fixedinputvelocity: '-1'
fixedoutputnote: '-1'
fixedoutputvelocity: '-1'
inputchannel: '0'
inputcontroller: '-1'
outputchannel: '1'
outputcontroller: '-1'
outputprogram: '1'
readable: '0'
writable: '0'
nescaline:
crs1: '0'
crs2: '0'
crs3: '0'
dc1: '0'
dc2: '2'
envlen1: '0'
envlen2: '0'
envlen4: '0'
envloop1: '0'
envloop2: '0'
envloop4: '0'
envon1: '0'
envon2: '0'
envon4: '0'
nfreq4: '0'
nfrqmode4: '0'
nmode4: '0'
nq4: '1'
nswp4: '0'
on1: '1'
on2: '1'
on3: '1'
on4: '0'
swamt1: '0'
swamt2: '0'
sweep1: '0'
sweep2: '0'
swrate1: '0'
swrate2: '0'
vibr: '0'
vol: '1'
vol1: '15'
vol2: '15'
vol3: '15'
vol4: '15'
track_name: Nescaline
type: plugin
+256 -58
View File
@@ -112,22 +112,32 @@ title: "{{ page.file }}"
<div class="content mt-3"> <div class="content mt-3">
<ul style="list-style: none; padding-left: 0"> <ul style="list-style: none; padding-left: 0">
{% for track in page.tracks %} {% assign tem_instr = false %} {% for track in page.tracks %} {% if track.instruments and
{% if track.instruments and track.instruments.size > 0 %} {% track.instruments.size > 0 %}
assign tem_instr = true %} {% endif %} {% if
track.bassline_name or tem_instr %}
<li class="mb-5"> <li class="mb-5">
{% if tem_instr %} <div class="mb-2">
<span class="tag is-dark">{{ track.bassline_name }}</span>
</div>
<ul class="pl-4"> <ul class="pl-4">
{% for instrument in track.instruments %} {% if {% for instrument in track.instruments %} {% assign
instrument.instrument_name %} {% assign sample_src = plugin_name = instrument.instrument_name | downcase %} {%
assign is_sample = false %} {% assign sample_src = "" %}
{% if plugin_name == 'audiofileprocessor' or
instrument.audiofileprocessor %} {% assign is_sample =
true %} {% assign sample_src =
instrument.audiofileprocessor.src | default: "" | strip %} instrument.audiofileprocessor.src | default: "" | strip %}
{% assign has_sample = false %} {% if {% endif %} {% assign should_open = false %} {% if
instrument.audiofileprocessor and sample_src != "" %} {% is_sample == false %} {% assign should_open = true %} {%
assign has_sample = true %} {% endif %} elsif is_sample == true and sample_src != "" %} {% assign
should_open = true %} {% endif %}
<li style="margin-bottom: 0.4rem"> <div
<details {% if has_sample %}open{% endif %}> class="instrument-wrapper mb-4"
data-plugin-name="{{ plugin_name }}"
data-params="{{ instrument | jsonify | escape }}"
>
<li style="list-style: none">
<details {% if should_open %}open{% endif %}>
<summary <summary
style=" style="
cursor: pointer; cursor: pointer;
@@ -143,28 +153,32 @@ title: "{{ page.file }}"
" "
> >
{% assign display_name = {% assign display_name =
instrument.instrument_name %} {% if display_name instrument.instrument_name %} {% if is_sample %}
contains "audiofileprocessor" and {% if display_name contains "audiofileprocessor"
instrument.patterns %} {% assign and instrument.patterns %} {% assign
first_pattern_name = instrument.patterns | map: first_pattern_name = instrument.patterns | map:
'name' | first %} {% if first_pattern_name and 'name' | first %} {% if first_pattern_name and
first_pattern_name != empty %} {% assign first_pattern_name != empty %} {% assign
display_name = first_pattern_name | remove: ".ogg" display_name = first_pattern_name | remove:
| remove: ".wav" | remove: ".flac" | remove: ".ogg" | remove: ".wav" | remove: ".flac" |
".mp3" %} {% elsif remove: ".mp3" %} {% elsif
instrument.audiofileprocessor.src %} {% assign instrument.audiofileprocessor.src %} {% assign
src_parts = instrument.audiofileprocessor.src | src_parts = instrument.audiofileprocessor.src |
split: '/' %} {% assign file_name = src_parts | split: '/' %} {% assign file_name = src_parts |
last %} {% assign display_name = file_name | last %} {% assign display_name = file_name |
remove: ".ogg" | remove: ".wav" | remove: ".flac" remove: ".ogg" | remove: ".wav" | remove:
| remove: ".mp3" %} {% endif %} {% endif %} {% ".flac" | remove: ".mp3" %} {% endif %} {% endif
assign instrument_slug = display_name | replace: ' %} {% endif %} {% assign instrument_slug =
', '+' %} display_name | replace: ' ', '+' %}
<a <a
href="{{ '/instruments/?instrument=' | append: instrument_slug | relative_url }}" href="{{ '/instruments/?instrument=' | append: instrument_slug | relative_url }}"
class="tag is-info is-light" class="tag is-info is-light"
> >
<code>{{ display_name }}</code> <code>{{ display_name }}</code>
{% unless is_sample %}
<span class="ml-1" style="font-size: 0.7em"
>(Synth 🎹)</span
>{% endunless %}
</a> </a>
</div> </div>
</summary> </summary>
@@ -172,17 +186,182 @@ title: "{{ page.file }}"
{% for pattern in instrument.patterns %} {% assign {% for pattern in instrument.patterns %} {% assign
pattern_steps = pattern.steps %} {% if pattern_steps pattern_steps = pattern.steps %} {% if pattern_steps
and pattern_steps.size > 0 %} and pattern_steps.size > 0 %}
<div
class="mt-2 ml-4"
style="
display: flex;
align-items: center;
gap: 4px;
"
>
{% assign bassline_index = forloop.index | minus:
1 %}
<span class="is-size-7 has-text-grey-light"
>{{ track.bassline_name }}{{ bassline_index
}}:</span
>
<div
class="patterns-container"
style="
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 4px;
"
>
{% assign total_steps = pattern_steps.size %} {%
assign chunk_size = 4 %} {% assign num_chunks =
total_steps | divided_by: chunk_size %} {%
assign remainder = total_steps | modulo:
chunk_size %} {% if remainder > 0 %}{% assign
num_chunks = num_chunks | plus: 1 %}{% endif %}
{% for i in (0..num_chunks) %} {% assign
start_index = i | times: chunk_size %} {% assign
current_chunk_array = pattern_steps | slice:
start_index, chunk_size %} {% if
current_chunk_array.size > 0 %} {% assign
chunk_string = "" %} {% for step in
current_chunk_array %} {% if step == true or
step == 'true' or step == 1 %}{% assign
chunk_string = chunk_string | append: '1' %}{%
else %}{% assign chunk_string = chunk_string |
append: '0' %}{% endif %} {% endfor %} {% assign
search_url = '/pattern/?p=' | append:
chunk_string | relative_url %}
<a
href="{{ search_url }}"
title="Buscar padrão {{ chunk_string }}"
style="display: inline-block"
>
<div
style="
display: flex;
flex-direction: row;
border: 1px solid #999;
padding: 2px;
border-radius: 2px;
background-color: #f0f0f0;
"
>
{% for step_active in current_chunk_array %}
{% assign step_color = '#d9d9d9' %} {% if
step_active == true or step_active == 'true'
or step_active == 1 %} {% assign step_color
= '#4caf50' %} {% endif %}
<div
style="width: 5px; height: 10px; background-color: {{ step_color }}; border-radius: 1px; margin-right: 1px;"
></div>
{% endfor %}
</div>
</a>
{% endif %} {% endfor %}
</div>
</div>
{% endif %} {% endfor %}
</details>
<div class="playback-controls mt-2 pl-4">
{% if is_sample %} {% if sample_src != "" %} {%
assign audio_filename_with_path = 'src/samples/' |
append: sample_src %}
<audio controls class="js-sample-player">
<source
src="{{ audio_filename_with_path | relative_url }}"
type="audio/ogg"
/>
{% assign wav_path = audio_filename_with_path |
replace: '.ogg', '.wav' %}
<source
src="{{ wav_path | relative_url }}"
type="audio/wav"
/>
Seu navegador não suporta o elemento
<code>audio</code>.
</audio>
{% else %}
<p class="has-text-danger is-size-7">
O sample **não foi enviado** 😢
</p>
{% endif %} {% else %}
<button
class="button is-small is-primary is-outlined js-play-synth-btn"
>
<span class="icon is-small"
><i class="fa-solid fa-play"></i
></span>
<span>Testar Plugin</span>
</button>
<span class="is-size-7 has-text-grey ml-2"
>Via Web Audio API</span
>
{% endif %}
</div>
</li>
</div>
{% endfor %}
</ul>
</li>
{% elsif track.instrument_name %} {% assign instrument = track
%}
<ul class="pl-4">
{% assign plugin_name = instrument.instrument_name |
downcase %} {% assign is_sample = false %} {% assign
sample_src = "" %} {% if plugin_name == 'audiofileprocessor'
or instrument.audiofileprocessor %} {% assign is_sample =
true %} {% assign sample_src =
instrument.audiofileprocessor.src | default: "" | strip %}
{% endif %} {% assign should_open = false %} {% if is_sample
== false %} {% assign should_open = true %} {% elsif
is_sample == true and sample_src != "" %} {% assign
should_open = true %} {% endif %}
<div
class="instrument-wrapper mb-4"
data-plugin-name="{{ plugin_name }}"
data-params="{{ instrument | jsonify | escape }}"
>
<li style="list-style: none">
<details {% if should_open %}open{% endif %}>
<summary
style="
cursor: pointer;
outline: none;
margin-bottom: 0.5rem;
"
>
<div
style="
display: inline-flex;
align-items: center;
gap: 8px;
"
>
{% assign display_name =
instrument.instrument_name %} {% assign
instrument_slug = display_name | replace: ' ', '+'
%}
<a
href="{{ '/instruments/?instrument=' | append: instrument_slug | relative_url }}"
class="tag is-info is-light"
>
<code>{{ display_name }}</code>
{% unless is_sample %}
<span class="ml-1" style="font-size: 0.7em"
>(Synth 🎹)</span
>{% endunless %}
</a>
</div>
</summary>
{% if instrument.patterns %} {% for pattern in
instrument.patterns %} {% assign pattern_steps =
pattern.steps %} {% if pattern_steps and
pattern_steps.size > 0 %}
<div <div
class="mt-2 ml-4" class="mt-2 ml-4"
style="display: flex; align-items: center; gap: 4px" style="display: flex; align-items: center; gap: 4px"
> >
{% assign bassline_index = forloop.index | minus: 1
%}
<span class="is-size-7 has-text-grey-light">
{{ track.bassline_name }}{{ bassline_index }}:
</span>
<div <div
class="patterns-container" class="patterns-container"
style=" style="
@@ -210,7 +389,6 @@ title: "{{ page.file }}"
endif %} {% endfor %} {% assign search_url = endif %} {% endfor %} {% assign search_url =
'/pattern/?p=' | append: chunk_string | '/pattern/?p=' | append: chunk_string |
relative_url %} relative_url %}
<a <a
href="{{ search_url }}" href="{{ search_url }}"
title="Buscar padrão {{ chunk_string }}" title="Buscar padrão {{ chunk_string }}"
@@ -234,32 +412,20 @@ title: "{{ page.file }}"
<div <div
style="width: 5px; height: 10px; background-color: {{ step_color }}; border-radius: 1px; margin-right: 1px;" style="width: 5px; height: 10px; background-color: {{ step_color }}; border-radius: 1px; margin-right: 1px;"
></div> ></div>
{% endfor %} {% assign remaining_steps = {% endfor %}
chunk_size | minus: current_chunk_array.size
%} {% if remaining_steps > 0 %} {% for j in
(1..remaining_steps) %}
<div
style="
width: 5px;
height: 10px;
background-color: #d9d9d9;
border-radius: 1px;
margin-right: 1px;
"
></div>
{% endfor %} {% endif %}
</div> </div>
</a> </a>
{% endif %} {% endfor %} {% endif %} {% endfor %}
</div> </div>
</div> </div>
{% endif %} {% endfor %} {% endif %} {% endfor %} {% endif %}
</details> </details>
{% if has_sample %} {% assign audio_filename_with_path = <div class="playback-controls mt-2 pl-4">
'src/samples/' | append: sample_src %} {% if is_sample %} {% if sample_src != "" %} {% assign
<div class="audio-player-section mt-3 pl-4"> audio_filename_with_path = 'src/samples/' | append:
<audio controls> sample_src %}
<audio controls class="js-sample-player">
<source <source
src="{{ audio_filename_with_path | relative_url }}" src="{{ audio_filename_with_path | relative_url }}"
type="audio/ogg" type="audio/ogg"
@@ -270,20 +436,28 @@ title: "{{ page.file }}"
src="{{ wav_path | relative_url }}" src="{{ wav_path | relative_url }}"
type="audio/wav" type="audio/wav"
/> />
Seu navegador não suporta o elemento
<code>audio</code>.
</audio> </audio>
</div>
{% else %} {% else %}
<p class="has-text-danger is-size-7 mt-1 pl-4"> <p class="has-text-danger is-size-7">
O sample **não foi enviado** 😢 O sample **não foi enviado** 😢
</p> </p>
{% endif %} {% else %}
<button
class="button is-small is-primary is-outlined js-play-synth-btn"
>
<span class="icon is-small"
><i class="fa-solid fa-play"></i
></span>
<span>Testar Plugin</span>
</button>
<span class="is-size-7 has-text-grey ml-2"
>Via Web Audio API</span
>
{% endif %} {% endif %}
</div>
</li> </li>
{% endif %} {% endfor %} </div>
</ul> </ul>
{% endif %}
</li>
{% endif %} {% endfor %} {% endif %} {% endfor %}
</ul> </ul>
</div> </div>
@@ -298,8 +472,7 @@ title: "{{ page.file }}"
🛠️ Abra na Criação Colaborativa 🛠️ Abra na Criação Colaborativa
</h3> </h3>
{% comment %} CONSTRUÇÃO DA URL CORRIGIDA PARA AMBIENTES DE TESTE: {% assign creation_url =
{% endcomment %} {% assign creation_url =
'/~jotachina/mmpSearch/creation.html?project=' | append: page.file '/~jotachina/mmpSearch/creation.html?project=' | append: page.file
%} %}
<span class="icon" <span class="icon"
@@ -339,3 +512,28 @@ title: "{{ page.file }}"
</div> </div>
</main> </main>
</div> </div>
<script type="module">
import { InstrumentFactory } from '{{ "/assets/js/audio/InstrumentFactory.js" | relative_url }}';
document.addEventListener("DOMContentLoaded", () => {
const factory = new InstrumentFactory();
const synthButtons = document.querySelectorAll(".js-play-synth-btn");
synthButtons.forEach((btn) => {
btn.addEventListener("click", (e) => {
const wrapper = e.target.closest(".instrument-wrapper");
if (wrapper && wrapper.dataset.params) {
const rawData = wrapper.dataset.params;
try {
const instrumentData = JSON.parse(rawData);
factory.play(instrumentData);
} catch (error) {
console.error("Erro ao ler dados do instrumento:", error);
}
}
});
});
});
</script>
+33
View File
@@ -0,0 +1,33 @@
import { TripleOscillator } from "./plugins/TripleOscillator.js";
import { PLUGINS } from "utils.js";
export class InstrumentFactory {
constructor() {
// Cria um contexto de áudio único para a página
this.audioCtx = new (window.AudioContext || window.webkitAudioContext)();
}
play(instrumentData) {
// Pega o nome do plugin (que vem do python em minúsculo)
// O parser as vezes bota o nome na raiz ou dentro de tags.
// Vamos assumir que o "instrument_name" é a chave principal.
// Normalização de nome (ex: "TripleOscillator" -> "tripleoscillator")
const pluginName = (
instrumentData.instrument_name ||
instrumentData.name ||
""
).toLowerCase();
if (PLUGINS[pluginName]) {
const InstrumentClass = PLUGINS[pluginName];
const instr = new InstrumentClass(this.audioCtx, instrumentData);
// Toca uma nota de teste (Dó central - MIDI 60)
instr.playNote(60, this.audioCtx.currentTime, 0.5);
} else {
console.warn(`Plugin não implementado no JS: ${pluginName}`);
alert(`O plugin ${pluginName} ainda não tem implementação Web Audio.`);
}
}
}
+115
View File
@@ -0,0 +1,115 @@
export class TripleOscillator {
constructor(audioCtx, data) {
this.ctx = audioCtx;
// Os dados do plugin geralmente vêm dentro de uma chave com o nome dele (ex: data.tripleoscillator)
// Mas às vezes vêm "flat" dependendo do parser. Vamos garantir.
this.params = data.tripleoscillator || data;
// Dados do envelope (ADSR) ficam em 'elvol' (Envelope Volume)
this.env = data.elvol || {};
}
getWaveType(lmmsTypeIndex) {
// Mapeamento: 0=Sine, 1=Triangle, 2=Sawtooth, 3=Square, 4=Noise, 5=Exp
const types = [
"sine",
"triangle",
"sawtooth",
"square",
"sawtooth",
"sawtooth",
];
const idx = parseInt(lmmsTypeIndex);
return types[isNaN(idx) ? 0 : idx]; // Default para sine
}
playNote(midiNote, startTime, duration) {
// Fórmula de conversão MIDI -> Frequência
const freq = 440 * Math.pow(2, (midiNote - 69) / 12);
// Ganho Mestre desta nota (evita estouro de áudio)
const masterGain = this.ctx.createGain();
masterGain.connect(this.ctx.destination);
// Aplica Envelope ADSR no volume mestre
this.applyEnvelope(masterGain, startTime, duration);
// O TripleOscillator tem 3 osciladores (Osc1, Osc2, Osc3)
// No XML/JSON eles são sufixados com 0, 1 e 2 (ex: vol0, vol1...)
for (let i = 0; i < 3; i++) {
// Volume: O LMMS usa 0-100. O Web Audio usa 0.0-1.0.
const volRaw = this.params[`vol${i}`];
const vol = parseInt(volRaw !== undefined ? volRaw : i === 0 ? 100 : 0);
// Se volume for 0, não gasta processamento criando oscilador
if (vol > 0) {
const osc = this.ctx.createOscillator();
const oscGain = this.ctx.createGain();
// Configura Onda
osc.type = this.getWaveType(this.params[`wavetype${i}`]);
// Configura Afinação (Coarse = Semitons, Fine = Cents)
const coarse = parseInt(this.params[`coarse${i}`] || 0);
const fine = parseInt(
this.params[`fine${i}`] || this.params[`finer${i}`] || 0
);
const detuneTotal = coarse * 100 + fine;
osc.frequency.value = freq;
osc.detune.value = detuneTotal;
// Configura Volume do Oscilador
// Dividimos por 300 (3 osciladores x 100) para normalizar e não distorcer
oscGain.gain.value = (vol / 100) * 0.3;
// Conexões: Osc -> OscGain -> MasterGain
osc.connect(oscGain);
oscGain.connect(masterGain);
// Toca
osc.start(startTime);
osc.stop(startTime + duration + 2.0); // +2s de margem para o release do envelope
}
}
}
applyEnvelope(gainNode, time, duration) {
// Valores padrão do LMMS se não existirem no JSON
// O LMMS usa escala 0-100 para tempo em alguns contextos, mas o parser XML geralmente traz valores brutos.
// Vamos assumir valores pequenos como segundos ou normalizar.
let att = parseFloat(this.env.att || 0);
let dec = parseFloat(this.env.dec || 0.5);
let sus = parseFloat(this.env.sustain || 0.5);
let rel = parseFloat(this.env.rel || 0.1);
// Ajuste empírico: Se os valores forem muito grandes (> 5), provavelmente estão em escala 0-100 ou similar
if (att > 2) att /= 100;
if (dec > 5) dec /= 100;
// Sustain é sempre nível (0-1), mas as vezes vem como 100
if (sus > 1) sus /= 100;
if (rel > 5) rel /= 100;
const now = time;
// Garante que começa zerado
gainNode.gain.cancelScheduledValues(now);
gainNode.gain.setValueAtTime(0, now);
// Attack: Sobe até o volume máximo (1.0 relativo ao masterGain)
gainNode.gain.linearRampToValueAtTime(1.0, now + att + 0.005);
// Decay: Desce até o nível de Sustain
gainNode.gain.exponentialRampToValueAtTime(
Math.max(sus, 0.001),
now + att + dec
);
// Sustain: Mantém o nível até o fim da nota
gainNode.gain.setValueAtTime(Math.max(sus, 0.001), now + duration);
// Release: Desce a zero após soltar a nota
gainNode.gain.exponentialRampToValueAtTime(0.001, now + duration + rel);
}
}
+29
View File
@@ -0,0 +1,29 @@
// Mapeamento de Strings do LMMS para Classes JS
const PLUGINS = {
tripleoscillator: TripleOscillator,
// 'kicker': Kicker, // Implementaremos em breve
// 'organic': Organic
};
SUPPORTED_PLUGINS = [
"audiofileprocessor",
"bitinvader",
"freeboy",
"papu",
"gigplayer",
"kicker",
"lb302",
"malletsstk",
"monstro",
"nes",
"opl2",
"organic",
"patman",
"sf2player",
"sfxr",
"sid",
"tripleoscillator",
"vibedstrings",
"watsyn",
"zynaddsubfx",
]
+109 -61
View File
@@ -9,6 +9,7 @@ from utils import SUPPORTED_PLUGINS
# Lista dos plugins suportados # Lista dos plugins suportados
def parse_mmp_file(file_path): def parse_mmp_file(file_path):
if not os.path.exists(file_path): if not os.path.exists(file_path):
print(f"O arquivo {file_path} não existe!") print(f"O arquivo {file_path} não existe!")
@@ -18,126 +19,173 @@ def parse_mmp_file(file_path):
tree = ET.parse(file_path) tree = ET.parse(file_path)
root = tree.getroot() root = tree.getroot()
bpm = root.find('./head').attrib.get('bpm', 'N/A') bpm = root.find("./head").attrib.get("bpm", "N/A")
tracks = root.findall('./song/trackcontainer/track') tracks = root.findall("./song/trackcontainer/track")
track_info = [] track_info = []
tags = {} tags = {}
tags['TAG'] = [] tags["TAG"] = []
tags['plugin'] = [] tags["plugin"] = []
tags['sample'] = [] tags["sample"] = []
tags['bassline'] = [] tags["bassline"] = []
tags['automation'] = [] tags["automation"] = []
for track in tracks: for track in tracks:
track_name = track.attrib.get('name', 'N/A') track_name = track.attrib.get("name", "N/A")
track_type = track.attrib.get('type') track_type = track.attrib.get("type")
if track_type == '0': if track_type == "0":
# Faixas de instrumento # Faixas de instrumento
# Tem que verificar o sf2, verificar caminhos dos samples. # Tem que verificar o sf2, verificar caminhos dos samples.
instruments = track.findall('./instrumenttrack') instruments = track.findall("./instrumenttrack")
for instrumenttrack in instruments: for instrumenttrack in instruments:
instrument = instrumenttrack.find('.//instrument') instrument = instrumenttrack.find(".//instrument")
if instrument is not None: if instrument is not None:
plugin_name = instrument.attrib.get('name') plugin_name = instrument.attrib.get("name")
if plugin_name: if plugin_name:
plugin_info = parse_plugin_track(instrumenttrack, plugin_name) plugin_info = parse_plugin_track(
instrumenttrack, plugin_name
)
if plugin_info: if plugin_info:
# Adiciona metadados da faixa também # Adiciona metadados da faixa também
plugin_info['track_name'] = track_name plugin_info["track_name"] = track_name
plugin_info['type'] = 'plugin' plugin_info["type"] = "plugin"
track_info.append(plugin_info) track_info.append(plugin_info)
# Marcando os nomes dos plugins presentes # Marcando os nomes dos plugins presentes
if 'plugin' not in tags['TAG']: if "plugin" not in tags["TAG"]:
tags['TAG'].append('plugin') tags["TAG"].append("plugin")
# Se algum plugin estiver com o nome diferente do original # Se algum plugin estiver com o nome diferente do original
if track_name not in tags: if track_name not in tags:
if (track_name not in SUPPORTED_PLUGINS and if (
plugin_name not in tags['plugin']): track_name not in SUPPORTED_PLUGINS
tags['plugin'].append(plugin_name) and plugin_name not in tags["plugin"]
):
tags["plugin"].append(plugin_name)
elif track_type == '1': # Bassline (aparentemente, correto) elif track_type == "1": # Bassline (aparentemente, correto)
bassline_info = parse_basslines(track) bassline_info = parse_basslines(track)
if bassline_info: if bassline_info:
track_info.append(bassline_info) track_info.append(bassline_info)
if bassline_info['tags'] is not None: if bassline_info["tags"] is not None:
if 'bassline' not in tags['TAG']: #certo if "bassline" not in tags["TAG"]: # certo
tags['TAG'].append('bassline') tags["TAG"].append("bassline")
if track_name not in tags['TAG']: #certo if track_name not in tags["TAG"]: # certo
tags['bassline'].append(track_name) tags["bassline"].append(track_name)
if 'audiofileprocessor' not in tags['plugin']: #certo if "audiofileprocessor" not in tags["plugin"]: # certo
tags['plugin'].append(bassline_info['tags']) tags["plugin"].append(bassline_info["tags"])
if 'tripleoscillator' not in tags['plugin']: if "tripleoscillator" not in tags["plugin"]:
if bassline_info['tags'] == 'tripleoscillator': if bassline_info["tags"] == "tripleoscillator":
tags['plugin'].append(bassline_info['tags']) tags["plugin"].append(bassline_info["tags"])
elif track_type == "2": # Sample (aparentemente, correto)
elif track_type == '2': # Sample (aparentemente, correto)
sample_info = parse_samples(file_path, track) sample_info = parse_samples(file_path, track)
if sample_info: if sample_info:
track_info.append(sample_info) track_info.append(sample_info)
if 'sample' not in tags['TAG']: if "sample" not in tags["TAG"]:
tags['TAG'].append('sample') tags["TAG"].append("sample")
sample_name = sample_info['sample_name'] sample_name = sample_info["sample_name"]
if sample_name == None: if sample_name == None:
sample_name = track_name sample_name = track_name
tags['sample'].append(sample_name) tags["sample"].append(sample_name)
elif track_type in ['5', '6']: # Automation (aparentemente, correto) elif track_type in ["5", "6"]: # Automation (aparentemente, correto)
automation_info = parse_automation(file_path) automation_info = parse_automation(file_path)
if automation_info: if automation_info:
track_info.append(automation_info) track_info.append(automation_info)
if 'automation' not in tags['TAG']: if "automation" not in tags["TAG"]:
tags['TAG'].append('automation') tags["TAG"].append("automation")
tags['automation'].append(track_name) tags["automation"].append(track_name)
else: else:
print('\n\n\n\n\n\nERRO\n\n\n\n\n\n') print("\n\n\n\n\n\nERRO\n\n\n\n\n\n")
return return
file_name_with_extension = os.path.basename(file_path) file_name_with_extension = os.path.basename(file_path)
file_name, _ = os.path.splitext(file_name_with_extension) file_name, _ = os.path.splitext(file_name_with_extension)
return { return {
'file': file_name, "file": file_name,
'src': file_path, "src": file_path,
'bpm': bpm, "bpm": bpm,
'tags': tags, "tags": tags,
'tracks': track_info "tracks": track_info,
} }
except ET.ParseError as e: except ET.ParseError as e:
print(f'Erro ao analisar o arquivo XML {file_path}: {e}') print(f"Erro ao analisar o arquivo XML {file_path}: {e}")
return None return None
def parse_generic_track(track): def parse_generic_track(track):
track_name = track.attrib.get('name', 'N/A') track_name = track.attrib.get("name", "N/A")
track_type = track.attrib.get('type') track_type = track.attrib.get("type")
return { return {"track_name": track_name, "type": track_type, "instruments": []}
'track_name': track_name,
'type': track_type,
'instruments': []
}
def parse_plugin_track(instrumenttrack_element, plugin_name): def parse_plugin_track(instrumenttrack_element, plugin_name):
plugin_name = plugin_name.lower() plugin_name = plugin_name.lower()
if plugin_name not in SUPPORTED_PLUGINS: if plugin_name not in SUPPORTED_PLUGINS:
return {'error': f"Plugin '{plugin_name}' não está na lista de suportados"} return {"error": f"Plugin '{plugin_name}' não está na lista de suportados"}
try: try:
# Tenta carregar um parser específico se ele existir (ex: plugins/tripleoscillator.py)
module_path = f"plugins.{plugin_name}" module_path = f"plugins.{plugin_name}"
plugin_module = importlib.import_module(module_path) plugin_module = importlib.import_module(module_path)
if hasattr(plugin_module, 'parse_instrument'): if hasattr(plugin_module, "parse_instrument"):
return plugin_module.parse_instrument(instrumenttrack_element) return plugin_module.parse_instrument(instrumenttrack_element)
else: else:
return {'error': f"O plugin '{plugin_name}' não possui a função 'parse_instrument'"} # Se o módulo existe mas não tem a função, usa o genérico
return extract_generic_attributes(instrumenttrack_element, plugin_name)
except ModuleNotFoundError: except ModuleNotFoundError:
return {'error': f"Módulo do plugin '{plugin_name}' não encontrado"} # === ALTERAÇÃO CRUCIAL ===
# Se não existir script python para o plugin, usamos o extrator genérico.
# Isso garante que Kicker, Organic, ZynAddSubFX, etc. funcionem imediatamente.
return extract_generic_attributes(instrumenttrack_element, plugin_name)
except Exception as e: except Exception as e:
return {'error': f"Erro ao carregar plugin '{plugin_name}': {e}"} return {"error": f"Erro crítico ao processar plugin '{plugin_name}': {e}"}
def extract_generic_attributes(instrumenttrack_element, plugin_name):
"""
Varre o XML do instrumento e extrai todos os atributos da tag do plugin
e os dados do envelope (ADSR) padrão.
"""
data = {}
# 1. Busca a tag principal do instrumento
instrument_node = instrumenttrack_element.find("./instrument")
if instrument_node is None:
return {"error": "Nó <instrument> não encontrado"}
# 2. Busca a tag específica do plugin (ex: <kicker ... /> ou <organic ... />)
# O LMMS geralmente usa o nome do plugin como nome da tag filha
plugin_node = instrument_node.find(f"./{plugin_name}")
if plugin_node is not None:
# Converte todos os atributos do XML (startfreq, vol, wave, etc.) para JSON
data[plugin_name] = plugin_node.attrib
else:
# Fallback: Se não achar pelo nome, tenta pegar o primeiro filho que não seja vazio
# Útil se houver discrepância de nomes (ex: 'lb302' vs 'lb302_instrument')
if len(list(instrument_node)) > 0:
# Pega o primeiro filho e usa seus atributos
child = list(instrument_node)[0]
data[plugin_name] = child.attrib
# 3. Extração de Envelopes (ADSR) e Filtros
# Quase todos os plugins do LMMS compartilham isso (elvol, elcut, elres)
# Eles ficam no mesmo nível de <instrument>, dentro de <eldata>
eldata_node = instrumenttrack_element.find("./eldata")
if eldata_node is not None:
data["eldata"] = eldata_node.attrib
# Sub-nós comuns de envelope
for sub in ["elvol", "elcut", "elres"]:
sub_node = eldata_node.find(f"./{sub}")
if sub_node is not None:
data[sub] = sub_node.attrib
return data
@@ -0,0 +1,83 @@
20/11/2025 12:57:09 [INFO] ==============================
20/11/2025 12:57:09 [INFO] AUDITORIA DE AMBIENTE (HARDWARE)
20/11/2025 12:57:09 [INFO] ==============================
20/11/2025 12:57:09 [INFO] Sistema: Linux 6.8.0-87-generic
20/11/2025 12:57:09 [INFO] Kernel: #88-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 09:28:41 UTC 2025
20/11/2025 12:57:09 [INFO] Node: ubuntu
20/11/2025 12:57:09 [INFO] CPU Modelo: Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
20/11/2025 12:57:09 [INFO] Núcleos (Log): 12
20/11/2025 12:57:09 [INFO] Núcleos (Disp): 12 (Alocados para este script)
20/11/2025 12:57:09 [INFO] Memória Total: 7.69 GB
20/11/2025 12:57:09 [INFO] Disco (Total): 448 GB
20/11/2025 12:57:09 [INFO] Disco (Livre): 117 GB
20/11/2025 12:57:09 [INFO] ==============================
20/11/2025 12:57:09 [INFO] === Iniciando Pipeline de Indexação Paralela ===
20/11/2025 12:57:09 [INFO] Log sendo salvo em: /nethome/jotachina/projetos/mmpSearch/scripts/handler/logs/execucao_2025-11-20_12-57-09.log
20/11/2025 12:57:09 [INFO] Iniciando processamento de 69 arquivos.
20/11/2025 12:57:09 [INFO] Utilizando 12 núcleos de CPU.
20/11/2025 12:57:09 [INFO] [PID 1431048] Processando: tp1 - Luiz Filipe Almada.mmp
20/11/2025 12:57:09 [INFO] [PID 1431049] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00032-HAPPY-HARDCORE-ACID-READY.mmp
20/11/2025 12:57:09 [INFO] [PID 1431050] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00031-TRUE-IBIZA-TRANCE-READY.mmp
20/11/2025 12:57:09 [INFO] [PID 1431051] Processando: Floating.mmp
20/11/2025 12:57:09 [INFO] [PID 1431052] Processando: Tears of Tragedy Classical 2.mmp
20/11/2025 12:57:09 [INFO] [PID 1431053] Processando: XpressiveTest10.mmp
20/11/2025 12:57:09 [INFO] [PID 1431054] Processando: Opus III - A Fine Day 1992.mmp
20/11/2025 12:57:09 [INFO] [PID 1431055] Processando: Living Joy - don't stop movin 1996 Loop.mmp
20/11/2025 12:57:09 [INFO] [PID 1431056] Processando: Hizaki Classical.mmp
20/11/2025 12:57:09 [INFO] [PID 1431058] Processando: Relaxing Theme 2.mmp
20/11/2025 12:57:09 [INFO] [PID 1431057] Processando: Computacao_Musical_Thiago_Rocha_de_Moraes.mmp
20/11/2025 12:57:09 [INFO] [PID 1431059] Processando: Ancient GodSword.mmp
20/11/2025 12:57:09 [INFO] [PID 1431056] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00163-IBIZA-ACID-TRANCE-READY.mmp
20/11/2025 12:57:09 [INFO] [PID 1431051] Processando: Ukifune.mmp
20/11/2025 12:57:09 [INFO] [PID 1431048] Processando: Opus III - A Fine Day 1992 Loop.mmp
20/11/2025 12:57:09 [INFO] [PID 1431049] Processando: Eternal Glory.mmp
20/11/2025 12:57:09 [INFO] [PID 1431050] Processando: tp1_MarcoAntonio.mmp
20/11/2025 12:57:09 [INFO] [PID 1431059] Processando: Um começo.mmp
20/11/2025 12:57:09 [INFO] [PID 1431057] Processando: Back to Earth EXTENDED.mmp
20/11/2025 12:57:09 [INFO] [PID 1431052] Processando: Relaxing Theme.mmp
20/11/2025 12:57:09 [INFO] [PID 1431050] Processando: Galneryus Classical.mmp
20/11/2025 12:57:10 [INFO] [PID 1431050] Processando: The Drum.mmp
20/11/2025 12:57:10 [INFO] [PID 1431056] Processando: Syu Classical.mmp
20/11/2025 12:57:10 [INFO] [PID 1431059] Processando: Psychedelic storm.mmp
20/11/2025 12:57:10 [INFO] [PID 1431057] Processando: leandro_souza_atvd1.mmp
20/11/2025 12:57:10 [INFO] [PID 1431051] Processando: Against your desire.mmp
20/11/2025 12:57:10 [INFO] [PID 1431048] Processando: MPXVM - FUMIX 307 ( Original Mix ).mmp
20/11/2025 12:57:10 [INFO] [PID 1431054] Processando: Red Carpet - Alright 2004 Loop.mmp
20/11/2025 12:57:10 [INFO] [PID 1431056] Processando: Orbital - Halcyon On and On 1993 Loop.mmp
20/11/2025 12:57:10 [INFO] [PID 1431057] Processando: regarde toi.mmp
20/11/2025 12:57:10 [INFO] [PID 1431059] Processando: Nuttertools.mmp
20/11/2025 12:57:10 [INFO] [PID 1431055] Processando: FelipeFerraz.mmp
20/11/2025 12:57:11 [INFO] [PID 1431059] Processando: Danse Le Temps.mmp
20/11/2025 12:57:11 [INFO] [PID 1431054] Processando: Robin S - Show Me Love 1993 Loop.mmp
20/11/2025 12:57:11 [INFO] [PID 1431057] Processando: deprecado_wallace.mmp
20/11/2025 12:57:11 [INFO] [PID 1431055] Processando: Gustavo Castro.mmp
20/11/2025 12:57:11 [INFO] [PID 1431051] Processando: stairs.mmp
20/11/2025 12:57:11 [INFO] [PID 1431055] Processando: VitorAugusto.mmp
20/11/2025 12:57:11 [INFO] [PID 1431056] Processando: base-traphard.mmp
20/11/2025 12:57:11 [INFO] [PID 1431059] Processando: A return from the dancing stars.mmp
20/11/2025 12:57:11 [INFO] [PID 1431057] Processando: eliasMendesSong.mmp
20/11/2025 12:57:12 [INFO] [PID 1431048] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00035-HAPPY-HARDCORE-ACID-READY.mmp
20/11/2025 12:57:12 [INFO] [PID 1431059] Processando: Nightcrawlers - Surrender Your Love 1995 Loop.mmp
20/11/2025 12:57:12 [INFO] [PID 1431055] Processando: Introduction.mmp
20/11/2025 12:57:12 [INFO] [PID 1431051] Processando: Provincetown.mmp
20/11/2025 12:57:12 [INFO] [PID 1431056] Processando: carlos.mmp
20/11/2025 12:57:12 [INFO] [PID 1431052] Processando: JoãoVitorSimão-2023008380-megaMainSong.mmp
20/11/2025 12:57:12 [INFO] [PID 1431058] Processando: beatJulioCesardeSousa.mmp
20/11/2025 12:57:12 [INFO] [PID 1431056] Processando: Iara Rodrigues.mmp
20/11/2025 12:57:13 [INFO] [PID 1431048] Processando: grokihub-intro-meme.mmp
20/11/2025 12:57:13 [INFO] [PID 1431054] Processando: Mantronix - Got To Have Your Love 1989 Loop.mmp
20/11/2025 12:57:13 [INFO] [PID 1431055] Processando: teste.mmp
20/11/2025 12:57:13 [INFO] [PID 1431057] Processando: gabriel_gomes.mmp
20/11/2025 12:57:13 [INFO] [PID 1431049] Processando: Solaris Deep Note.mmp
20/11/2025 12:57:13 [INFO] [PID 1431059] Processando: My worst enemy.mmp
20/11/2025 12:57:13 [INFO] [PID 1431058] Processando: New Exploration 3.mmp
20/11/2025 12:57:13 [INFO] [PID 1431055] Processando: On track.mmp
20/11/2025 12:57:13 [INFO] [PID 1431048] Processando: space-camel.mmp
20/11/2025 12:57:13 [INFO] [PID 1431051] Processando: Mighty Dub Katz - Magic Carpet Ride 1995 Loop.mmp
20/11/2025 12:57:13 [INFO] [PID 1431052] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00165-IBIZA-ACID-TRANCE-READY.mmp
20/11/2025 12:57:13 [INFO] [PID 1431055] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-00001-OLD-SCHOOL-6-READY.mmp
20/11/2025 12:57:13 [INFO] [PID 1431048] Processando: SonsAlignígenas.mmp
20/11/2025 12:57:13 [INFO] [PID 1431057] Processando: Shade of separation EXTENDED.mmp
20/11/2025 12:57:14 [INFO] [PID 1431055] Processando: Wesley_Silva_Guimarães.mmp
20/11/2025 12:57:14 [INFO] [PID 1431058] Processando: Samanta Freire.mmp
20/11/2025 12:57:14 [INFO] [PID 1431048] Processando: Relaxing Theme 3.mmp
@@ -0,0 +1,244 @@
20/11/2025 12:58:55 [INFO] ==============================
20/11/2025 12:58:55 [INFO] AUDITORIA DE AMBIENTE (HARDWARE)
20/11/2025 12:58:55 [INFO] ==============================
20/11/2025 12:58:55 [INFO] Sistema: Linux 6.8.0-87-generic
20/11/2025 12:58:55 [INFO] Kernel: #88-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 09:28:41 UTC 2025
20/11/2025 12:58:55 [INFO] Node: ubuntu
20/11/2025 12:58:55 [INFO] CPU Modelo: Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
20/11/2025 12:58:55 [INFO] Núcleos (Log): 12
20/11/2025 12:58:55 [INFO] Núcleos (Disp): 12 (Alocados para este script)
20/11/2025 12:58:55 [INFO] Memória Total: 7.69 GB
20/11/2025 12:58:55 [INFO] Disco (Total): 448 GB
20/11/2025 12:58:55 [INFO] Disco (Livre): 119 GB
20/11/2025 12:58:55 [INFO] ==============================
20/11/2025 12:58:55 [INFO] === Iniciando Pipeline de Indexação Paralela ===
20/11/2025 12:58:55 [INFO] Log sendo salvo em: /nethome/jotachina/projetos/mmpSearch/scripts/handler/logs/execucao_2025-11-20_12-58-55.log
20/11/2025 12:58:55 [INFO] Iniciando processamento de 50 arquivos.
20/11/2025 12:58:55 [INFO] Utilizando 12 núcleos de CPU.
20/11/2025 12:58:55 [INFO] [PID 1434150] Processando: Samanta Freire.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434151] Processando: Living Joy - don't stop movin 1996 Loop.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434152] Processando: space-camel.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434150] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Samanta Freire.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434151] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Living Joy - don't stop movin 1996 Loop.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434153] Processando: Iara Rodrigues.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434152] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/space-camel.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434154] Processando: teste.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434155] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00032-HAPPY-HARDCORE-ACID-READY.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434153] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Iara Rodrigues.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434156] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-00001-OLD-SCHOOL-6-READY.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434157] Processando: XpressiveTest10.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434155] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00032-HAPPY-HARDCORE-ACID-READY.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434154] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/teste.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434158] Processando: Robin S - Show Me Love 1993 Loop.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434159] Processando: Relaxing Theme 3.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434160] Processando: Tears of Tragedy Classical 2.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434156] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-00001-OLD-SCHOOL-6-READY.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434161] Processando: stairs.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434157] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/XpressiveTest10.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434158] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Robin S - Show Me Love 1993 Loop.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434160] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Tears of Tragedy Classical 2.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434161] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/stairs.mmpz
20/11/2025 12:58:55 [INFO] [PID 1434159] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Relaxing Theme 3.mmpz
20/11/2025 12:58:59 [INFO] [PID 1434160] Tears of Tragedy Classical 2.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434152] space-camel.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434158] Robin S - Show Me Love 1993 Loop.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434155] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00032-HAPPY-HARDCORE-ACID-READY.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434156] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-00001-OLD-SCHOOL-6-READY.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434151] Living Joy - don't stop movin 1996 Loop.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434150] Samanta Freire.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434154] teste.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434157] XpressiveTest10.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434161] stairs.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434153] Iara Rodrigues.mmpz: Convertido para .mmp
20/11/2025 12:58:59 [INFO] [PID 1434159] Relaxing Theme 3.mmpz: Convertido para .mmp
20/11/2025 12:59:05 [INFO] [PID 1434154] teste.mmpz: Convertido para .wav
20/11/2025 12:59:05 [INFO] [PID 1434154] Processando: My worst enemy.mmpz
20/11/2025 12:59:05 [INFO] [PID 1434154] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/My worst enemy.mmpz
20/11/2025 12:59:06 [INFO] [PID 1434154] My worst enemy.mmpz: Convertido para .mmp
20/11/2025 12:59:32 [INFO] [PID 1434154] My worst enemy.mmpz: Convertido para .wav
20/11/2025 12:59:32 [INFO] [PID 1434154] Processando: Nightcrawlers - Surrender Your Love 1995 Loop.mmpz
20/11/2025 12:59:32 [INFO] [PID 1434154] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Nightcrawlers - Surrender Your Love 1995 Loop.mmpz
20/11/2025 12:59:32 [INFO] [PID 1434150] Samanta Freire.mmpz: Convertido para .wav
20/11/2025 12:59:32 [INFO] [PID 1434154] Nightcrawlers - Surrender Your Love 1995 Loop.mmpz: Convertido para .mmp
20/11/2025 12:59:32 [INFO] [PID 1434150] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00031-TRUE-IBIZA-TRANCE-READY.mmpz
20/11/2025 12:59:32 [INFO] [PID 1434150] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00031-TRUE-IBIZA-TRANCE-READY.mmpz
20/11/2025 12:59:32 [INFO] [PID 1434150] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00031-TRUE-IBIZA-TRANCE-READY.mmpz: Convertido para .mmp
20/11/2025 12:59:32 [INFO] [PID 1434160] Tears of Tragedy Classical 2.mmpz: Convertido para .wav
20/11/2025 12:59:32 [INFO] [PID 1434160] Processando: Solaris Deep Note.mmpz
20/11/2025 12:59:32 [INFO] [PID 1434160] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Solaris Deep Note.mmpz
20/11/2025 12:59:33 [INFO] [PID 1434160] Solaris Deep Note.mmpz: Convertido para .mmp
20/11/2025 12:59:53 [INFO] [PID 1434153] Iara Rodrigues.mmpz: Convertido para .wav
20/11/2025 12:59:54 [INFO] [PID 1434153] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00034-HAPPY-HARDCORE-ACID-READY.mmpz
20/11/2025 12:59:54 [INFO] [PID 1434153] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00034-HAPPY-HARDCORE-ACID-READY.mmpz
20/11/2025 12:59:54 [INFO] [PID 1434153] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00034-HAPPY-HARDCORE-ACID-READY.mmpz: Convertido para .mmp
20/11/2025 12:59:55 [INFO] [PID 1434155] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00032-HAPPY-HARDCORE-ACID-READY.mmpz: Convertido para .wav
20/11/2025 12:59:55 [INFO] [PID 1434155] Processando: New Exploration 3.mmpz
20/11/2025 12:59:55 [INFO] [PID 1434155] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/New Exploration 3.mmpz
20/11/2025 12:59:55 [INFO] [PID 1434155] New Exploration 3.mmpz: Convertido para .mmp
20/11/2025 13:00:14 [INFO] [PID 1434156] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-00001-OLD-SCHOOL-6-READY.mmpz: Convertido para .wav
20/11/2025 13:00:15 [INFO] [PID 1434156] Processando: Hizaki Classical.mmpz
20/11/2025 13:00:15 [INFO] [PID 1434156] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Hizaki Classical.mmpz
20/11/2025 13:00:15 [INFO] [PID 1434156] Hizaki Classical.mmpz: Convertido para .mmp
20/11/2025 13:00:37 [INFO] [PID 1434158] Robin S - Show Me Love 1993 Loop.mmpz: Convertido para .wav
20/11/2025 13:00:37 [INFO] [PID 1434152] space-camel.mmpz: Convertido para .wav
20/11/2025 13:00:37 [INFO] [PID 1434152] Processando: Relaxing Theme 2.mmpz
20/11/2025 13:00:37 [INFO] [PID 1434152] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Relaxing Theme 2.mmpz
20/11/2025 13:00:38 [INFO] [PID 1434158] Processando: SonsAlignígenas.mmpz
20/11/2025 13:00:38 [INFO] [PID 1434158] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/SonsAlignígenas.mmpz
20/11/2025 13:00:38 [INFO] [PID 1434158] SonsAlignígenas.mmpz: Convertido para .mmp
20/11/2025 13:00:38 [INFO] [PID 1434152] Relaxing Theme 2.mmpz: Convertido para .mmp
20/11/2025 13:00:45 [INFO] [PID 1434156] Hizaki Classical.mmpz: Convertido para .wav
20/11/2025 13:00:45 [INFO] [PID 1434156] Processando: Ukifune.mmpz
20/11/2025 13:00:45 [INFO] [PID 1434156] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Ukifune.mmpz
20/11/2025 13:00:45 [INFO] [PID 1434156] Ukifune.mmpz: Convertido para .mmp
20/11/2025 13:00:46 [INFO] [PID 1434151] Living Joy - don't stop movin 1996 Loop.mmpz: Convertido para .wav
20/11/2025 13:00:48 [INFO] [PID 1434151] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00163-IBIZA-ACID-TRANCE-READY.mmpz
20/11/2025 13:00:48 [INFO] [PID 1434151] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00163-IBIZA-ACID-TRANCE-READY.mmpz
20/11/2025 13:00:48 [INFO] [PID 1434151] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00163-IBIZA-ACID-TRANCE-READY.mmpz: Convertido para .mmp
20/11/2025 13:00:49 [INFO] [PID 1434157] XpressiveTest10.mmpz: Convertido para .wav
20/11/2025 13:00:59 [INFO] [PID 1434158] SonsAlignígenas.mmpz: Convertido para .wav
20/11/2025 13:00:59 [INFO] [PID 1434158] Processando: tp1 - Luiz Filipe Almada.mmpz
20/11/2025 13:00:59 [INFO] [PID 1434158] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/tp1 - Luiz Filipe Almada.mmpz
20/11/2025 13:00:59 [INFO] [PID 1434158] tp1 - Luiz Filipe Almada.mmpz: Convertido para .mmp
20/11/2025 13:01:02 [INFO] [PID 1434157] Processando: Mantronix - Got To Have Your Love 1989 Loop.mmpz
20/11/2025 13:01:02 [INFO] [PID 1434157] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Mantronix - Got To Have Your Love 1989 Loop.mmpz
20/11/2025 13:01:02 [INFO] [PID 1434157] Mantronix - Got To Have Your Love 1989 Loop.mmpz: Convertido para .mmp
20/11/2025 13:01:09 [INFO] [PID 1434153] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00034-HAPPY-HARDCORE-ACID-READY.mmpz: Convertido para .wav
20/11/2025 13:01:09 [INFO] [PID 1434153] Processando: leandro_souza_atvd1.mmpz
20/11/2025 13:01:09 [INFO] [PID 1434153] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/leandro_souza_atvd1.mmpz
20/11/2025 13:01:09 [INFO] [PID 1434153] leandro_souza_atvd1.mmpz: Convertido para .mmp
20/11/2025 13:01:23 [INFO] [PID 1434153] leandro_souza_atvd1.mmpz: Convertido para .wav
20/11/2025 13:01:23 [INFO] [PID 1434153] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00165-IBIZA-ACID-TRANCE-READY.mmpz
20/11/2025 13:01:23 [INFO] [PID 1434153] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00165-IBIZA-ACID-TRANCE-READY.mmpz
20/11/2025 13:01:23 [INFO] [PID 1434153] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00165-IBIZA-ACID-TRANCE-READY.mmpz: Convertido para .mmp
20/11/2025 13:01:29 [INFO] [PID 1434156] Ukifune.mmpz: Convertido para .wav
20/11/2025 13:01:30 [INFO] [PID 1434156] Processando: Opus III - A Fine Day 1992.mmpz
20/11/2025 13:01:30 [INFO] [PID 1434156] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Opus III - A Fine Day 1992.mmpz
20/11/2025 13:01:30 [INFO] [PID 1434156] Opus III - A Fine Day 1992.mmpz: Convertido para .mmp
20/11/2025 13:01:41 [INFO] [PID 1434158] tp1 - Luiz Filipe Almada.mmpz: Convertido para .wav
20/11/2025 13:01:41 [INFO] [PID 1434158] Processando: Mighty Dub Katz - Magic Carpet Ride 1995 Loop.mmpz
20/11/2025 13:01:41 [INFO] [PID 1434158] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Mighty Dub Katz - Magic Carpet Ride 1995 Loop.mmpz
20/11/2025 13:01:41 [INFO] [PID 1434158] Mighty Dub Katz - Magic Carpet Ride 1995 Loop.mmpz: Convertido para .mmp
20/11/2025 13:01:41 [INFO] [PID 1434160] Solaris Deep Note.mmpz: Convertido para .wav
20/11/2025 13:01:43 [INFO] [PID 1434160] Processando: Introduction.mmpz
20/11/2025 13:01:43 [INFO] [PID 1434160] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Introduction.mmpz
20/11/2025 13:01:43 [INFO] [PID 1434160] Introduction.mmpz: Convertido para .mmp
20/11/2025 13:01:56 [INFO] [PID 1434154] Nightcrawlers - Surrender Your Love 1995 Loop.mmpz: Convertido para .wav
20/11/2025 13:01:56 [INFO] [PID 1434154] Processando: JoãoVitorSimão-2023008380-megaMainSong.mmpz
20/11/2025 13:01:56 [INFO] [PID 1434154] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/JoãoVitorSimão-2023008380-megaMainSong.mmpz
20/11/2025 13:01:56 [INFO] [PID 1434154] JoãoVitorSimão-2023008380-megaMainSong.mmpz: Convertido para .mmp
20/11/2025 13:02:04 [INFO] [PID 1434161] stairs.mmpz: Convertido para .wav
20/11/2025 13:02:04 [INFO] [PID 1434161] Processando: Syu Classical.mmpz
20/11/2025 13:02:04 [INFO] [PID 1434161] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Syu Classical.mmpz
20/11/2025 13:02:05 [INFO] [PID 1434161] Syu Classical.mmpz: Convertido para .mmp
20/11/2025 13:02:12 [INFO] [PID 1434150] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00031-TRUE-IBIZA-TRANCE-READY.mmpz: Convertido para .wav
20/11/2025 13:02:12 [INFO] [PID 1434150] Processando: Opus III - A Fine Day 1992 Loop.mmpz
20/11/2025 13:02:12 [INFO] [PID 1434150] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Opus III - A Fine Day 1992 Loop.mmpz
20/11/2025 13:02:12 [INFO] [PID 1434150] Opus III - A Fine Day 1992 Loop.mmpz: Convertido para .mmp
20/11/2025 13:02:21 [INFO] [PID 1434158] Mighty Dub Katz - Magic Carpet Ride 1995 Loop.mmpz: Convertido para .wav
20/11/2025 13:02:22 [INFO] [PID 1434158] Processando: Nuttertools.mmpz
20/11/2025 13:02:22 [INFO] [PID 1434158] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Nuttertools.mmpz
20/11/2025 13:02:22 [INFO] [PID 1434158] Nuttertools.mmpz: Convertido para .mmp
20/11/2025 13:02:23 [INFO] [PID 1434161] Syu Classical.mmpz: Convertido para .wav
20/11/2025 13:02:23 [INFO] [PID 1434161] Processando: Red Carpet - Alright 2004 Loop.mmpz
20/11/2025 13:02:23 [INFO] [PID 1434161] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Red Carpet - Alright 2004 Loop.mmpz
20/11/2025 13:02:23 [INFO] [PID 1434161] Red Carpet - Alright 2004 Loop.mmpz: Convertido para .mmp
20/11/2025 13:02:25 [INFO] [PID 1434151] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00163-IBIZA-ACID-TRANCE-READY.mmpz: Convertido para .wav
20/11/2025 13:02:25 [INFO] [PID 1434151] Processando: regarde toi.mmpz
20/11/2025 13:02:25 [INFO] [PID 1434151] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/regarde toi.mmpz
20/11/2025 13:02:25 [INFO] [PID 1434151] regarde toi.mmpz: Convertido para .mmp
20/11/2025 13:02:29 [INFO] [PID 1434157] Mantronix - Got To Have Your Love 1989 Loop.mmpz: Convertido para .wav
20/11/2025 13:02:29 [INFO] [PID 1434153] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00165-IBIZA-ACID-TRANCE-READY.mmpz: Convertido para .wav
20/11/2025 13:02:30 [INFO] [PID 1434153] Processando: MPXVM - FUMIX 307 ( Original Mix ).mmpz
20/11/2025 13:02:30 [INFO] [PID 1434153] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/MPXVM - FUMIX 307 ( Original Mix ).mmpz
20/11/2025 13:02:30 [INFO] [PID 1434157] Processando: VitorAugusto.mmpz
20/11/2025 13:02:30 [INFO] [PID 1434157] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/VitorAugusto.mmpz
20/11/2025 13:02:30 [INFO] [PID 1434153] MPXVM - FUMIX 307 ( Original Mix ).mmpz: Convertido para .mmp
20/11/2025 13:02:30 [INFO] [PID 1434157] VitorAugusto.mmpz: Convertido para .mmp
20/11/2025 13:03:01 [INFO] [PID 1434158] Nuttertools.mmpz: Convertido para .wav
20/11/2025 13:03:02 [INFO] [PID 1434158] Processando: Provincetown.mmpz
20/11/2025 13:03:02 [INFO] [PID 1434158] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Provincetown.mmpz
20/11/2025 13:03:02 [INFO] [PID 1434158] Provincetown.mmpz: Convertido para .mmp
20/11/2025 13:03:20 [INFO] [PID 1434157] VitorAugusto.mmpz: Convertido para .wav
20/11/2025 13:03:20 [INFO] [PID 1434157] Processando: Psychedelic storm.mmpz
20/11/2025 13:03:20 [INFO] [PID 1434157] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Psychedelic storm.mmpz
20/11/2025 13:03:20 [INFO] [PID 1434157] Psychedelic storm.mmpz: Convertido para .mmp
20/11/2025 13:03:29 [INFO] [PID 1434154] JoãoVitorSimão-2023008380-megaMainSong.mmpz: Convertido para .wav
20/11/2025 13:03:29 [INFO] [PID 1434154] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00035-HAPPY-HARDCORE-ACID-READY.mmpz
20/11/2025 13:03:29 [INFO] [PID 1434154] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00035-HAPPY-HARDCORE-ACID-READY.mmpz
20/11/2025 13:03:29 [INFO] [PID 1434154] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00035-HAPPY-HARDCORE-ACID-READY.mmpz: Convertido para .mmp
20/11/2025 13:03:38 [INFO] [PID 1434161] Red Carpet - Alright 2004 Loop.mmpz: Convertido para .wav
20/11/2025 13:03:38 [INFO] [PID 1434161] Processando: On track.mmpz
20/11/2025 13:03:38 [INFO] [PID 1434161] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/On track.mmpz
20/11/2025 13:03:38 [INFO] [PID 1434161] On track.mmpz: Convertido para .mmp
20/11/2025 13:03:52 [INFO] [PID 1434160] Introduction.mmpz: Convertido para .wav
20/11/2025 13:03:52 [INFO] [PID 1434160] Processando: Um começo.mmpz
20/11/2025 13:03:52 [INFO] [PID 1434160] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Um começo.mmpz
20/11/2025 13:03:52 [INFO] [PID 1434160] Um começo.mmpz: Convertido para .mmp
20/11/2025 13:04:08 [INFO] [PID 1434150] Opus III - A Fine Day 1992 Loop.mmpz: Convertido para .wav
20/11/2025 13:04:08 [INFO] [PID 1434150] Processando: Wesley_Silva_Guimarães.mmpz
20/11/2025 13:04:08 [INFO] [PID 1434150] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Wesley_Silva_Guimarães.mmpz
20/11/2025 13:04:09 [INFO] [PID 1434150] Wesley_Silva_Guimarães.mmpz: Convertido para .mmp
20/11/2025 13:04:09 [INFO] [PID 1434157] Psychedelic storm.mmpz: Convertido para .wav
20/11/2025 13:04:09 [INFO] [PID 1434157] Processando: winddown.mmpz
20/11/2025 13:04:09 [INFO] [PID 1434157] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/winddown.mmpz
20/11/2025 13:04:09 [INFO] [PID 1434157] winddown.mmpz: Convertido para .mmp
20/11/2025 13:04:17 [INFO] [PID 1434154] PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00035-HAPPY-HARDCORE-ACID-READY.mmpz: Convertido para .wav
20/11/2025 13:04:18 [INFO] [PID 1434154] Processando: Shade of separation EXTENDED.mmpz
20/11/2025 13:04:18 [INFO] [PID 1434154] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Shade of separation EXTENDED.mmpz
20/11/2025 13:04:18 [INFO] [PID 1434154] Shade of separation EXTENDED.mmpz: Convertido para .mmp
20/11/2025 13:04:23 [INFO] [PID 1434150] Wesley_Silva_Guimarães.mmpz: Convertido para .wav
20/11/2025 13:04:26 [INFO] [PID 1434157] winddown.mmpz: Convertido para .wav
20/11/2025 13:04:26 [INFO] [PID 1434157] Processando: tp1_MarcoAntonio.mmpz
20/11/2025 13:04:26 [INFO] [PID 1434157] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/tp1_MarcoAntonio.mmpz
20/11/2025 13:04:26 [INFO] [PID 1434157] tp1_MarcoAntonio.mmpz: Convertido para .mmp
20/11/2025 13:04:50 [INFO] [PID 1434160] Um começo.mmpz: Convertido para .wav
20/11/2025 13:05:02 [INFO] [PID 1434155] New Exploration 3.mmpz: Convertido para .wav
20/11/2025 13:05:06 [INFO] [PID 1434157] tp1_MarcoAntonio.mmpz: Convertido para .wav
20/11/2025 13:05:12 [INFO] [PID 1434151] regarde toi.mmpz: Convertido para .wav
20/11/2025 13:05:13 [INFO] [PID 1434151] Processando: The Drum.mmpz
20/11/2025 13:05:13 [INFO] [PID 1434151] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/The Drum.mmpz
20/11/2025 13:05:13 [INFO] [PID 1434151] The Drum.mmpz: Convertido para .mmp
20/11/2025 13:05:24 [INFO] [PID 1434161] On track.mmpz: Convertido para .wav
20/11/2025 13:05:28 [INFO] [PID 1434154] Shade of separation EXTENDED.mmpz: Convertido para .wav
20/11/2025 13:05:41 [INFO] [PID 1434153] MPXVM - FUMIX 307 ( Original Mix ).mmpz: Convertido para .wav
20/11/2025 13:05:42 [INFO] [PID 1434153] Processando: Orbital - Halcyon On and On 1993 Loop.mmpz
20/11/2025 13:05:42 [INFO] [PID 1434153] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Orbital - Halcyon On and On 1993 Loop.mmpz
20/11/2025 13:05:42 [INFO] [PID 1434153] Orbital - Halcyon On and On 1993 Loop.mmpz: Convertido para .mmp
20/11/2025 13:06:11 [INFO] [PID 1434159] Relaxing Theme 3.mmpz: Convertido para .wav
20/11/2025 13:06:14 [INFO] [PID 1434159] Processando: Relaxing Theme.mmpz
20/11/2025 13:06:14 [INFO] [PID 1434159] Movido para: /nethome/jotachina/projetos/mmpSearch/mmp/mmpz/Relaxing Theme.mmpz
20/11/2025 13:06:14 [INFO] [PID 1434159] Relaxing Theme.mmpz: Convertido para .mmp
20/11/2025 13:06:56 [INFO] [PID 1434152] Relaxing Theme 2.mmpz: Convertido para .wav
20/11/2025 13:06:59 [INFO] [PID 1434153] Orbital - Halcyon On and On 1993 Loop.mmpz: Convertido para .wav
20/11/2025 13:07:40 [INFO] [PID 1434158] Provincetown.mmpz: Convertido para .wav
20/11/2025 13:07:41 [INFO] [PID 1434156] Opus III - A Fine Day 1992.mmpz: Convertido para .wav
20/11/2025 13:07:57 [INFO] [PID 1434151] The Drum.mmpz: Convertido para .wav
20/11/2025 13:08:34 [INFO] [PID 1434159] Relaxing Theme.mmpz: Convertido para .wav
20/11/2025 13:09:11 [INFO] Arquivos 'all.json' e 'all.yml' gerados com sucesso.
20/11/2025 13:09:11 [INFO] === Iniciando Geração de Manifestos (Pós-Processamento) ===
20/11/2025 13:09:11 [INFO] Manifesto salvo: /nethome/jotachina/projetos/mmpSearch/metadata/samples-manifest.json
20/11/2025 13:09:11 [INFO] Manifesto salvo: /nethome/jotachina/projetos/mmpSearch/metadata/mmp-manifest.json
20/11/2025 13:09:11 [INFO] ============================================================
20/11/2025 13:09:11 [INFO] RELATÓRIO DE EXECUÇÃO - 20/11/2025 13:09:11
20/11/2025 13:09:11 [INFO] ============================================================
20/11/2025 13:09:11 [INFO] Tempo Total do Pipeline: 615.66 segundos
20/11/2025 13:09:11 [INFO] --------------------
20/11/2025 13:09:11 [INFO] [1] Indexação Paralela (Arquivos .mmp/.mmpz)
20/11/2025 13:09:11 [INFO] Total Encontrado: 50
20/11/2025 13:09:11 [INFO] Sucessos: 50
20/11/2025 13:09:11 [INFO] Falhas: 0
20/11/2025 13:09:11 [INFO] --------------------
20/11/2025 13:09:11 [INFO] [2] Geração de Manifestos (Frontend)
20/11/2025 13:09:11 [INFO] [OK] metadata/samples-manifest.json
20/11/2025 13:09:11 [INFO] [OK] metadata/mmp-manifest.json
20/11/2025 13:09:11 [INFO] ============================================================
20/11/2025 13:09:11 [INFO] Pipeline finalizado.
20/11/2025 13:09:11 [INFO] === Iniciando Análise Profunda de Dependências ===
20/11/2025 13:09:11 [INFO] Relatório salvo: /nethome/jotachina/projetos/mmpSearch/metadata/dependency_report.json
20/11/2025 13:09:11 [INFO] Resumo: {
"total": 50,
"healthy": 50,
"recovered": 0,
"broken": 0
}
@@ -0,0 +1,94 @@
20/11/2025 13:26:46 [INFO] ==============================
20/11/2025 13:26:46 [INFO] AUDITORIA DE AMBIENTE (HARDWARE)
20/11/2025 13:26:46 [INFO] ==============================
20/11/2025 13:26:46 [INFO] Sistema: Linux 6.8.0-87-generic
20/11/2025 13:26:46 [INFO] Kernel: #88-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 09:28:41 UTC 2025
20/11/2025 13:26:46 [INFO] Node: ubuntu
20/11/2025 13:26:46 [INFO] CPU Modelo: Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
20/11/2025 13:26:46 [INFO] Núcleos (Log): 12
20/11/2025 13:26:46 [INFO] Núcleos (Disp): 12 (Alocados para este script)
20/11/2025 13:26:46 [INFO] Memória Total: 7.69 GB
20/11/2025 13:26:46 [INFO] Disco (Total): 448 GB
20/11/2025 13:26:46 [INFO] Disco (Livre): 119 GB
20/11/2025 13:26:46 [INFO] ==============================
20/11/2025 13:26:46 [INFO] === Iniciando Pipeline de Indexação Paralela ===
20/11/2025 13:26:46 [INFO] Log sendo salvo em: /nethome/jotachina/projetos/mmpSearch/scripts/handler/logs/execucao_2025-11-20_13-26-46.log
20/11/2025 13:26:46 [INFO] Iniciando processamento de 50 arquivos.
20/11/2025 13:26:46 [INFO] Utilizando 12 núcleos de CPU.
20/11/2025 13:26:46 [INFO] [PID 1481372] Processando: tp1 - Luiz Filipe Almada.mmp
20/11/2025 13:26:46 [INFO] [PID 1481373] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00032-HAPPY-HARDCORE-ACID-READY.mmp
20/11/2025 13:26:46 [INFO] [PID 1481374] Processando: tp1_MarcoAntonio.mmp
20/11/2025 13:26:46 [INFO] [PID 1481375] Processando: Tears of Tragedy Classical 2.mmp
20/11/2025 13:26:46 [INFO] [PID 1481376] Processando: XpressiveTest10.mmp
20/11/2025 13:26:46 [INFO] [PID 1481377] Processando: Opus III - A Fine Day 1992.mmp
20/11/2025 13:26:46 [INFO] [PID 1481378] Processando: Living Joy - don't stop movin 1996 Loop.mmp
20/11/2025 13:26:46 [INFO] [PID 1481379] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00163-IBIZA-ACID-TRANCE-READY.mmp
20/11/2025 13:26:46 [INFO] [PID 1481380] Processando: Um começo.mmp
20/11/2025 13:26:46 [INFO] [PID 1481381] Processando: Syu Classical.mmp
20/11/2025 13:26:46 [INFO] [PID 1481383] Processando: leandro_souza_atvd1.mmp
20/11/2025 13:26:46 [INFO] [PID 1481382] Processando: Psychedelic storm.mmp
20/11/2025 13:26:46 [INFO] [PID 1481381] Processando: Orbital - Halcyon On and On 1993 Loop.mmp
20/11/2025 13:26:46 [INFO] [PID 1481372] Processando: Opus III - A Fine Day 1992 Loop.mmp
20/11/2025 13:26:46 [INFO] [PID 1481375] Processando: Relaxing Theme.mmp
20/11/2025 13:26:46 [INFO] [PID 1481373] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00031-TRUE-IBIZA-TRANCE-READY.mmp
20/11/2025 13:26:46 [INFO] [PID 1481383] Processando: regarde toi.mmp
20/11/2025 13:26:46 [INFO] [PID 1481374] Processando: Ukifune.mmp
20/11/2025 13:26:46 [INFO] [PID 1481380] Processando: The Drum.mmp
20/11/2025 13:26:46 [INFO] [PID 1481379] Processando: Relaxing Theme 2.mmp
20/11/2025 13:26:46 [INFO] [PID 1481382] Processando: Nuttertools.mmp
20/11/2025 13:26:46 [INFO] [PID 1481383] Processando: stairs.mmp
20/11/2025 13:26:46 [INFO] [PID 1481373] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00035-HAPPY-HARDCORE-ACID-READY.mmp
20/11/2025 13:26:46 [INFO] [PID 1481382] Processando: Mantronix - Got To Have Your Love 1989 Loop.mmp
20/11/2025 13:26:46 [INFO] [PID 1481372] Processando: Nightcrawlers - Surrender Your Love 1995 Loop.mmp
20/11/2025 13:26:46 [INFO] [PID 1481377] Processando: Red Carpet - Alright 2004 Loop.mmp
20/11/2025 13:26:46 [INFO] [PID 1481373] Processando: Robin S - Show Me Love 1993 Loop.mmp
20/11/2025 13:26:46 [INFO] [PID 1481383] Processando: MPXVM - FUMIX 307 ( Original Mix ).mmp
20/11/2025 13:26:46 [INFO] [PID 1481374] Processando: Introduction.mmp
20/11/2025 13:26:47 [INFO] [PID 1481381] Processando: Provincetown.mmp
20/11/2025 13:26:47 [INFO] [PID 1481372] Processando: My worst enemy.mmp
20/11/2025 13:26:47 [INFO] [PID 1481377] Processando: JoãoVitorSimão-2023008380-megaMainSong.mmp
20/11/2025 13:26:47 [INFO] [PID 1481374] Processando: teste.mmp
20/11/2025 13:26:47 [INFO] [PID 1481374] Processando: Iara Rodrigues.mmp
20/11/2025 13:26:47 [INFO] [PID 1481382] Processando: VitorAugusto.mmp
20/11/2025 13:26:47 [INFO] [PID 1481378] Processando: Hizaki Classical.mmp
20/11/2025 13:26:47 [INFO] [PID 1481378] Processando: space-camel.mmp
20/11/2025 13:26:47 [INFO] [PID 1481372] Processando: Solaris Deep Note.mmp
20/11/2025 13:26:47 [INFO] [PID 1481373] Processando: Samanta Freire.mmp
20/11/2025 13:26:47 [INFO] [PID 1481377] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0003-TEMPLATE-A-1-old-TEMPLATE-TR-00165-IBIZA-ACID-TRANCE-READY.mmp
20/11/2025 13:26:47 [INFO] [PID 1481382] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-00001-OLD-SCHOOL-6-READY.mmp
20/11/2025 13:26:47 [INFO] [PID 1481373] Processando: On track.mmp
20/11/2025 13:26:47 [INFO] [PID 1481378] Processando: Shade of separation EXTENDED.mmp
20/11/2025 13:26:47 [INFO] [PID 1481373] Processando: Relaxing Theme 3.mmp
20/11/2025 13:26:47 [INFO] [PID 1481382] Processando: SonsAlignígenas.mmp
20/11/2025 13:26:47 [INFO] [PID 1481374] Processando: PRICE-SINGLE-1-USD-FULL-COLLECTION-15-USD-0001-TEMPLATE-A-1-old-TEMPLATE-HH-00034-HAPPY-HARDCORE-ACID-READY.mmp
20/11/2025 13:26:48 [INFO] [PID 1481381] Processando: Mighty Dub Katz - Magic Carpet Ride 1995 Loop.mmp
20/11/2025 13:26:48 [INFO] [PID 1481372] Processando: New Exploration 3.mmp
20/11/2025 13:26:49 [INFO] [PID 1481373] Processando: Wesley_Silva_Guimarães.mmp
20/11/2025 13:26:53 [INFO] [PID 1481376] Processando: winddown.mmp
20/11/2025 13:27:39 [INFO] Arquivos 'all.json' e 'all.yml' gerados com sucesso.
20/11/2025 13:27:39 [INFO] === Iniciando Geração de Manifestos (Pós-Processamento) ===
20/11/2025 13:27:39 [INFO] Manifesto salvo: /nethome/jotachina/projetos/mmpSearch/metadata/samples-manifest.json
20/11/2025 13:27:39 [INFO] Manifesto salvo: /nethome/jotachina/projetos/mmpSearch/metadata/mmp-manifest.json
20/11/2025 13:27:39 [INFO] ============================================================
20/11/2025 13:27:39 [INFO] RELATÓRIO DE EXECUÇÃO - 20/11/2025 13:27:39
20/11/2025 13:27:39 [INFO] ============================================================
20/11/2025 13:27:39 [INFO] Tempo Total do Pipeline: 52.97 segundos
20/11/2025 13:27:39 [INFO] --------------------
20/11/2025 13:27:39 [INFO] [1] Indexação Paralela (Arquivos .mmp/.mmpz)
20/11/2025 13:27:39 [INFO] Total Encontrado: 50
20/11/2025 13:27:39 [INFO] Sucessos: 50
20/11/2025 13:27:39 [INFO] Falhas: 0
20/11/2025 13:27:39 [INFO] --------------------
20/11/2025 13:27:39 [INFO] [2] Geração de Manifestos (Frontend)
20/11/2025 13:27:39 [INFO] [OK] metadata/samples-manifest.json
20/11/2025 13:27:39 [INFO] [OK] metadata/mmp-manifest.json
20/11/2025 13:27:39 [INFO] ============================================================
20/11/2025 13:27:39 [INFO] Pipeline finalizado.
20/11/2025 13:27:39 [INFO] === Iniciando Análise Profunda de Dependências ===
20/11/2025 13:27:39 [INFO] Relatório salvo: /nethome/jotachina/projetos/mmpSearch/metadata/dependency_report.json
20/11/2025 13:27:39 [INFO] Resumo: {
"total": 50,
"healthy": 50,
"recovered": 0,
"broken": 0
}