При выполнении скрипта без фрагмента кода фильтрации по энергии трека всё работает:
Filter.rangeTracks(Flow, {
features: {
energy: { min: 0.0, max: 0.5 },
}
});
function createMySlowFlow() {
let Flow = Source.getTracks([
{ name: 'Jam', id: '123'}
]);
let SavedTracks = Source.getSavedTracks();
let BigMix = Source.getTracks([
{ name: 'BigMix by Goofy', id: '123'}
]);
let RsntHistoryTracks = Source.getTracks([
{ name: 'History by Goofy', id: '123'}
]);
let Ban = Source.getTracks([
{ name: 'Ban', id: '123'}
]);
//Flow
Filter.removeTracks(Flow, SavedTracks);
Filter.removeTracks(Flow, RsntHistoryTracks);
Filter.removeArtists(Flow, Ban);
Filter.rangeTracks(Flow, {
features: {
energy: { min: 0.0, max: 0.5 },
}
});
Filter.dedupArtists(Flow);
Selector.keepRandom(Flow, 100);
Order.shuffle(Flow);
console.log('Количество треков Flow', Flow.length);
//BigMix
Filter.removeTracks(BigMix, Flow);
Filter.rangeTracks(BigMix, {
features: {
energy: { min: 0.0, max: 0.5 },
}
});
Filter.dedupArtists(BigMix);
Selector.keepRandom(BigMix, 100);
Order.shuffle(BigMix);
console.log('Количество треков BigMix', BigMix.length);
//BigMix+Flow
let BigMixFlow = Combiner.mixin(Flow, BigMix, 1, 1, true);
//+MySave
Filter.removeTracks(SavedTracks, RsntHistoryTracks);
Order.shuffle(SavedTracks);
Filter.rangeTracks(SavedTracks, {
features: {
energy: { min: 0.0, max: 0.5 },
}
});
Filter.dedupArtists(SavedTracks);
Selector.keepRandom(SavedTracks, 100)
console.log('Количество треков MySave', SavedTracks.length);
//BigMixFlow+MySave
let BigMixFlowSave = Combiner.mixin(BigMixFlow, SavedTracks, 1, 1, true);
let UpdTime = new Date();
Playlist.saveWithReplace({
id: '123',
name: 'My Slow Flow by Goofy',
description: UpdTime,
tracks: BigMixFlowSave,
});
console.log('Число запросов', Request.getCountRequest());
}