Changeset 33105
- Timestamp:
- 2019-05-24T00:16:49+12:00 (5 years ago)
- Location:
- gs2-extensions/music-ir-src/trunk
- Files:
-
- 2 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gs2-extensions/music-ir-src/trunk/perllib/plugins/MusicIRPlugin.pm
r28549 r33105 27 27 package MusicIRPlugin; 28 28 29 use Base Plugin;29 use BaseImporter; 30 30 use jAudioExtractor; 31 31 use jSongMinerExtractor; 32 use pEssentiaExtractor; 32 33 33 34 use strict; … … 38 39 39 40 sub BEGIN { 40 @MusicIRPlugin::ISA = ('Base Plugin', 'jAudioExtractor', 'jSongMinerExtractor');41 @MusicIRPlugin::ISA = ('BaseImporter', 'jAudioExtractor', 'jSongMinerExtractor', 'pEssentiaExtractor'); 41 42 } 42 43 … … 44 45 [ 45 46 { 'name' => "compute_mir_features", 46 'desc' => "{BasePlugin.compute_mir_features}", 47 'desc' => "{BaseImporter.compute_mir_features}", 48 'type' => "enum", 49 'list' => [{'name' => "true", 'desc' => "{common.true}"}, 50 {'name' => "false", 'desc' => "{common.false}"}], 51 'deft' => "false", 52 'reqd' => "no" }, 53 { 'name' => "compute_essentia_features", 54 'desc' => "{BaseImporter.compute_essentia_features}", 47 55 'type' => "enum", 48 56 'list' => [{'name' => "true", 'desc' => "{common.true}"}, … … 51 59 'reqd' => "no" }, 52 60 { 'name' => "retrieve_mir_metadata", 53 'desc' => "{Base Plugin.retrieve_mir_metadata}",61 'desc' => "{BaseImporter.retrieve_mir_metadata}", 54 62 'type' => "enum", 55 63 'list' => [{'name' => "true", 'desc' => "{common.true}"}, … … 58 66 'reqd' => "no" }, 59 67 { 'name' => "process_exp", 60 'desc' => "{Base Plugin.process_exp}",68 'desc' => "{BaseImporter.process_exp}", 61 69 'type' => "regexp", 62 70 'deft' => &get_default_process_exp(), … … 83 91 my $jae_self = new jAudioExtractor($pluginlist, $inputargs, $hashArgOptLists,1); 84 92 my $jsme_self = new jSongMinerExtractor($pluginlist, $inputargs, $hashArgOptLists,1); 85 my $base_self = new BasePlugin($pluginlist, $inputargs, $hashArgOptLists); 86 87 my $self = BasePlugin::merge_inheritance($jae_self,$jsme_self,$base_self); 93 my $pee_self = new pEssentiaExtractor($pluginlist, $inputargs, $hashArgOptLists,1); 94 95 my $base_self = new BaseImporter($pluginlist, $inputargs, $hashArgOptLists); 96 97 my $self = BaseImporter::merge_inheritance($jae_self,$jsme_self,$base_self); 88 98 89 99 return bless $self, $class; … … 93 103 my $self = shift (@_); 94 104 95 return q^(?i)(\.mp3|\.wave?|\.aif[fc]?|\.au|\.snd|\.og[ga] )$^;105 return q^(?i)(\.mp3|\.wave?|\.aif[fc]?|\.au|\.snd|\.og[ga]|\.m4a)$^; 96 106 } 97 107 … … 103 113 $self->jAudioExtractor::begin(@_); 104 114 $self->jSongMinerExtractor::begin(@_); 115 $self->pEssentiaExtractor::begin(@_); 105 116 } 106 117 … … 132 143 } 133 144 145 if ($self->{'compute_essentia_features'} eq "true") 146 { 147 my $utf8_filename_no_path = $self->filepath_to_utf8($filename_no_path); 148 my $url_encoded_filename = &util::rename_file($utf8_filename_no_path, $self->{'file_rename_method'}); 149 150 my $features_filename = $self->compute_essentia_features($filename_full_path); 151 my ($features_ext) = ($features_filename =~ m/\.([^.]+)$/); 152 153 154 my $mime_type = ($features_ext eq "json") ? "application/json" : "text/plain"; 155 $doc_obj->associate_file($features_filename, "pessentia.$features_ext", 156 $mime_type, $top_section); 157 158 } 159 134 160 } 135 161
Note:
See TracChangeset
for help on using the changeset viewer.