monkeymusic 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/README.md +401 -0
- data/bin/monkeymusic +2 -2
- data/bin/monkeymusic-browser +6 -0
- data/levels/demo_level.rb +5 -5
- data/levels/testlevel.rb +6 -6
- data/lib/monkey_music.rb +0 -1
- data/lib/monkey_music/metadata/track.rb +3 -3
- data/lib/monkey_music/player.rb +8 -4
- data/lib/monkey_music/runner.rb +12 -23
- data/lib/monkey_music/ui/browser.rb +5 -3
- data/lib/monkey_music/ui/console.rb +1 -1
- data/lib/monkey_music/units/monkey.rb +2 -2
- data/lib/monkey_music/units/track.rb +5 -5
- data/lib/monkey_music/units/user.rb +3 -3
- data/lib/monkey_music_generate/runner.rb +7 -6
- data/lib/monkey_music_generate/score_system.rb +7 -7
- data/users/demo_user.yaml +162 -162
- metadata +4 -4
- data/README.markdown +0 -38
- data/demo_player +0 -98
data/levels/testlevel.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
carrying_capacity 3
|
2
2
|
turn_limit 100
|
3
|
-
time_limit
|
3
|
+
time_limit 10000
|
4
4
|
|
5
5
|
legend({
|
6
6
|
"1" => Monkey.player(1),
|
7
7
|
"2" => Monkey.player(2),
|
8
|
-
"X" => Track.
|
9
|
-
"x" => Track.
|
10
|
-
"l" => Track.
|
11
|
-
"t" => Track.
|
12
|
-
"T" => Track.
|
8
|
+
"X" => Track.tier(-2),
|
9
|
+
"x" => Track.tier(-1),
|
10
|
+
"l" => Track.tier(1),
|
11
|
+
"t" => Track.tier(2),
|
12
|
+
"T" => Track.tier(3),
|
13
13
|
"U" => User,
|
14
14
|
"W" => Wall,
|
15
15
|
})
|
data/lib/monkey_music.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module MonkeyMusic::Metadata
|
2
2
|
class Track
|
3
|
-
attr_reader :uri, :name, :artist, :album, :year, :
|
3
|
+
attr_reader :uri, :name, :artist, :album, :year, :tier, :value
|
4
4
|
|
5
5
|
def initialize(args = {})
|
6
6
|
@name = args[:name]
|
@@ -10,8 +10,8 @@ module MonkeyMusic::Metadata
|
|
10
10
|
@uri = args[:uri]
|
11
11
|
end
|
12
12
|
|
13
|
-
def set_value(
|
14
|
-
@
|
13
|
+
def set_value(tier, value)
|
14
|
+
@tier = tier
|
15
15
|
@value = value
|
16
16
|
end
|
17
17
|
|
data/lib/monkey_music/player.rb
CHANGED
@@ -2,7 +2,7 @@ require 'benchmark'
|
|
2
2
|
|
3
3
|
module MonkeyMusic
|
4
4
|
class Player
|
5
|
-
attr_accessor :monkey, :level, :has_boost, :remaining_time
|
5
|
+
attr_accessor :monkey, :level, :has_boost, :remaining_time, :command_line_argument
|
6
6
|
|
7
7
|
def initialize(file)
|
8
8
|
@file = file
|
@@ -11,10 +11,13 @@ module MonkeyMusic
|
|
11
11
|
@penalty = 0
|
12
12
|
@moves = []
|
13
13
|
@queries = []
|
14
|
+
@command_line_argument = ""
|
14
15
|
end
|
15
16
|
|
16
17
|
def init!
|
17
|
-
IO.popen(@file, "r+")
|
18
|
+
IO.popen([@file, @command_line_argument], "r+") do |io|
|
19
|
+
io.puts initial_output
|
20
|
+
end
|
18
21
|
end
|
19
22
|
|
20
23
|
def query!(turn)
|
@@ -26,8 +29,6 @@ module MonkeyMusic
|
|
26
29
|
io.puts turn_output(turn)
|
27
30
|
@remaining_time -= (Benchmark.realtime { @input = io.gets } * 1000).round
|
28
31
|
parse!(@input) if @input
|
29
|
-
io.puts response_to(@queries) unless @queries.empty?
|
30
|
-
@queries = []
|
31
32
|
end
|
32
33
|
@penalty = 5 if @remaining_time < 0
|
33
34
|
end
|
@@ -54,14 +55,17 @@ module MonkeyMusic
|
|
54
55
|
|
55
56
|
def turn_output(turn)
|
56
57
|
[ "TURN",
|
58
|
+
@monkey.id,
|
57
59
|
turn,
|
58
60
|
@monkey.remaining_capacity,
|
59
61
|
@remaining_time,
|
62
|
+
response_to(@queries),
|
60
63
|
@monkey.level.serialize,
|
61
64
|
].join("\n")
|
62
65
|
end
|
63
66
|
|
64
67
|
def parse!(s)
|
68
|
+
@queries = []
|
65
69
|
@tokens = s.chomp.split(",")
|
66
70
|
parse_next_token!
|
67
71
|
end
|
data/lib/monkey_music/runner.rb
CHANGED
@@ -8,15 +8,14 @@ module MonkeyMusic
|
|
8
8
|
@@default_user = 'demo_user.yaml'
|
9
9
|
@@default_player = 'demo_player'
|
10
10
|
|
11
|
-
def initialize
|
12
|
-
@arguments = arguments
|
11
|
+
def initialize
|
13
12
|
@opt_parser = OptionParser.new
|
14
13
|
@players = []
|
15
14
|
@delay = 1
|
16
15
|
init_parser(@opt_parser)
|
17
16
|
end
|
18
17
|
|
19
|
-
def run
|
18
|
+
def run(ui_class)
|
20
19
|
if ARGV[0] == "demo"
|
21
20
|
puts "\tcreate ./#{@@default_level}"
|
22
21
|
FileUtils.cp(
|
@@ -70,16 +69,9 @@ module MonkeyMusic
|
|
70
69
|
# Load level
|
71
70
|
level = Level.new(@players, user)
|
72
71
|
level.load_from_file(@level_file)
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
gets
|
77
|
-
puts "Starting game..."
|
78
|
-
ui = UI::Browser.new(@delay)
|
79
|
-
else
|
80
|
-
ui = UI::Console.new(@delay)
|
81
|
-
end
|
82
|
-
## Start game
|
72
|
+
# Initialize UI
|
73
|
+
ui = ui_class.new(@delay)
|
74
|
+
# Start game
|
83
75
|
@game = Game.new(level, @players, ui)
|
84
76
|
@game.start
|
85
77
|
end
|
@@ -92,10 +84,6 @@ module MonkeyMusic
|
|
92
84
|
(not @players.empty?)
|
93
85
|
end
|
94
86
|
|
95
|
-
def browser_ui?
|
96
|
-
@browser_ui == true
|
97
|
-
end
|
98
|
-
|
99
87
|
def init_parser(opts)
|
100
88
|
opts.banner = "Usage: monkeymusic [demo] [-p PLAYER_FILE -n PLAYER_NAME [-u USER_FILE] [-l LEVEL_FILE]]"
|
101
89
|
|
@@ -112,6 +100,12 @@ module MonkeyMusic
|
|
112
100
|
@players[-1].monkey.name = name unless @players.empty?
|
113
101
|
end
|
114
102
|
|
103
|
+
opts.on('-c',
|
104
|
+
'--command-line-argument ARG',
|
105
|
+
'An argument that will be passed to the last entered program on every execution.') do |arg|
|
106
|
+
@players[-1].command_line_argument = arg
|
107
|
+
end
|
108
|
+
|
115
109
|
opts.on('-l',
|
116
110
|
'--level LEVEL',
|
117
111
|
'The level to play.') do |file|
|
@@ -129,14 +123,9 @@ module MonkeyMusic
|
|
129
123
|
@delay = delay
|
130
124
|
end
|
131
125
|
|
132
|
-
#opts.on('-b', '--browser-ui',
|
133
|
-
#'View the game through the browser instead of the console.') do |password|
|
134
|
-
#@browser_ui = true
|
135
|
-
#end
|
136
|
-
|
137
126
|
opts.on('-v', '--version',
|
138
127
|
'Show the current version.') do |password|
|
139
|
-
puts '0.0.
|
128
|
+
puts '0.0.12' # TODO: Find out how to extract version from GemSpec
|
140
129
|
exit
|
141
130
|
end
|
142
131
|
|
@@ -1,11 +1,13 @@
|
|
1
1
|
require 'em-websocket'
|
2
|
-
require 'json'
|
3
2
|
|
4
3
|
module MonkeyMusic::UI
|
5
4
|
class Browser
|
6
5
|
|
7
6
|
def initialize(delay = 1)
|
8
7
|
@delay = delay
|
8
|
+
print "Using browser UI. Press the enter key to start game. "
|
9
|
+
gets
|
10
|
+
puts "Starting game..."
|
9
11
|
puts "Initializing websockets..."
|
10
12
|
Thread.new {
|
11
13
|
EM.run {
|
@@ -22,11 +24,11 @@ module MonkeyMusic::UI
|
|
22
24
|
end
|
23
25
|
}
|
24
26
|
}
|
25
|
-
sleep 1 # TODO: Asynchronous acknowledge that ui is ready
|
27
|
+
sleep 1.5 # TODO: Asynchronous acknowledge that ui is ready
|
26
28
|
puts "Websockets initialized!"
|
27
29
|
end
|
28
30
|
|
29
|
-
def update(level,
|
31
|
+
def update(level, turn = 0, turn_time = 0)
|
30
32
|
@ws.send(level.as_json) if @ws
|
31
33
|
sleep 1
|
32
34
|
end
|
@@ -2,14 +2,14 @@ module MonkeyMusic
|
|
2
2
|
class Track < Base
|
3
3
|
attr_accessor :metadata
|
4
4
|
|
5
|
-
def self.
|
6
|
-
Class.new Track do @
|
5
|
+
def self.tier(n)
|
6
|
+
Class.new Track do @tier = n end
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.from_user(user)
|
10
10
|
track = Track.new
|
11
|
-
track.metadata = if @
|
12
|
-
user.recommend!(@
|
11
|
+
track.metadata = if @tier
|
12
|
+
user.recommend!(@tier) || user.recommendations.sample
|
13
13
|
else
|
14
14
|
user.recommendations.sample
|
15
15
|
end
|
@@ -35,7 +35,7 @@ module MonkeyMusic
|
|
35
35
|
:y => @y,
|
36
36
|
:type => self.class.name.split('::').last,
|
37
37
|
:name => @metadata.name,
|
38
|
-
:
|
38
|
+
:tier => @metadata.tier,
|
39
39
|
:value => @metadata.value,
|
40
40
|
}.to_json
|
41
41
|
end
|
@@ -9,14 +9,14 @@ module MonkeyMusic
|
|
9
9
|
@recommendations = @remaining_recommendations = []
|
10
10
|
end
|
11
11
|
|
12
|
-
def recommend!(
|
12
|
+
def recommend!(tier)
|
13
13
|
index = @remaining_recommendations.index do |r|
|
14
|
-
r.
|
14
|
+
r.tier == tier
|
15
15
|
end
|
16
16
|
if index
|
17
17
|
@remaining_recommendations.delete_at(index)
|
18
18
|
else
|
19
|
-
@recommendations.find { |r| r.
|
19
|
+
@recommendations.find { |r| r.tier == tier }
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
@@ -52,7 +52,7 @@ module MonkeyMusic
|
|
52
52
|
# Create user
|
53
53
|
user = User.new
|
54
54
|
# Connect to libspotify
|
55
|
-
Hallon.load_timeout = 0
|
55
|
+
#Hallon.load_timeout = 0
|
56
56
|
session = Hallon::Session.initialize(IO.read(@spotify_appkey_file))
|
57
57
|
session.login!(@spotify_account, @spotify_password)
|
58
58
|
# Load toplists
|
@@ -72,15 +72,16 @@ module MonkeyMusic
|
|
72
72
|
score_system.evaluate_user_recommendations!(user)
|
73
73
|
# Dump and print the user
|
74
74
|
File.open(@out_file, 'w') do |f|
|
75
|
-
|
75
|
+
# Clean out all commas before writing
|
76
|
+
f.write(user.dump.gsub(',', ''))
|
76
77
|
end
|
77
78
|
puts "====="
|
78
79
|
puts "DONE!"
|
79
80
|
puts "====="
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
81
|
+
puts "Loaded tracks:"
|
82
|
+
user.recommendations.group_by(&:multiplier).sort.each do |k,v|
|
83
|
+
puts "#Multiplier #{k}:\t#{v.length}"
|
84
|
+
end
|
84
85
|
exit
|
85
86
|
end
|
86
87
|
end
|
@@ -9,23 +9,23 @@ module MonkeyMusic::Generate
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def evaluate!(track)
|
12
|
-
|
12
|
+
tier = 0
|
13
13
|
if @user.toplists[:top_tracks].any? {|t| t.name == track.name }
|
14
|
-
|
14
|
+
tier = -1
|
15
15
|
elsif @user.toplists[:disliked_artists].any? {|ar| ar.name == track.artist }
|
16
|
-
|
16
|
+
tier = -2
|
17
17
|
else
|
18
18
|
if @user.toplists[:top_albums].any? {|al| al.name == track.album }
|
19
|
-
|
19
|
+
tier += 1
|
20
20
|
end
|
21
21
|
if @user.toplists[:top_artists].any? {|ar| ar.name == track.artist }
|
22
|
-
|
22
|
+
tier += 1
|
23
23
|
end
|
24
24
|
if @top_decade == decade_of(track.year)
|
25
|
-
|
25
|
+
tier += 1
|
26
26
|
end
|
27
27
|
end
|
28
|
-
track.set_value(
|
28
|
+
track.set_value(tier, 4**tier.abs * sign(tier))
|
29
29
|
end
|
30
30
|
|
31
31
|
private
|
data/users/demo_user.yaml
CHANGED
@@ -960,19 +960,19 @@
|
|
960
960
|
multiplier: 2
|
961
961
|
value: 16
|
962
962
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
963
|
-
name:
|
963
|
+
name: Soothe My Soul
|
964
964
|
artist: Depeche Mode
|
965
965
|
album: Delta Machine
|
966
966
|
year: 2013
|
967
|
-
uri: spotify:track:
|
967
|
+
uri: spotify:track:2AxI7waLrZSY9KkL3D2huk
|
968
968
|
multiplier: 2
|
969
969
|
value: 16
|
970
970
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
971
|
-
name:
|
971
|
+
name: Angel
|
972
972
|
artist: Depeche Mode
|
973
973
|
album: Delta Machine
|
974
974
|
year: 2013
|
975
|
-
uri: spotify:track:
|
975
|
+
uri: spotify:track:24nDMmzJlHcDfF8iSXWFnA
|
976
976
|
multiplier: 2
|
977
977
|
value: 16
|
978
978
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -991,14 +991,6 @@
|
|
991
991
|
uri: spotify:track:62nmAEHbcpxxwnwAlb1Z7a
|
992
992
|
multiplier: 2
|
993
993
|
value: 16
|
994
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
995
|
-
name: Broken
|
996
|
-
artist: Depeche Mode
|
997
|
-
album: Delta Machine
|
998
|
-
year: 2013
|
999
|
-
uri: spotify:track:1Hm9pX5iwwS7jJLLPad9yJ
|
1000
|
-
multiplier: 2
|
1001
|
-
value: 16
|
1002
994
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1003
995
|
name: Just Can't Get Enough - Single Version;2006 Digital Remaster
|
1004
996
|
artist: Depeche Mode
|
@@ -1007,6 +999,14 @@
|
|
1007
999
|
uri: spotify:track:2FpyKkCFIfqmp6eQx4Rn1V
|
1008
1000
|
multiplier: 2
|
1009
1001
|
value: 16
|
1002
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1003
|
+
name: Broken
|
1004
|
+
artist: Depeche Mode
|
1005
|
+
album: Delta Machine
|
1006
|
+
year: 2013
|
1007
|
+
uri: spotify:track:1Hm9pX5iwwS7jJLLPad9yJ
|
1008
|
+
multiplier: 2
|
1009
|
+
value: 16
|
1010
1010
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1011
1011
|
name: My Little Universe
|
1012
1012
|
artist: Depeche Mode
|
@@ -1023,14 +1023,6 @@
|
|
1023
1023
|
uri: spotify:track:6VzfdkKU7J6ideJPwVJnAN
|
1024
1024
|
multiplier: 2
|
1025
1025
|
value: 16
|
1026
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1027
|
-
name: Electricity
|
1028
|
-
artist: Orchestral Manoeuvres In The Dark
|
1029
|
-
album: The OMD Singles
|
1030
|
-
year: 1998
|
1031
|
-
uri: spotify:track:3vy2QK19RCnS4Egaq9fGhy
|
1032
|
-
multiplier: 1
|
1033
|
-
value: 4
|
1034
1026
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1035
1027
|
name: Enola Gay - 2003 - Remaster
|
1036
1028
|
artist: Orchestral Manoeuvres In The Dark
|
@@ -1039,6 +1031,14 @@
|
|
1039
1031
|
uri: spotify:track:7tEDqanTZ8NWxV7zzqth3m
|
1040
1032
|
multiplier: -1
|
1041
1033
|
value: -4
|
1034
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1035
|
+
name: Electricity
|
1036
|
+
artist: Orchestral Manoeuvres In The Dark
|
1037
|
+
album: The OMD Singles
|
1038
|
+
year: 1998
|
1039
|
+
uri: spotify:track:3vy2QK19RCnS4Egaq9fGhy
|
1040
|
+
multiplier: 1
|
1041
|
+
value: 4
|
1042
1042
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1043
1043
|
name: Enola Gay
|
1044
1044
|
artist: Orchestral Manoeuvres In The Dark
|
@@ -1064,19 +1064,19 @@
|
|
1064
1064
|
multiplier: 1
|
1065
1065
|
value: 4
|
1066
1066
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1067
|
-
name:
|
1067
|
+
name: Souvenir
|
1068
1068
|
artist: Orchestral Manoeuvres In The Dark
|
1069
1069
|
album: The OMD Singles
|
1070
1070
|
year: 1998
|
1071
|
-
uri: spotify:track:
|
1071
|
+
uri: spotify:track:1H6dcVdpMiMIydKdykY6W0
|
1072
1072
|
multiplier: 1
|
1073
1073
|
value: 4
|
1074
1074
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1075
|
-
name:
|
1075
|
+
name: Walking On The Milky Way
|
1076
1076
|
artist: Orchestral Manoeuvres In The Dark
|
1077
1077
|
album: The OMD Singles
|
1078
1078
|
year: 1998
|
1079
|
-
uri: spotify:track:
|
1079
|
+
uri: spotify:track:5rN6eummWzwLTQxXZcyeCY
|
1080
1080
|
multiplier: 1
|
1081
1081
|
value: 4
|
1082
1082
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -1159,14 +1159,6 @@
|
|
1159
1159
|
uri: spotify:track:7t2DtwDaxiuZDulbXsWrnO
|
1160
1160
|
multiplier: 2
|
1161
1161
|
value: 16
|
1162
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1163
|
-
name: Love Action (I Believe in Love)
|
1164
|
-
artist: The Human League
|
1165
|
-
album: The Best Of
|
1166
|
-
year: 1998
|
1167
|
-
uri: spotify:track:7ttwrfe807K63aXv3VSKU1
|
1168
|
-
multiplier: 1
|
1169
|
-
value: 4
|
1170
1162
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1171
1163
|
name: Mirror Man - 2003 - Remaster
|
1172
1164
|
artist: The Human League
|
@@ -1175,6 +1167,14 @@
|
|
1175
1167
|
uri: spotify:track:3pI8laGp6QKWVfPfuQIhy3
|
1176
1168
|
multiplier: 2
|
1177
1169
|
value: 16
|
1170
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1171
|
+
name: Love Action (I Believe in Love)
|
1172
|
+
artist: The Human League
|
1173
|
+
album: The Best Of
|
1174
|
+
year: 1998
|
1175
|
+
uri: spotify:track:7ttwrfe807K63aXv3VSKU1
|
1176
|
+
multiplier: 1
|
1177
|
+
value: 4
|
1178
1178
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1179
1179
|
name: Bizarre Love Triangle
|
1180
1180
|
artist: New Order
|
@@ -1191,14 +1191,6 @@
|
|
1191
1191
|
uri: spotify:track:6tzeMSH4TRGBTzdNvbF5hr
|
1192
1192
|
multiplier: 1
|
1193
1193
|
value: 4
|
1194
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1195
|
-
name: Age Of Consent
|
1196
|
-
artist: New Order
|
1197
|
-
album: Power, Corruption & Lies [Collector's Edition]
|
1198
|
-
year: 2008
|
1199
|
-
uri: spotify:track:1iKCbLGTa0uNJ3AZhfoFOL
|
1200
|
-
multiplier: 2
|
1201
|
-
value: 16
|
1202
1194
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1203
1195
|
name: Blue Monday [88]
|
1204
1196
|
artist: New Order
|
@@ -1207,6 +1199,14 @@
|
|
1207
1199
|
uri: spotify:track:31MOjWj3CT3dCQsMV2b8Wu
|
1208
1200
|
multiplier: 2
|
1209
1201
|
value: 16
|
1202
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1203
|
+
name: Age Of Consent
|
1204
|
+
artist: New Order
|
1205
|
+
album: Power Corruption & Lies [Collector's Edition]
|
1206
|
+
year: 2008
|
1207
|
+
uri: spotify:track:1iKCbLGTa0uNJ3AZhfoFOL
|
1208
|
+
multiplier: 2
|
1209
|
+
value: 16
|
1210
1210
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1211
1211
|
name: True Faith - '94
|
1212
1212
|
artist: New Order
|
@@ -1231,14 +1231,6 @@
|
|
1231
1231
|
uri: spotify:track:0NvJy5gPR591Qh2z22EAak
|
1232
1232
|
multiplier: 2
|
1233
1233
|
value: 16
|
1234
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1235
|
-
name: Temptation [7" Version]
|
1236
|
-
artist: New Order
|
1237
|
-
album: Movement [Collector's Edition]
|
1238
|
-
year: 2008
|
1239
|
-
uri: spotify:track:6aydUK6llaiRoKQyQTDNPY
|
1240
|
-
multiplier: 2
|
1241
|
-
value: 16
|
1242
1234
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1243
1235
|
name: Ceremony
|
1244
1236
|
artist: New Order
|
@@ -1255,6 +1247,14 @@
|
|
1255
1247
|
uri: spotify:track:58IihaOsYb2riCPEVabDol
|
1256
1248
|
multiplier: 1
|
1257
1249
|
value: 4
|
1250
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1251
|
+
name: Temptation [7" Version]
|
1252
|
+
artist: New Order
|
1253
|
+
album: Movement [Collector's Edition]
|
1254
|
+
year: 2008
|
1255
|
+
uri: spotify:track:6aydUK6llaiRoKQyQTDNPY
|
1256
|
+
multiplier: 2
|
1257
|
+
value: 16
|
1258
1258
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1259
1259
|
name: Such Great Heights
|
1260
1260
|
artist: The Postal Service
|
@@ -1400,19 +1400,19 @@
|
|
1400
1400
|
multiplier: 2
|
1401
1401
|
value: 16
|
1402
1402
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1403
|
-
name:
|
1403
|
+
name: The Man Machine - 2009 Digital Remaster
|
1404
1404
|
artist: Kraftwerk
|
1405
|
-
album:
|
1405
|
+
album: The Man Machine - 2009 Digital Remaster
|
1406
1406
|
year: 2009
|
1407
|
-
uri: spotify:track:
|
1407
|
+
uri: spotify:track:4rbt9xJMIYwjTyMUYSvEL2
|
1408
1408
|
multiplier: 2
|
1409
1409
|
value: 16
|
1410
1410
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1411
|
-
name: The
|
1411
|
+
name: The Robots
|
1412
1412
|
artist: Kraftwerk
|
1413
|
-
album: The
|
1413
|
+
album: The Mix (2009 Digital Remaster)
|
1414
1414
|
year: 2009
|
1415
|
-
uri: spotify:track:
|
1415
|
+
uri: spotify:track:2Dx4OYlS0zhjSm0z43midb
|
1416
1416
|
multiplier: 2
|
1417
1417
|
value: 16
|
1418
1418
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -1472,19 +1472,19 @@
|
|
1472
1472
|
multiplier: 2
|
1473
1473
|
value: 16
|
1474
1474
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1475
|
-
name:
|
1475
|
+
name: Music For Chameleons
|
1476
1476
|
artist: Gary Numan
|
1477
|
-
album:
|
1478
|
-
year:
|
1479
|
-
uri: spotify:track:
|
1477
|
+
album: I Assassin
|
1478
|
+
year: 1982
|
1479
|
+
uri: spotify:track:4fqRCykZ9uVe4PNSjWIR2f
|
1480
1480
|
multiplier: 1
|
1481
1481
|
value: 4
|
1482
1482
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1483
|
-
name:
|
1483
|
+
name: Dead Sun Rising (Sonoio Remix) - Sonoio Remix
|
1484
1484
|
artist: Gary Numan
|
1485
|
-
album:
|
1486
|
-
year:
|
1487
|
-
uri: spotify:track:
|
1485
|
+
album: Dead Moon Falling
|
1486
|
+
year: 2013
|
1487
|
+
uri: spotify:track:5t8sVFvTOpR8rl8u4dcFcW
|
1488
1488
|
multiplier: 1
|
1489
1489
|
value: 4
|
1490
1490
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -1536,19 +1536,19 @@
|
|
1536
1536
|
multiplier: 2
|
1537
1537
|
value: 16
|
1538
1538
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1539
|
-
name:
|
1539
|
+
name: Pieces of What
|
1540
1540
|
artist: MGMT
|
1541
1541
|
album: Oracular Spectacular
|
1542
1542
|
year: 2007
|
1543
|
-
uri: spotify:track:
|
1543
|
+
uri: spotify:track:6wxDu7ISgm5nppPMea4W7D
|
1544
1544
|
multiplier: 2
|
1545
1545
|
value: 16
|
1546
1546
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1547
|
-
name:
|
1547
|
+
name: The Youth
|
1548
1548
|
artist: MGMT
|
1549
1549
|
album: Oracular Spectacular
|
1550
1550
|
year: 2007
|
1551
|
-
uri: spotify:track:
|
1551
|
+
uri: spotify:track:5nv854ey1k43KaZ0kHmE4Z
|
1552
1552
|
multiplier: 2
|
1553
1553
|
value: 16
|
1554
1554
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -1560,7 +1560,7 @@
|
|
1560
1560
|
multiplier: 1
|
1561
1561
|
value: 4
|
1562
1562
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1563
|
-
name: Of Moons
|
1563
|
+
name: Of Moons Birds & Monsters
|
1564
1564
|
artist: MGMT
|
1565
1565
|
album: Oracular Spectacular
|
1566
1566
|
year: 2007
|
@@ -1578,19 +1578,11 @@
|
|
1578
1578
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1579
1579
|
name: Midnight City
|
1580
1580
|
artist: M83
|
1581
|
-
album: Hurry Up
|
1581
|
+
album: Hurry Up We're Dreaming
|
1582
1582
|
year: 2011
|
1583
1583
|
uri: spotify:track:4kO7mrAPfqIrsKwUOK5BFx
|
1584
1584
|
multiplier: 1
|
1585
1585
|
value: 4
|
1586
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1587
|
-
name: Oblivion (feat. Susanne Sundfør)
|
1588
|
-
artist: M83
|
1589
|
-
album: Oblivion (feat. Susanne Sundfør)
|
1590
|
-
year: 2013
|
1591
|
-
uri: spotify:track:66fKIbn90iaQZ0jEuurozt
|
1592
|
-
multiplier: 1
|
1593
|
-
value: 4
|
1594
1586
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1595
1587
|
name: We Own The Sky
|
1596
1588
|
artist: M83
|
@@ -1600,19 +1592,19 @@
|
|
1600
1592
|
multiplier: 2
|
1601
1593
|
value: 16
|
1602
1594
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1603
|
-
name:
|
1595
|
+
name: Oblivion (feat. Susanne Sundfør)
|
1604
1596
|
artist: M83
|
1605
|
-
album: Oblivion
|
1597
|
+
album: Oblivion (feat. Susanne Sundfør)
|
1606
1598
|
year: 2013
|
1607
|
-
uri: spotify:track:
|
1599
|
+
uri: spotify:track:66fKIbn90iaQZ0jEuurozt
|
1608
1600
|
multiplier: 1
|
1609
1601
|
value: 4
|
1610
1602
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1611
|
-
name:
|
1603
|
+
name: Jack's Dream
|
1612
1604
|
artist: M83
|
1613
1605
|
album: Oblivion - Original Motion Picture Soundtrack
|
1614
1606
|
year: 2013
|
1615
|
-
uri: spotify:track:
|
1607
|
+
uri: spotify:track:2OsVwe7SubQyge9LJFTh0Y
|
1616
1608
|
multiplier: 1
|
1617
1609
|
value: 4
|
1618
1610
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -1623,6 +1615,14 @@
|
|
1623
1615
|
uri: spotify:track:5pCTXoSYslXKP2D21e3ZJK
|
1624
1616
|
multiplier: 2
|
1625
1617
|
value: 16
|
1618
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1619
|
+
name: Waking Up
|
1620
|
+
artist: M83
|
1621
|
+
album: Oblivion - Original Motion Picture Soundtrack
|
1622
|
+
year: 2013
|
1623
|
+
uri: spotify:track:7fco9ocFesu9I09AMmpWkW
|
1624
|
+
multiplier: 1
|
1625
|
+
value: 4
|
1626
1626
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1627
1627
|
name: Midnight City [Eric Prydz Private Remix] - Eric Prydz Private Remix
|
1628
1628
|
artist: M83
|
@@ -1648,11 +1648,11 @@
|
|
1648
1648
|
multiplier: 1
|
1649
1649
|
value: 4
|
1650
1650
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1651
|
-
name:
|
1651
|
+
name: Reunion
|
1652
1652
|
artist: M83
|
1653
|
-
album:
|
1654
|
-
year:
|
1655
|
-
uri: spotify:track:
|
1653
|
+
album: Hurry Up We're Dreaming
|
1654
|
+
year: 2011
|
1655
|
+
uri: spotify:track:4dNCg774LzE2kmtbMOLdP7
|
1656
1656
|
multiplier: 1
|
1657
1657
|
value: 4
|
1658
1658
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -1695,14 +1695,6 @@
|
|
1695
1695
|
uri: spotify:track:0wokCRaKD0zPNhMRXAgVsr
|
1696
1696
|
multiplier: 1
|
1697
1697
|
value: 4
|
1698
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1699
|
-
name: Girls on Film
|
1700
|
-
artist: Duran Duran
|
1701
|
-
album: Duran Duran
|
1702
|
-
year: 1993
|
1703
|
-
uri: spotify:track:5KE4iIOeucoLMnkF6NEwKM
|
1704
|
-
multiplier: 1
|
1705
|
-
value: 4
|
1706
1698
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1707
1699
|
name: The Wild Boys
|
1708
1700
|
artist: Duran Duran
|
@@ -1712,11 +1704,11 @@
|
|
1712
1704
|
multiplier: 1
|
1713
1705
|
value: 4
|
1714
1706
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1715
|
-
name:
|
1707
|
+
name: Girls on Film
|
1716
1708
|
artist: Duran Duran
|
1717
|
-
album:
|
1718
|
-
year:
|
1719
|
-
uri: spotify:track:
|
1709
|
+
album: Duran Duran
|
1710
|
+
year: 1993
|
1711
|
+
uri: spotify:track:5KE4iIOeucoLMnkF6NEwKM
|
1720
1712
|
multiplier: 1
|
1721
1713
|
value: 4
|
1722
1714
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -1727,6 +1719,14 @@
|
|
1727
1719
|
uri: spotify:track:1stJclD9IGUbxtUnl8CzG3
|
1728
1720
|
multiplier: 1
|
1729
1721
|
value: 4
|
1722
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1723
|
+
name: The Reflex
|
1724
|
+
artist: Duran Duran
|
1725
|
+
album: Greatest
|
1726
|
+
year: 1998
|
1727
|
+
uri: spotify:track:0OsWMTxDjtpmJjX43113oq
|
1728
|
+
multiplier: 1
|
1729
|
+
value: 4
|
1730
1730
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1731
1731
|
name: Save A Prayer - 2009 Digital Remaster
|
1732
1732
|
artist: Duran Duran
|
@@ -1760,7 +1760,7 @@
|
|
1760
1760
|
multiplier: -2
|
1761
1761
|
value: -16
|
1762
1762
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1763
|
-
name: Die
|
1763
|
+
name: Die Die My Darling - Fox Studio 1983
|
1764
1764
|
artist: Misfits
|
1765
1765
|
album: Collection
|
1766
1766
|
year: 1986
|
@@ -1775,14 +1775,6 @@
|
|
1775
1775
|
uri: spotify:track:0PTP53h7PvqEMeGyGClkOk
|
1776
1776
|
multiplier: -2
|
1777
1777
|
value: -16
|
1778
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1779
|
-
name: Scream
|
1780
|
-
artist: Misfits
|
1781
|
-
album: Famous Monsters
|
1782
|
-
year: 1999
|
1783
|
-
uri: spotify:track:2uqQXl3CWniLE0Uhfb7izu
|
1784
|
-
multiplier: -2
|
1785
|
-
value: -16
|
1786
1778
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1787
1779
|
name: Saturday Night
|
1788
1780
|
artist: Misfits
|
@@ -1792,11 +1784,11 @@
|
|
1792
1784
|
multiplier: -2
|
1793
1785
|
value: -16
|
1794
1786
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1795
|
-
name:
|
1787
|
+
name: Scream
|
1796
1788
|
artist: Misfits
|
1797
|
-
album:
|
1798
|
-
year:
|
1799
|
-
uri: spotify:track:
|
1789
|
+
album: Famous Monsters
|
1790
|
+
year: 1999
|
1791
|
+
uri: spotify:track:2uqQXl3CWniLE0Uhfb7izu
|
1800
1792
|
multiplier: -2
|
1801
1793
|
value: -16
|
1802
1794
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -1807,6 +1799,14 @@
|
|
1807
1799
|
uri: spotify:track:38T3oJ4ykhLtoHFjhpjOoL
|
1808
1800
|
multiplier: -2
|
1809
1801
|
value: -16
|
1802
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1803
|
+
name: Dig Up Her Bones
|
1804
|
+
artist: Misfits
|
1805
|
+
album: American Psycho
|
1806
|
+
year: 1997
|
1807
|
+
uri: spotify:track:16MPZDpM5JTtIBs3pOMSWx
|
1808
|
+
multiplier: -2
|
1809
|
+
value: -16
|
1810
1810
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1811
1811
|
name: We Are 138 - 1995 Digital Remaster
|
1812
1812
|
artist: Misfits
|
@@ -1855,6 +1855,22 @@
|
|
1855
1855
|
uri: spotify:track:2JcUB7LyS4MDI5fvSWU6se
|
1856
1856
|
multiplier: -2
|
1857
1857
|
value: -16
|
1858
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1859
|
+
name: She Talks to Rainbows
|
1860
|
+
artist: The Ramones
|
1861
|
+
album: Adios Amigos
|
1862
|
+
year: 1995
|
1863
|
+
uri: spotify:track:0GVcm9IeiuWWOQk3yXI7yx
|
1864
|
+
multiplier: -2
|
1865
|
+
value: -16
|
1866
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1867
|
+
name: Have You Ever Seen The Rain
|
1868
|
+
artist: The Ramones
|
1869
|
+
album: Acid Eaters
|
1870
|
+
year: 1993
|
1871
|
+
uri: spotify:track:4Ri7GhJiAHy9dCYnxxWuzM
|
1872
|
+
multiplier: -2
|
1873
|
+
value: -16
|
1858
1874
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1859
1875
|
name: Merry Christmas (I Don't Want to Fight Tonight)
|
1860
1876
|
artist: The Ramones
|
@@ -1871,14 +1887,6 @@
|
|
1871
1887
|
uri: spotify:track:5KAII1Bt2SgySRfPByKgcJ
|
1872
1888
|
multiplier: -2
|
1873
1889
|
value: -16
|
1874
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1875
|
-
name: She Talks to Rainbows
|
1876
|
-
artist: The Ramones
|
1877
|
-
album: Adios Amigos
|
1878
|
-
year: 1995
|
1879
|
-
uri: spotify:track:0GVcm9IeiuWWOQk3yXI7yx
|
1880
|
-
multiplier: -2
|
1881
|
-
value: -16
|
1882
1890
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1883
1891
|
name: The Kkk Took My Baby Away - Live
|
1884
1892
|
artist: The Ramones
|
@@ -1887,14 +1895,6 @@
|
|
1887
1895
|
uri: spotify:track:29KP3ieVXuw7rahzuK422u
|
1888
1896
|
multiplier: -2
|
1889
1897
|
value: -16
|
1890
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1891
|
-
name: Have You Ever Seen The Rain
|
1892
|
-
artist: The Ramones
|
1893
|
-
album: Acid Eaters
|
1894
|
-
year: 1993
|
1895
|
-
uri: spotify:track:4Ri7GhJiAHy9dCYnxxWuzM
|
1896
|
-
multiplier: -2
|
1897
|
-
value: -16
|
1898
1898
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1899
1899
|
name: 21st Century
|
1900
1900
|
artist: Bad Religion
|
@@ -1911,6 +1911,14 @@
|
|
1911
1911
|
uri: spotify:track:5VQg5YHgCAjJTIBtEZHacQ
|
1912
1912
|
multiplier: -2
|
1913
1913
|
value: -16
|
1914
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1915
|
+
name: Los Angeles Is Burning
|
1916
|
+
artist: Bad Religion
|
1917
|
+
album: The Empire Strikes First
|
1918
|
+
year: 2004
|
1919
|
+
uri: spotify:track:27KrzUfX8fHDEYyvmZdrqa
|
1920
|
+
multiplier: -2
|
1921
|
+
value: -16
|
1914
1922
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1915
1923
|
name: True North
|
1916
1924
|
artist: Bad Religion
|
@@ -1927,22 +1935,6 @@
|
|
1927
1935
|
uri: spotify:track:3qriuhIxVQXmdHRIIzP4Fe
|
1928
1936
|
multiplier: -2
|
1929
1937
|
value: -16
|
1930
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1931
|
-
name: Los Angeles Is Burning
|
1932
|
-
artist: Bad Religion
|
1933
|
-
album: The Empire Strikes First
|
1934
|
-
year: 2004
|
1935
|
-
uri: spotify:track:27KrzUfX8fHDEYyvmZdrqa
|
1936
|
-
multiplier: -2
|
1937
|
-
value: -16
|
1938
|
-
- !ruby/object:MonkeyMusic::Metadata::Track
|
1939
|
-
name: Past is Dead
|
1940
|
-
artist: Bad Religion
|
1941
|
-
album: True North
|
1942
|
-
year: 2013
|
1943
|
-
uri: spotify:track:0yC8t1Rd1RbscJAZI4n8aD
|
1944
|
-
multiplier: -2
|
1945
|
-
value: -16
|
1946
1938
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1947
1939
|
name: Punk Rock Song
|
1948
1940
|
artist: Bad Religion
|
@@ -1951,6 +1943,14 @@
|
|
1951
1943
|
uri: spotify:track:3cAeRRvExh8FwzWPQqMhsS
|
1952
1944
|
multiplier: -2
|
1953
1945
|
value: -16
|
1946
|
+
- !ruby/object:MonkeyMusic::Metadata::Track
|
1947
|
+
name: You
|
1948
|
+
artist: Bad Religion
|
1949
|
+
album: Punk-O-Rama 3
|
1950
|
+
year: 1998
|
1951
|
+
uri: spotify:track:2taLSL36n5j5BxOqBAILMN
|
1952
|
+
multiplier: -2
|
1953
|
+
value: -16
|
1954
1954
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1955
1955
|
name: I Want to Conquer the World
|
1956
1956
|
artist: Bad Religion
|
@@ -1960,19 +1960,19 @@
|
|
1960
1960
|
multiplier: -2
|
1961
1961
|
value: -16
|
1962
1962
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1963
|
-
name:
|
1963
|
+
name: Past is Dead
|
1964
1964
|
artist: Bad Religion
|
1965
1965
|
album: True North
|
1966
1966
|
year: 2013
|
1967
|
-
uri: spotify:track:
|
1967
|
+
uri: spotify:track:0yC8t1Rd1RbscJAZI4n8aD
|
1968
1968
|
multiplier: -2
|
1969
1969
|
value: -16
|
1970
1970
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
1971
|
-
name:
|
1971
|
+
name: Sorrow
|
1972
1972
|
artist: Bad Religion
|
1973
|
-
album:
|
1974
|
-
year:
|
1975
|
-
uri: spotify:track:
|
1973
|
+
album: The Process Of Belief
|
1974
|
+
year: 2002
|
1975
|
+
uri: spotify:track:2ccdGN0u41iaveyQeae9Iy
|
1976
1976
|
multiplier: -2
|
1977
1977
|
value: -16
|
1978
1978
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -2008,11 +2008,11 @@
|
|
2008
2008
|
multiplier: -2
|
2009
2009
|
value: -16
|
2010
2010
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
2011
|
-
name:
|
2011
|
+
name: Should I Stay Or Should I Go
|
2012
2012
|
artist: The Clash
|
2013
|
-
album: The
|
2014
|
-
year:
|
2015
|
-
uri: spotify:track:
|
2013
|
+
album: The Essential Clash
|
2014
|
+
year: 2001
|
2015
|
+
uri: spotify:track:7EwcNyYIMehlWfjk0yprbj
|
2016
2016
|
multiplier: -2
|
2017
2017
|
value: -16
|
2018
2018
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -2024,11 +2024,11 @@
|
|
2024
2024
|
multiplier: -2
|
2025
2025
|
value: -16
|
2026
2026
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
2027
|
-
name:
|
2027
|
+
name: Bankrobber
|
2028
2028
|
artist: The Clash
|
2029
|
-
album: The
|
2030
|
-
year:
|
2031
|
-
uri: spotify:track:
|
2029
|
+
album: The Story Of The Clash Volume 1
|
2030
|
+
year: 1988
|
2031
|
+
uri: spotify:track:326OKIhvo9ZJBcjGah2e1E
|
2032
2032
|
multiplier: -2
|
2033
2033
|
value: -16
|
2034
2034
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
@@ -2058,7 +2058,7 @@
|
|
2058
2058
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
2059
2059
|
name: God Save The Queen
|
2060
2060
|
artist: Sex Pistols
|
2061
|
-
album: Never Mind The Bollocks
|
2061
|
+
album: Never Mind The Bollocks Here’s The Sex Pistols
|
2062
2062
|
year: 2012
|
2063
2063
|
uri: spotify:track:2mHchPRtQWet3iIS3jANr1
|
2064
2064
|
multiplier: -2
|
@@ -2074,7 +2074,7 @@
|
|
2074
2074
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
2075
2075
|
name: Anarchy In The UK
|
2076
2076
|
artist: Sex Pistols
|
2077
|
-
album: Never Mind The Bollocks
|
2077
|
+
album: Never Mind The Bollocks Here’s The Sex Pistols
|
2078
2078
|
year: 2012
|
2079
2079
|
uri: spotify:track:5moTxUGPZXgGmosl4rIELm
|
2080
2080
|
multiplier: -2
|
@@ -2098,7 +2098,7 @@
|
|
2098
2098
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
2099
2099
|
name: Holidays In The Sun
|
2100
2100
|
artist: Sex Pistols
|
2101
|
-
album: Never Mind The Bollocks
|
2101
|
+
album: Never Mind The Bollocks Here’s The Sex Pistols
|
2102
2102
|
year: 2012
|
2103
2103
|
uri: spotify:track:4e3TIXJcX3oQJnLup57I0r
|
2104
2104
|
multiplier: -2
|
@@ -2106,7 +2106,7 @@
|
|
2106
2106
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
2107
2107
|
name: Bodies
|
2108
2108
|
artist: Sex Pistols
|
2109
|
-
album: Never Mind The Bollocks
|
2109
|
+
album: Never Mind The Bollocks Here’s The Sex Pistols
|
2110
2110
|
year: 2012
|
2111
2111
|
uri: spotify:track:4kU7cIlf4FDrWrs99AcaWS
|
2112
2112
|
multiplier: -2
|
@@ -2122,7 +2122,7 @@
|
|
2122
2122
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
2123
2123
|
name: No Feelings
|
2124
2124
|
artist: Sex Pistols
|
2125
|
-
album: Never Mind The Bollocks
|
2125
|
+
album: Never Mind The Bollocks Here’s The Sex Pistols
|
2126
2126
|
year: 2012
|
2127
2127
|
uri: spotify:track:5Pl46yccvPXXcIiXps3qHl
|
2128
2128
|
multiplier: -2
|
@@ -2130,7 +2130,7 @@
|
|
2130
2130
|
- !ruby/object:MonkeyMusic::Metadata::Track
|
2131
2131
|
name: Problems
|
2132
2132
|
artist: Sex Pistols
|
2133
|
-
album: Never Mind The Bollocks
|
2133
|
+
album: Never Mind The Bollocks Here’s The Sex Pistols
|
2134
2134
|
year: 2012
|
2135
2135
|
uri: spotify:track:5dI4YIBXUmat0Kp6N1SjuV
|
2136
2136
|
multiplier: -2
|