songtradr_api_client_ruby 1.17.0 → 1.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +24 -22
  3. data/README.md +7 -9
  4. data/docs/CategoryMediumDTO.md +3 -3
  5. data/docs/MusicalFeaturesDTO.md +97 -93
  6. data/docs/RecordingApi.md +71 -1
  7. data/docs/RecordingMediumDTO.md +4 -4
  8. data/docs/RecordingMinimalWithMusicalFeaturesDTO.md +3 -3
  9. data/docs/RecordingPartyDTO.md +3 -3
  10. data/docs/RecordingSmallDTO.md +2 -2
  11. data/docs/SearchFilterValuesDTO.md +2 -0
  12. data/docs/UserApi.md +67 -187
  13. data/docs/UserDTO.md +2 -0
  14. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +2 -2
  15. data/lib/songtradr_api_client_ruby/api/recording_api.rb +74 -5
  16. data/lib/songtradr_api_client_ruby/api/user_api.rb +86 -403
  17. data/lib/songtradr_api_client_ruby/api_client.rb +5 -4
  18. data/lib/songtradr_api_client_ruby/api_error.rb +2 -2
  19. data/lib/songtradr_api_client_ruby/configuration.rb +2 -2
  20. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +17 -17
  21. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +2 -2
  22. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +2 -2
  23. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +2 -2
  24. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +2 -2
  25. data/lib/songtradr_api_client_ruby/models/error_response.rb +2 -2
  26. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +2 -2
  27. data/lib/songtradr_api_client_ruby/models/file_dto.rb +2 -2
  28. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +2 -2
  29. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +2 -2
  30. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +2 -2
  31. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +2 -2
  32. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +2 -2
  33. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +2 -2
  34. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +2 -2
  35. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +2 -2
  36. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +2 -2
  37. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +2 -2
  38. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +2 -2
  39. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +2 -2
  40. data/lib/songtradr_api_client_ruby/models/login_dto.rb +2 -2
  41. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +610 -579
  42. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +2 -2
  43. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +2 -2
  44. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +2 -2
  45. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +2 -2
  46. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +32 -32
  47. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +17 -17
  48. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +2 -2
  49. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +2 -2
  50. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +17 -17
  51. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +14 -14
  52. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +2 -2
  53. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +2 -2
  54. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +21 -3
  55. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +2 -2
  56. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +2 -2
  57. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +2 -2
  58. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +2 -2
  59. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +2 -2
  60. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +2 -2
  61. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +2 -2
  62. data/lib/songtradr_api_client_ruby/models/title_dto.rb +2 -2
  63. data/lib/songtradr_api_client_ruby/models/token_request.rb +2 -2
  64. data/lib/songtradr_api_client_ruby/models/track_dto.rb +2 -2
  65. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +2 -2
  66. data/lib/songtradr_api_client_ruby/models/user_dto.rb +19 -3
  67. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +2 -2
  68. data/lib/songtradr_api_client_ruby/version.rb +3 -3
  69. data/lib/songtradr_api_client_ruby.rb +2 -5
  70. data/openapi-generator-config.yaml +1 -1
  71. data/songtradr_api_client_ruby.gemspec +3 -2
  72. data/spec/api/allowed_values_api_spec.rb +2 -2
  73. data/spec/api/recording_api_spec.rb +14 -2
  74. data/spec/api/user_api_spec.rb +15 -74
  75. data/spec/models/category_medium_dto_spec.rb +4 -4
  76. data/spec/models/category_minimal_dto_spec.rb +2 -2
  77. data/spec/models/config_access_dto_spec.rb +2 -2
  78. data/spec/models/config_identifier_dto_spec.rb +2 -2
  79. data/spec/models/contributor_type_dto_spec.rb +2 -2
  80. data/spec/models/error_response_spec.rb +2 -2
  81. data/spec/models/field_summary_dto_spec.rb +2 -2
  82. data/spec/models/file_dto_spec.rb +2 -2
  83. data/spec/models/file_list_dto_spec.rb +2 -2
  84. data/spec/models/file_small_dto_spec.rb +2 -2
  85. data/spec/models/file_upload_dto_spec.rb +2 -2
  86. data/spec/models/file_w_ith_url_dto_spec.rb +2 -2
  87. data/spec/models/files_summary_dto_spec.rb +2 -2
  88. data/spec/models/forgot_password_dto_spec.rb +2 -2
  89. data/spec/models/genre_dto_spec.rb +2 -2
  90. data/spec/models/genre_minimal_dto_spec.rb +2 -2
  91. data/spec/models/genres_summary_dto_spec.rb +2 -2
  92. data/spec/models/image_recognition_response_spec.rb +2 -2
  93. data/spec/models/init_put_recording_audio_dto_spec.rb +2 -2
  94. data/spec/models/jwt_token_dto_spec.rb +2 -2
  95. data/spec/models/login_dto_spec.rb +2 -2
  96. data/spec/models/musical_features_dto_spec.rb +204 -188
  97. data/spec/models/party_small_dto_spec.rb +2 -2
  98. data/spec/models/recording_for_similarity_search_dto_spec.rb +2 -2
  99. data/spec/models/recording_genre_prediction_dto_spec.rb +2 -2
  100. data/spec/models/recording_list_dto_spec.rb +2 -2
  101. data/spec/models/recording_medium_dto_spec.rb +5 -5
  102. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +4 -4
  103. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +2 -2
  104. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +2 -2
  105. data/spec/models/recording_party_dto_spec.rb +4 -4
  106. data/spec/models/recording_small_dto_spec.rb +5 -5
  107. data/spec/models/recording_tag_small_dto_spec.rb +2 -2
  108. data/spec/models/save_user_dto_spec.rb +2 -2
  109. data/spec/models/search_filter_values_dto_spec.rb +8 -2
  110. data/spec/models/search_recording_granular_dto_spec.rb +2 -2
  111. data/spec/models/sign_up_dto_spec.rb +2 -2
  112. data/spec/models/tag_dto_spec.rb +2 -2
  113. data/spec/models/tag_small_dto_spec.rb +2 -2
  114. data/spec/models/taggram_dto_spec.rb +2 -2
  115. data/spec/models/tags_summary_dto_spec.rb +2 -2
  116. data/spec/models/tagstrength_dto_spec.rb +2 -2
  117. data/spec/models/title_dto_spec.rb +2 -2
  118. data/spec/models/token_request_spec.rb +2 -2
  119. data/spec/models/track_dto_spec.rb +2 -2
  120. data/spec/models/update_password_dto_spec.rb +2 -2
  121. data/spec/models/user_dto_spec.rb +8 -2
  122. data/spec/models/video_recognition_response_spec.rb +2 -2
  123. data/spec/spec_helper.rb +2 -2
  124. metadata +56 -54
  125. data/docs/CuratePlaylistDTO.md +0 -26
  126. data/docs/CuratePlaylistResponseDTO.md +0 -18
  127. data/docs/PlaylistApi.md +0 -77
  128. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +0 -99
  129. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +0 -256
  130. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +0 -216
  131. data/spec/api/playlist_api_spec.rb +0 -47
  132. data/spec/models/curate_playlist_dto_spec.rb +0 -60
  133. data/spec/models/curate_playlist_response_dto_spec.rb +0 -36
@@ -3,10 +3,10 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.17.0
6
+ The version of the OpenAPI document: 1.18.0
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0-SNAPSHOT
9
+ OpenAPI Generator version: 7.4.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -19,65 +19,85 @@ module SongtradrApiClientRuby
19
19
  # Search for space
20
20
  attr_accessor :space
21
21
 
22
- attr_accessor :primary_mood_cluster_affinity
23
-
24
- # Search for a language of the lyrics
25
- attr_accessor :secondary_mood_cluster
26
-
27
- attr_accessor :production_rating
22
+ attr_accessor :language_of_performance
28
23
 
29
- attr_accessor :production_rating_affinity
24
+ # Search for an arousal
25
+ attr_accessor :arousal
30
26
 
31
- attr_accessor :performance_rating
27
+ # Search for a dominant instrument
28
+ attr_accessor :dominant_instrument
32
29
 
33
- attr_accessor :performance_rating_affinity
30
+ # Search for energy
31
+ attr_accessor :energy
34
32
 
35
- attr_accessor :song_rating
33
+ # Search for an engagement
34
+ attr_accessor :engagement
36
35
 
37
- attr_accessor :song_rating_affinity
36
+ # Search for groovyness
37
+ attr_accessor :groovyness
38
38
 
39
- attr_accessor :audience_age
39
+ # Search for a degree of harmoniousness
40
+ attr_accessor :harmony
40
41
 
41
- attr_accessor :audience_age_affinity
42
+ # Search for pleasantness
43
+ attr_accessor :pleasantness
42
44
 
43
- attr_accessor :secondary_audience_age
45
+ # Search for a language of the lyrics
46
+ attr_accessor :primary_mood_cluster
44
47
 
45
- attr_accessor :secondary_audience_age_affinity
48
+ # Search for a sound character
49
+ attr_accessor :primary_sound_character
46
50
 
47
- attr_accessor :tertiary_audience_age
51
+ # Search for rhythm
52
+ attr_accessor :rhythm
48
53
 
49
- attr_accessor :tertiary_audience_age_affinity
54
+ # Search for roughness
55
+ attr_accessor :roughness
50
56
 
51
- attr_accessor :audience_gender
57
+ # Search for a tonal scale
58
+ attr_accessor :scale
52
59
 
53
- attr_accessor :audience_gender_affinity
60
+ # Search for a harmonic key
61
+ attr_accessor :key
54
62
 
55
- attr_accessor :audience_region_affinity
63
+ # Search for type of sound generation
64
+ attr_accessor :sound_generation
56
65
 
57
- attr_accessor :secondary_audience_region
66
+ # Search for tempo
67
+ attr_accessor :tempo
58
68
 
59
- attr_accessor :secondary_audience_region_affinity
69
+ # Search for texture
70
+ attr_accessor :texture
60
71
 
61
- attr_accessor :tertiary_audience_region
72
+ # Search for timbre
73
+ attr_accessor :timbre
62
74
 
63
- attr_accessor :tertiary_audience_region_affinity
75
+ # Search for tonality
76
+ attr_accessor :tonality
64
77
 
65
- attr_accessor :origin_region
78
+ # Search for a valence
79
+ attr_accessor :valence
66
80
 
67
- attr_accessor :origin_region_affinity
81
+ # Search for a vocal gender or instrumental songs
82
+ attr_accessor :vocals
68
83
 
69
- attr_accessor :origin_decade_affinity
84
+ # Search for origin decade
85
+ attr_accessor :origin_decade
70
86
 
71
- attr_accessor :language_of_performance_affinity
87
+ # Search for curatebility
88
+ attr_accessor :curateability
72
89
 
73
- attr_accessor :curateability_affinity
90
+ # Search for use case
91
+ attr_accessor :use_case
74
92
 
75
- attr_accessor :use_case_affinity
93
+ # Search for social media suitability
94
+ attr_accessor :channel_suitability
76
95
 
77
- # Search for Industry suitability
78
- attr_accessor :industry_suitability
96
+ # Search for loudness
97
+ attr_accessor :loudness
79
98
 
80
- attr_accessor :industry_suitability_affinity
99
+ # Search for a language of the lyrics
100
+ attr_accessor :secondary_mood_cluster
81
101
 
82
102
  attr_accessor :secondary_mood_cluster_affinity
83
103
 
@@ -110,81 +130,78 @@ module SongtradrApiClientRuby
110
130
 
111
131
  attr_accessor :bpm
112
132
 
113
- attr_accessor :audience_region
133
+ attr_accessor :production_rating
114
134
 
115
- # Search for a dominant instrument
116
- attr_accessor :dominant_instrument
135
+ attr_accessor :production_rating_affinity
117
136
 
118
- # Search for energy
119
- attr_accessor :energy
137
+ attr_accessor :performance_rating
120
138
 
121
- # Search for an engagement
122
- attr_accessor :engagement
139
+ attr_accessor :performance_rating_affinity
123
140
 
124
- # Search for groovyness
125
- attr_accessor :groovyness
141
+ attr_accessor :song_rating
126
142
 
127
- # Search for a degree of harmoniousness
128
- attr_accessor :harmony
143
+ attr_accessor :song_rating_affinity
129
144
 
130
- # Search for pleasantness
131
- attr_accessor :pleasantness
145
+ attr_accessor :primary_mood_cluster_affinity
132
146
 
133
- # Search for a language of the lyrics
134
- attr_accessor :primary_mood_cluster
147
+ attr_accessor :audience_age
135
148
 
136
- # Search for a sound character
137
- attr_accessor :primary_sound_character
149
+ attr_accessor :audience_age_affinity
138
150
 
139
- # Search for rhythm
140
- attr_accessor :rhythm
151
+ attr_accessor :secondary_audience_age
141
152
 
142
- # Search for roughness
143
- attr_accessor :roughness
153
+ attr_accessor :secondary_audience_age_affinity
144
154
 
145
- # Search for a tonal scale
146
- attr_accessor :scale
155
+ attr_accessor :tertiary_audience_age
147
156
 
148
- # Search for a harmonic key
149
- attr_accessor :key
157
+ attr_accessor :tertiary_audience_age_affinity
150
158
 
151
- # Search for type of sound generation
152
- attr_accessor :sound_generation
159
+ attr_accessor :audience_gender
153
160
 
154
- # Search for tempo
155
- attr_accessor :tempo
161
+ attr_accessor :audience_gender_affinity
156
162
 
157
- # Search for texture
158
- attr_accessor :texture
163
+ attr_accessor :audience_region_affinity
159
164
 
160
- # Search for timbre
161
- attr_accessor :timbre
165
+ attr_accessor :secondary_audience_region
162
166
 
163
- # Search for tonality
164
- attr_accessor :tonality
167
+ attr_accessor :secondary_audience_region_affinity
165
168
 
166
- # Search for a valence
167
- attr_accessor :valence
169
+ attr_accessor :tertiary_audience_region
168
170
 
169
- # Search for a vocal gender or instrumental songs
170
- attr_accessor :vocals
171
+ attr_accessor :tertiary_audience_region_affinity
171
172
 
172
- # Search for origin decade
173
- attr_accessor :origin_decade
173
+ attr_accessor :origin_region
174
174
 
175
- # Search for curatebility
176
- attr_accessor :curateability
175
+ attr_accessor :origin_region_affinity
177
176
 
178
- # Search for use case
179
- attr_accessor :use_case
177
+ attr_accessor :origin_decade_affinity
180
178
 
181
- # Search for social media suitability
182
- attr_accessor :channel_suitability
179
+ attr_accessor :language_of_performance_affinity
183
180
 
184
- attr_accessor :language_of_performance
181
+ attr_accessor :curateability_affinity
185
182
 
186
- # Search for an arousal
187
- attr_accessor :arousal
183
+ attr_accessor :use_case_affinity
184
+
185
+ # Search for Industry suitability
186
+ attr_accessor :industry_suitability
187
+
188
+ attr_accessor :industry_suitability_affinity
189
+
190
+ attr_accessor :audience_region
191
+
192
+ attr_accessor :harmony_affinity
193
+
194
+ attr_accessor :texture_affinity
195
+
196
+ attr_accessor :groovyness_affinity
197
+
198
+ attr_accessor :space_affinity
199
+
200
+ attr_accessor :loudness_affinity
201
+
202
+ attr_accessor :key_affinity
203
+
204
+ attr_accessor :channel_suitability_affinity
188
205
 
189
206
  attr_accessor :valence_affinity
190
207
 
@@ -204,18 +221,6 @@ module SongtradrApiClientRuby
204
221
 
205
222
  attr_accessor :roughness_affinity
206
223
 
207
- attr_accessor :harmony_affinity
208
-
209
- attr_accessor :texture_affinity
210
-
211
- attr_accessor :groovyness_affinity
212
-
213
- attr_accessor :space_affinity
214
-
215
- attr_accessor :key_affinity
216
-
217
- attr_accessor :channel_suitability_affinity
218
-
219
224
  class EnumAttributeValidator
220
225
  attr_reader :datatype
221
226
  attr_reader :allowable_values
@@ -242,14 +247,54 @@ module SongtradrApiClientRuby
242
247
  def self.attribute_map
243
248
  {
244
249
  :'space' => :'space',
245
- :'primary_mood_cluster_affinity' => :'primaryMoodClusterAffinity',
250
+ :'language_of_performance' => :'languageOfPerformance',
251
+ :'arousal' => :'arousal',
252
+ :'dominant_instrument' => :'dominantInstrument',
253
+ :'energy' => :'energy',
254
+ :'engagement' => :'engagement',
255
+ :'groovyness' => :'groovyness',
256
+ :'harmony' => :'harmony',
257
+ :'pleasantness' => :'pleasantness',
258
+ :'primary_mood_cluster' => :'primaryMoodCluster',
259
+ :'primary_sound_character' => :'primarySoundCharacter',
260
+ :'rhythm' => :'rhythm',
261
+ :'roughness' => :'roughness',
262
+ :'scale' => :'scale',
263
+ :'key' => :'key',
264
+ :'sound_generation' => :'soundGeneration',
265
+ :'tempo' => :'tempo',
266
+ :'texture' => :'texture',
267
+ :'timbre' => :'timbre',
268
+ :'tonality' => :'tonality',
269
+ :'valence' => :'valence',
270
+ :'vocals' => :'vocals',
271
+ :'origin_decade' => :'originDecade',
272
+ :'curateability' => :'curateability',
273
+ :'use_case' => :'useCase',
274
+ :'channel_suitability' => :'channelSuitability',
275
+ :'loudness' => :'loudness',
246
276
  :'secondary_mood_cluster' => :'secondaryMoodCluster',
277
+ :'secondary_mood_cluster_affinity' => :'secondaryMoodClusterAffinity',
278
+ :'tertiary_mood_cluster' => :'tertiaryMoodCluster',
279
+ :'tertiary_mood_cluster_affinity' => :'tertiaryMoodClusterAffinity',
280
+ :'vocals_affinity' => :'vocalsAffinity',
281
+ :'dominant_instrument_affinity' => :'dominantInstrumentAffinity',
282
+ :'secondary_instrument' => :'secondaryInstrument',
283
+ :'secondary_instrument_affinity' => :'secondaryInstrumentAffinity',
284
+ :'tertiary_instrument' => :'tertiaryInstrument',
285
+ :'tertiary_instrument_affinity' => :'tertiaryInstrumentAffinity',
286
+ :'sound_generation_affinity' => :'soundGenerationAffinity',
287
+ :'rhythm_affinity' => :'rhythmAffinity',
288
+ :'primary_sound_character_affinity' => :'primarySoundCharacterAffinity',
289
+ :'tonality_affinity' => :'tonalityAffinity',
290
+ :'bpm' => :'bpm',
247
291
  :'production_rating' => :'productionRating',
248
292
  :'production_rating_affinity' => :'productionRatingAffinity',
249
293
  :'performance_rating' => :'performanceRating',
250
294
  :'performance_rating_affinity' => :'performanceRatingAffinity',
251
295
  :'song_rating' => :'songRating',
252
296
  :'song_rating_affinity' => :'songRatingAffinity',
297
+ :'primary_mood_cluster_affinity' => :'primaryMoodClusterAffinity',
253
298
  :'audience_age' => :'audienceAge',
254
299
  :'audience_age_affinity' => :'audienceAgeAffinity',
255
300
  :'secondary_audience_age' => :'secondaryAudienceAge',
@@ -271,46 +316,14 @@ module SongtradrApiClientRuby
271
316
  :'use_case_affinity' => :'useCaseAffinity',
272
317
  :'industry_suitability' => :'industrySuitability',
273
318
  :'industry_suitability_affinity' => :'industrySuitabilityAffinity',
274
- :'secondary_mood_cluster_affinity' => :'secondaryMoodClusterAffinity',
275
- :'tertiary_mood_cluster' => :'tertiaryMoodCluster',
276
- :'tertiary_mood_cluster_affinity' => :'tertiaryMoodClusterAffinity',
277
- :'vocals_affinity' => :'vocalsAffinity',
278
- :'dominant_instrument_affinity' => :'dominantInstrumentAffinity',
279
- :'secondary_instrument' => :'secondaryInstrument',
280
- :'secondary_instrument_affinity' => :'secondaryInstrumentAffinity',
281
- :'tertiary_instrument' => :'tertiaryInstrument',
282
- :'tertiary_instrument_affinity' => :'tertiaryInstrumentAffinity',
283
- :'sound_generation_affinity' => :'soundGenerationAffinity',
284
- :'rhythm_affinity' => :'rhythmAffinity',
285
- :'primary_sound_character_affinity' => :'primarySoundCharacterAffinity',
286
- :'tonality_affinity' => :'tonalityAffinity',
287
- :'bpm' => :'bpm',
288
319
  :'audience_region' => :'audienceRegion',
289
- :'dominant_instrument' => :'dominantInstrument',
290
- :'energy' => :'energy',
291
- :'engagement' => :'engagement',
292
- :'groovyness' => :'groovyness',
293
- :'harmony' => :'harmony',
294
- :'pleasantness' => :'pleasantness',
295
- :'primary_mood_cluster' => :'primaryMoodCluster',
296
- :'primary_sound_character' => :'primarySoundCharacter',
297
- :'rhythm' => :'rhythm',
298
- :'roughness' => :'roughness',
299
- :'scale' => :'scale',
300
- :'key' => :'key',
301
- :'sound_generation' => :'soundGeneration',
302
- :'tempo' => :'tempo',
303
- :'texture' => :'texture',
304
- :'timbre' => :'timbre',
305
- :'tonality' => :'tonality',
306
- :'valence' => :'valence',
307
- :'vocals' => :'vocals',
308
- :'origin_decade' => :'originDecade',
309
- :'curateability' => :'curateability',
310
- :'use_case' => :'useCase',
311
- :'channel_suitability' => :'channelSuitability',
312
- :'language_of_performance' => :'languageOfPerformance',
313
- :'arousal' => :'arousal',
320
+ :'harmony_affinity' => :'harmonyAffinity',
321
+ :'texture_affinity' => :'textureAffinity',
322
+ :'groovyness_affinity' => :'groovynessAffinity',
323
+ :'space_affinity' => :'spaceAffinity',
324
+ :'loudness_affinity' => :'loudnessAffinity',
325
+ :'key_affinity' => :'keyAffinity',
326
+ :'channel_suitability_affinity' => :'channelSuitabilityAffinity',
314
327
  :'valence_affinity' => :'valenceAffinity',
315
328
  :'arousal_affinity' => :'arousalAffinity',
316
329
  :'pleasantness_affinity' => :'pleasantnessAffinity',
@@ -319,13 +332,7 @@ module SongtradrApiClientRuby
319
332
  :'tempo_affinity' => :'tempoAffinity',
320
333
  :'scale_affinity' => :'scaleAffinity',
321
334
  :'timbre_affinity' => :'timbreAffinity',
322
- :'roughness_affinity' => :'roughnessAffinity',
323
- :'harmony_affinity' => :'harmonyAffinity',
324
- :'texture_affinity' => :'textureAffinity',
325
- :'groovyness_affinity' => :'groovynessAffinity',
326
- :'space_affinity' => :'spaceAffinity',
327
- :'key_affinity' => :'keyAffinity',
328
- :'channel_suitability_affinity' => :'channelSuitabilityAffinity'
335
+ :'roughness_affinity' => :'roughnessAffinity'
329
336
  }
330
337
  end
331
338
 
@@ -338,14 +345,54 @@ module SongtradrApiClientRuby
338
345
  def self.openapi_types
339
346
  {
340
347
  :'space' => :'String',
341
- :'primary_mood_cluster_affinity' => :'Float',
348
+ :'language_of_performance' => :'String',
349
+ :'arousal' => :'String',
350
+ :'dominant_instrument' => :'String',
351
+ :'energy' => :'String',
352
+ :'engagement' => :'String',
353
+ :'groovyness' => :'String',
354
+ :'harmony' => :'String',
355
+ :'pleasantness' => :'String',
356
+ :'primary_mood_cluster' => :'String',
357
+ :'primary_sound_character' => :'String',
358
+ :'rhythm' => :'String',
359
+ :'roughness' => :'String',
360
+ :'scale' => :'String',
361
+ :'key' => :'String',
362
+ :'sound_generation' => :'String',
363
+ :'tempo' => :'String',
364
+ :'texture' => :'String',
365
+ :'timbre' => :'String',
366
+ :'tonality' => :'String',
367
+ :'valence' => :'String',
368
+ :'vocals' => :'String',
369
+ :'origin_decade' => :'String',
370
+ :'curateability' => :'String',
371
+ :'use_case' => :'String',
372
+ :'channel_suitability' => :'String',
373
+ :'loudness' => :'String',
342
374
  :'secondary_mood_cluster' => :'String',
375
+ :'secondary_mood_cluster_affinity' => :'Float',
376
+ :'tertiary_mood_cluster' => :'String',
377
+ :'tertiary_mood_cluster_affinity' => :'Float',
378
+ :'vocals_affinity' => :'Float',
379
+ :'dominant_instrument_affinity' => :'Float',
380
+ :'secondary_instrument' => :'String',
381
+ :'secondary_instrument_affinity' => :'Float',
382
+ :'tertiary_instrument' => :'String',
383
+ :'tertiary_instrument_affinity' => :'Float',
384
+ :'sound_generation_affinity' => :'Float',
385
+ :'rhythm_affinity' => :'Float',
386
+ :'primary_sound_character_affinity' => :'Float',
387
+ :'tonality_affinity' => :'Float',
388
+ :'bpm' => :'Float',
343
389
  :'production_rating' => :'String',
344
390
  :'production_rating_affinity' => :'Float',
345
391
  :'performance_rating' => :'String',
346
392
  :'performance_rating_affinity' => :'Float',
347
393
  :'song_rating' => :'String',
348
394
  :'song_rating_affinity' => :'Float',
395
+ :'primary_mood_cluster_affinity' => :'Float',
349
396
  :'audience_age' => :'String',
350
397
  :'audience_age_affinity' => :'Float',
351
398
  :'secondary_audience_age' => :'String',
@@ -367,46 +414,14 @@ module SongtradrApiClientRuby
367
414
  :'use_case_affinity' => :'Float',
368
415
  :'industry_suitability' => :'String',
369
416
  :'industry_suitability_affinity' => :'Float',
370
- :'secondary_mood_cluster_affinity' => :'Float',
371
- :'tertiary_mood_cluster' => :'String',
372
- :'tertiary_mood_cluster_affinity' => :'Float',
373
- :'vocals_affinity' => :'Float',
374
- :'dominant_instrument_affinity' => :'Float',
375
- :'secondary_instrument' => :'String',
376
- :'secondary_instrument_affinity' => :'Float',
377
- :'tertiary_instrument' => :'String',
378
- :'tertiary_instrument_affinity' => :'Float',
379
- :'sound_generation_affinity' => :'Float',
380
- :'rhythm_affinity' => :'Float',
381
- :'primary_sound_character_affinity' => :'Float',
382
- :'tonality_affinity' => :'Float',
383
- :'bpm' => :'Float',
384
417
  :'audience_region' => :'String',
385
- :'dominant_instrument' => :'String',
386
- :'energy' => :'String',
387
- :'engagement' => :'String',
388
- :'groovyness' => :'String',
389
- :'harmony' => :'String',
390
- :'pleasantness' => :'String',
391
- :'primary_mood_cluster' => :'String',
392
- :'primary_sound_character' => :'String',
393
- :'rhythm' => :'String',
394
- :'roughness' => :'String',
395
- :'scale' => :'String',
396
- :'key' => :'String',
397
- :'sound_generation' => :'String',
398
- :'tempo' => :'String',
399
- :'texture' => :'String',
400
- :'timbre' => :'String',
401
- :'tonality' => :'String',
402
- :'valence' => :'String',
403
- :'vocals' => :'String',
404
- :'origin_decade' => :'String',
405
- :'curateability' => :'String',
406
- :'use_case' => :'String',
407
- :'channel_suitability' => :'String',
408
- :'language_of_performance' => :'String',
409
- :'arousal' => :'String',
418
+ :'harmony_affinity' => :'Float',
419
+ :'texture_affinity' => :'Float',
420
+ :'groovyness_affinity' => :'Float',
421
+ :'space_affinity' => :'Float',
422
+ :'loudness_affinity' => :'Float',
423
+ :'key_affinity' => :'Float',
424
+ :'channel_suitability_affinity' => :'Float',
410
425
  :'valence_affinity' => :'Float',
411
426
  :'arousal_affinity' => :'Float',
412
427
  :'pleasantness_affinity' => :'Float',
@@ -415,13 +430,7 @@ module SongtradrApiClientRuby
415
430
  :'tempo_affinity' => :'Float',
416
431
  :'scale_affinity' => :'Float',
417
432
  :'timbre_affinity' => :'Float',
418
- :'roughness_affinity' => :'Float',
419
- :'harmony_affinity' => :'Float',
420
- :'texture_affinity' => :'Float',
421
- :'groovyness_affinity' => :'Float',
422
- :'space_affinity' => :'Float',
423
- :'key_affinity' => :'Float',
424
- :'channel_suitability_affinity' => :'Float'
433
+ :'roughness_affinity' => :'Float'
425
434
  }
426
435
  end
427
436
 
@@ -450,120 +459,112 @@ module SongtradrApiClientRuby
450
459
  self.space = attributes[:'space']
451
460
  end
452
461
 
453
- if attributes.key?(:'primary_mood_cluster_affinity')
454
- self.primary_mood_cluster_affinity = attributes[:'primary_mood_cluster_affinity']
455
- end
456
-
457
- if attributes.key?(:'secondary_mood_cluster')
458
- self.secondary_mood_cluster = attributes[:'secondary_mood_cluster']
459
- end
460
-
461
- if attributes.key?(:'production_rating')
462
- self.production_rating = attributes[:'production_rating']
462
+ if attributes.key?(:'language_of_performance')
463
+ self.language_of_performance = attributes[:'language_of_performance']
463
464
  end
464
465
 
465
- if attributes.key?(:'production_rating_affinity')
466
- self.production_rating_affinity = attributes[:'production_rating_affinity']
466
+ if attributes.key?(:'arousal')
467
+ self.arousal = attributes[:'arousal']
467
468
  end
468
469
 
469
- if attributes.key?(:'performance_rating')
470
- self.performance_rating = attributes[:'performance_rating']
470
+ if attributes.key?(:'dominant_instrument')
471
+ self.dominant_instrument = attributes[:'dominant_instrument']
471
472
  end
472
473
 
473
- if attributes.key?(:'performance_rating_affinity')
474
- self.performance_rating_affinity = attributes[:'performance_rating_affinity']
474
+ if attributes.key?(:'energy')
475
+ self.energy = attributes[:'energy']
475
476
  end
476
477
 
477
- if attributes.key?(:'song_rating')
478
- self.song_rating = attributes[:'song_rating']
478
+ if attributes.key?(:'engagement')
479
+ self.engagement = attributes[:'engagement']
479
480
  end
480
481
 
481
- if attributes.key?(:'song_rating_affinity')
482
- self.song_rating_affinity = attributes[:'song_rating_affinity']
482
+ if attributes.key?(:'groovyness')
483
+ self.groovyness = attributes[:'groovyness']
483
484
  end
484
485
 
485
- if attributes.key?(:'audience_age')
486
- self.audience_age = attributes[:'audience_age']
486
+ if attributes.key?(:'harmony')
487
+ self.harmony = attributes[:'harmony']
487
488
  end
488
489
 
489
- if attributes.key?(:'audience_age_affinity')
490
- self.audience_age_affinity = attributes[:'audience_age_affinity']
490
+ if attributes.key?(:'pleasantness')
491
+ self.pleasantness = attributes[:'pleasantness']
491
492
  end
492
493
 
493
- if attributes.key?(:'secondary_audience_age')
494
- self.secondary_audience_age = attributes[:'secondary_audience_age']
494
+ if attributes.key?(:'primary_mood_cluster')
495
+ self.primary_mood_cluster = attributes[:'primary_mood_cluster']
495
496
  end
496
497
 
497
- if attributes.key?(:'secondary_audience_age_affinity')
498
- self.secondary_audience_age_affinity = attributes[:'secondary_audience_age_affinity']
498
+ if attributes.key?(:'primary_sound_character')
499
+ self.primary_sound_character = attributes[:'primary_sound_character']
499
500
  end
500
501
 
501
- if attributes.key?(:'tertiary_audience_age')
502
- self.tertiary_audience_age = attributes[:'tertiary_audience_age']
502
+ if attributes.key?(:'rhythm')
503
+ self.rhythm = attributes[:'rhythm']
503
504
  end
504
505
 
505
- if attributes.key?(:'tertiary_audience_age_affinity')
506
- self.tertiary_audience_age_affinity = attributes[:'tertiary_audience_age_affinity']
506
+ if attributes.key?(:'roughness')
507
+ self.roughness = attributes[:'roughness']
507
508
  end
508
509
 
509
- if attributes.key?(:'audience_gender')
510
- self.audience_gender = attributes[:'audience_gender']
510
+ if attributes.key?(:'scale')
511
+ self.scale = attributes[:'scale']
511
512
  end
512
513
 
513
- if attributes.key?(:'audience_gender_affinity')
514
- self.audience_gender_affinity = attributes[:'audience_gender_affinity']
514
+ if attributes.key?(:'key')
515
+ self.key = attributes[:'key']
515
516
  end
516
517
 
517
- if attributes.key?(:'audience_region_affinity')
518
- self.audience_region_affinity = attributes[:'audience_region_affinity']
518
+ if attributes.key?(:'sound_generation')
519
+ self.sound_generation = attributes[:'sound_generation']
519
520
  end
520
521
 
521
- if attributes.key?(:'secondary_audience_region')
522
- self.secondary_audience_region = attributes[:'secondary_audience_region']
522
+ if attributes.key?(:'tempo')
523
+ self.tempo = attributes[:'tempo']
523
524
  end
524
525
 
525
- if attributes.key?(:'secondary_audience_region_affinity')
526
- self.secondary_audience_region_affinity = attributes[:'secondary_audience_region_affinity']
526
+ if attributes.key?(:'texture')
527
+ self.texture = attributes[:'texture']
527
528
  end
528
529
 
529
- if attributes.key?(:'tertiary_audience_region')
530
- self.tertiary_audience_region = attributes[:'tertiary_audience_region']
530
+ if attributes.key?(:'timbre')
531
+ self.timbre = attributes[:'timbre']
531
532
  end
532
533
 
533
- if attributes.key?(:'tertiary_audience_region_affinity')
534
- self.tertiary_audience_region_affinity = attributes[:'tertiary_audience_region_affinity']
534
+ if attributes.key?(:'tonality')
535
+ self.tonality = attributes[:'tonality']
535
536
  end
536
537
 
537
- if attributes.key?(:'origin_region')
538
- self.origin_region = attributes[:'origin_region']
538
+ if attributes.key?(:'valence')
539
+ self.valence = attributes[:'valence']
539
540
  end
540
541
 
541
- if attributes.key?(:'origin_region_affinity')
542
- self.origin_region_affinity = attributes[:'origin_region_affinity']
542
+ if attributes.key?(:'vocals')
543
+ self.vocals = attributes[:'vocals']
543
544
  end
544
545
 
545
- if attributes.key?(:'origin_decade_affinity')
546
- self.origin_decade_affinity = attributes[:'origin_decade_affinity']
546
+ if attributes.key?(:'origin_decade')
547
+ self.origin_decade = attributes[:'origin_decade']
547
548
  end
548
549
 
549
- if attributes.key?(:'language_of_performance_affinity')
550
- self.language_of_performance_affinity = attributes[:'language_of_performance_affinity']
550
+ if attributes.key?(:'curateability')
551
+ self.curateability = attributes[:'curateability']
551
552
  end
552
553
 
553
- if attributes.key?(:'curateability_affinity')
554
- self.curateability_affinity = attributes[:'curateability_affinity']
554
+ if attributes.key?(:'use_case')
555
+ self.use_case = attributes[:'use_case']
555
556
  end
556
557
 
557
- if attributes.key?(:'use_case_affinity')
558
- self.use_case_affinity = attributes[:'use_case_affinity']
558
+ if attributes.key?(:'channel_suitability')
559
+ self.channel_suitability = attributes[:'channel_suitability']
559
560
  end
560
561
 
561
- if attributes.key?(:'industry_suitability')
562
- self.industry_suitability = attributes[:'industry_suitability']
562
+ if attributes.key?(:'loudness')
563
+ self.loudness = attributes[:'loudness']
563
564
  end
564
565
 
565
- if attributes.key?(:'industry_suitability_affinity')
566
- self.industry_suitability_affinity = attributes[:'industry_suitability_affinity']
566
+ if attributes.key?(:'secondary_mood_cluster')
567
+ self.secondary_mood_cluster = attributes[:'secondary_mood_cluster']
567
568
  end
568
569
 
569
570
  if attributes.key?(:'secondary_mood_cluster_affinity')
@@ -622,108 +623,148 @@ module SongtradrApiClientRuby
622
623
  self.bpm = attributes[:'bpm']
623
624
  end
624
625
 
625
- if attributes.key?(:'audience_region')
626
- self.audience_region = attributes[:'audience_region']
626
+ if attributes.key?(:'production_rating')
627
+ self.production_rating = attributes[:'production_rating']
627
628
  end
628
629
 
629
- if attributes.key?(:'dominant_instrument')
630
- self.dominant_instrument = attributes[:'dominant_instrument']
630
+ if attributes.key?(:'production_rating_affinity')
631
+ self.production_rating_affinity = attributes[:'production_rating_affinity']
631
632
  end
632
633
 
633
- if attributes.key?(:'energy')
634
- self.energy = attributes[:'energy']
634
+ if attributes.key?(:'performance_rating')
635
+ self.performance_rating = attributes[:'performance_rating']
635
636
  end
636
637
 
637
- if attributes.key?(:'engagement')
638
- self.engagement = attributes[:'engagement']
638
+ if attributes.key?(:'performance_rating_affinity')
639
+ self.performance_rating_affinity = attributes[:'performance_rating_affinity']
639
640
  end
640
641
 
641
- if attributes.key?(:'groovyness')
642
- self.groovyness = attributes[:'groovyness']
642
+ if attributes.key?(:'song_rating')
643
+ self.song_rating = attributes[:'song_rating']
643
644
  end
644
645
 
645
- if attributes.key?(:'harmony')
646
- self.harmony = attributes[:'harmony']
646
+ if attributes.key?(:'song_rating_affinity')
647
+ self.song_rating_affinity = attributes[:'song_rating_affinity']
647
648
  end
648
649
 
649
- if attributes.key?(:'pleasantness')
650
- self.pleasantness = attributes[:'pleasantness']
650
+ if attributes.key?(:'primary_mood_cluster_affinity')
651
+ self.primary_mood_cluster_affinity = attributes[:'primary_mood_cluster_affinity']
651
652
  end
652
653
 
653
- if attributes.key?(:'primary_mood_cluster')
654
- self.primary_mood_cluster = attributes[:'primary_mood_cluster']
654
+ if attributes.key?(:'audience_age')
655
+ self.audience_age = attributes[:'audience_age']
655
656
  end
656
657
 
657
- if attributes.key?(:'primary_sound_character')
658
- self.primary_sound_character = attributes[:'primary_sound_character']
658
+ if attributes.key?(:'audience_age_affinity')
659
+ self.audience_age_affinity = attributes[:'audience_age_affinity']
659
660
  end
660
661
 
661
- if attributes.key?(:'rhythm')
662
- self.rhythm = attributes[:'rhythm']
662
+ if attributes.key?(:'secondary_audience_age')
663
+ self.secondary_audience_age = attributes[:'secondary_audience_age']
663
664
  end
664
665
 
665
- if attributes.key?(:'roughness')
666
- self.roughness = attributes[:'roughness']
666
+ if attributes.key?(:'secondary_audience_age_affinity')
667
+ self.secondary_audience_age_affinity = attributes[:'secondary_audience_age_affinity']
667
668
  end
668
669
 
669
- if attributes.key?(:'scale')
670
- self.scale = attributes[:'scale']
670
+ if attributes.key?(:'tertiary_audience_age')
671
+ self.tertiary_audience_age = attributes[:'tertiary_audience_age']
671
672
  end
672
673
 
673
- if attributes.key?(:'key')
674
- self.key = attributes[:'key']
674
+ if attributes.key?(:'tertiary_audience_age_affinity')
675
+ self.tertiary_audience_age_affinity = attributes[:'tertiary_audience_age_affinity']
675
676
  end
676
677
 
677
- if attributes.key?(:'sound_generation')
678
- self.sound_generation = attributes[:'sound_generation']
678
+ if attributes.key?(:'audience_gender')
679
+ self.audience_gender = attributes[:'audience_gender']
679
680
  end
680
681
 
681
- if attributes.key?(:'tempo')
682
- self.tempo = attributes[:'tempo']
682
+ if attributes.key?(:'audience_gender_affinity')
683
+ self.audience_gender_affinity = attributes[:'audience_gender_affinity']
683
684
  end
684
685
 
685
- if attributes.key?(:'texture')
686
- self.texture = attributes[:'texture']
686
+ if attributes.key?(:'audience_region_affinity')
687
+ self.audience_region_affinity = attributes[:'audience_region_affinity']
687
688
  end
688
689
 
689
- if attributes.key?(:'timbre')
690
- self.timbre = attributes[:'timbre']
690
+ if attributes.key?(:'secondary_audience_region')
691
+ self.secondary_audience_region = attributes[:'secondary_audience_region']
691
692
  end
692
693
 
693
- if attributes.key?(:'tonality')
694
- self.tonality = attributes[:'tonality']
694
+ if attributes.key?(:'secondary_audience_region_affinity')
695
+ self.secondary_audience_region_affinity = attributes[:'secondary_audience_region_affinity']
695
696
  end
696
697
 
697
- if attributes.key?(:'valence')
698
- self.valence = attributes[:'valence']
698
+ if attributes.key?(:'tertiary_audience_region')
699
+ self.tertiary_audience_region = attributes[:'tertiary_audience_region']
699
700
  end
700
701
 
701
- if attributes.key?(:'vocals')
702
- self.vocals = attributes[:'vocals']
702
+ if attributes.key?(:'tertiary_audience_region_affinity')
703
+ self.tertiary_audience_region_affinity = attributes[:'tertiary_audience_region_affinity']
703
704
  end
704
705
 
705
- if attributes.key?(:'origin_decade')
706
- self.origin_decade = attributes[:'origin_decade']
706
+ if attributes.key?(:'origin_region')
707
+ self.origin_region = attributes[:'origin_region']
707
708
  end
708
709
 
709
- if attributes.key?(:'curateability')
710
- self.curateability = attributes[:'curateability']
710
+ if attributes.key?(:'origin_region_affinity')
711
+ self.origin_region_affinity = attributes[:'origin_region_affinity']
711
712
  end
712
713
 
713
- if attributes.key?(:'use_case')
714
- self.use_case = attributes[:'use_case']
714
+ if attributes.key?(:'origin_decade_affinity')
715
+ self.origin_decade_affinity = attributes[:'origin_decade_affinity']
715
716
  end
716
717
 
717
- if attributes.key?(:'channel_suitability')
718
- self.channel_suitability = attributes[:'channel_suitability']
718
+ if attributes.key?(:'language_of_performance_affinity')
719
+ self.language_of_performance_affinity = attributes[:'language_of_performance_affinity']
719
720
  end
720
721
 
721
- if attributes.key?(:'language_of_performance')
722
- self.language_of_performance = attributes[:'language_of_performance']
722
+ if attributes.key?(:'curateability_affinity')
723
+ self.curateability_affinity = attributes[:'curateability_affinity']
723
724
  end
724
725
 
725
- if attributes.key?(:'arousal')
726
- self.arousal = attributes[:'arousal']
726
+ if attributes.key?(:'use_case_affinity')
727
+ self.use_case_affinity = attributes[:'use_case_affinity']
728
+ end
729
+
730
+ if attributes.key?(:'industry_suitability')
731
+ self.industry_suitability = attributes[:'industry_suitability']
732
+ end
733
+
734
+ if attributes.key?(:'industry_suitability_affinity')
735
+ self.industry_suitability_affinity = attributes[:'industry_suitability_affinity']
736
+ end
737
+
738
+ if attributes.key?(:'audience_region')
739
+ self.audience_region = attributes[:'audience_region']
740
+ end
741
+
742
+ if attributes.key?(:'harmony_affinity')
743
+ self.harmony_affinity = attributes[:'harmony_affinity']
744
+ end
745
+
746
+ if attributes.key?(:'texture_affinity')
747
+ self.texture_affinity = attributes[:'texture_affinity']
748
+ end
749
+
750
+ if attributes.key?(:'groovyness_affinity')
751
+ self.groovyness_affinity = attributes[:'groovyness_affinity']
752
+ end
753
+
754
+ if attributes.key?(:'space_affinity')
755
+ self.space_affinity = attributes[:'space_affinity']
756
+ end
757
+
758
+ if attributes.key?(:'loudness_affinity')
759
+ self.loudness_affinity = attributes[:'loudness_affinity']
760
+ end
761
+
762
+ if attributes.key?(:'key_affinity')
763
+ self.key_affinity = attributes[:'key_affinity']
764
+ end
765
+
766
+ if attributes.key?(:'channel_suitability_affinity')
767
+ self.channel_suitability_affinity = attributes[:'channel_suitability_affinity']
727
768
  end
728
769
 
729
770
  if attributes.key?(:'valence_affinity')
@@ -761,30 +802,6 @@ module SongtradrApiClientRuby
761
802
  if attributes.key?(:'roughness_affinity')
762
803
  self.roughness_affinity = attributes[:'roughness_affinity']
763
804
  end
764
-
765
- if attributes.key?(:'harmony_affinity')
766
- self.harmony_affinity = attributes[:'harmony_affinity']
767
- end
768
-
769
- if attributes.key?(:'texture_affinity')
770
- self.texture_affinity = attributes[:'texture_affinity']
771
- end
772
-
773
- if attributes.key?(:'groovyness_affinity')
774
- self.groovyness_affinity = attributes[:'groovyness_affinity']
775
- end
776
-
777
- if attributes.key?(:'space_affinity')
778
- self.space_affinity = attributes[:'space_affinity']
779
- end
780
-
781
- if attributes.key?(:'key_affinity')
782
- self.key_affinity = attributes[:'key_affinity']
783
- end
784
-
785
- if attributes.key?(:'channel_suitability_affinity')
786
- self.channel_suitability_affinity = attributes[:'channel_suitability_affinity']
787
- end
788
805
  end
789
806
 
790
807
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -801,39 +818,11 @@ module SongtradrApiClientRuby
801
818
  warn '[DEPRECATED] the `valid?` method is obsolete'
802
819
  space_validator = EnumAttributeValidator.new('String', ["very compact", "compact", "moderate space", "wide", "very wide"])
803
820
  return false unless space_validator.valid?(@space)
804
- secondary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
805
- return false unless secondary_mood_cluster_validator.valid?(@secondary_mood_cluster)
806
- production_rating_validator = EnumAttributeValidator.new('String', ["low production quality", "medium production quality", "high production quality"])
807
- return false unless production_rating_validator.valid?(@production_rating)
808
- performance_rating_validator = EnumAttributeValidator.new('String', ["low performance quality", "medium performance quality", "high performance quality"])
809
- return false unless performance_rating_validator.valid?(@performance_rating)
810
- song_rating_validator = EnumAttributeValidator.new('String', ["low song quality", "medium song quality", "high song quality"])
811
- return false unless song_rating_validator.valid?(@song_rating)
812
- audience_age_validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
813
- return false unless audience_age_validator.valid?(@audience_age)
814
- secondary_audience_age_validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
815
- return false unless secondary_audience_age_validator.valid?(@secondary_audience_age)
816
- tertiary_audience_age_validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
817
- return false unless tertiary_audience_age_validator.valid?(@tertiary_audience_age)
818
- audience_gender_validator = EnumAttributeValidator.new('String', ["male", "female"])
819
- return false unless audience_gender_validator.valid?(@audience_gender)
820
- secondary_audience_region_validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
821
- return false unless secondary_audience_region_validator.valid?(@secondary_audience_region)
822
- tertiary_audience_region_validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
823
- return false unless tertiary_audience_region_validator.valid?(@tertiary_audience_region)
824
- origin_region_validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
825
- return false unless origin_region_validator.valid?(@origin_region)
826
- industry_suitability_validator = EnumAttributeValidator.new('String', ["Automobiles and Parts", "Consumer Products and Services", "Financial Services", "Food, Beverage and Tobacco", "Health Care", "Insurance", "Media", "Politics, Government and Organizations", "Real Estate", "Retail", "Technology", "Telecommunications", "Travel and Leisure"])
827
- return false unless industry_suitability_validator.valid?(@industry_suitability)
828
- tertiary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
829
- return false unless tertiary_mood_cluster_validator.valid?(@tertiary_mood_cluster)
830
- secondary_instrument_validator = EnumAttributeValidator.new('String', ["electric guitar", "piano", "electronics", "guitar", "strings", "synthesizer", "wind", "saxophone", "flute", "trumpet", "drum kit", "keys", "accordion", "violin", "harpsichord", "choir", "cello", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
831
- return false unless secondary_instrument_validator.valid?(@secondary_instrument)
832
- tertiary_instrument_validator = EnumAttributeValidator.new('String', ["electric guitar", "piano", "electronics", "guitar", "strings", "synthesizer", "wind", "saxophone", "flute", "trumpet", "drum kit", "keys", "accordion", "violin", "harpsichord", "choir", "cello", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
833
- return false unless tertiary_instrument_validator.valid?(@tertiary_instrument)
834
- audience_region_validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
835
- return false unless audience_region_validator.valid?(@audience_region)
836
- dominant_instrument_validator = EnumAttributeValidator.new('String', ["electric guitar", "piano", "electronics", "guitar", "strings", "synthesizer", "wind", "saxophone", "flute", "trumpet", "drum kit", "keys", "accordion", "violin", "harpsichord", "choir", "cello", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
821
+ language_of_performance_validator = EnumAttributeValidator.new('String', ["en", "de", "no", "fr", "es", "pt", "fi", "ru", "it", "la", "el", "ar", "nl", "ja", "pl", "sv", "zu", "da", "cs", "hu", "af", "hi", "tr", "zh", "ms", "pa", "id", "ko", "vi"])
822
+ return false unless language_of_performance_validator.valid?(@language_of_performance)
823
+ arousal_validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
824
+ return false unless arousal_validator.valid?(@arousal)
825
+ dominant_instrument_validator = EnumAttributeValidator.new('String', ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
837
826
  return false unless dominant_instrument_validator.valid?(@dominant_instrument)
838
827
  energy_validator = EnumAttributeValidator.new('String', ["very quiet", "quiet", "moderate", "loud", "very loud", "dynamic"])
839
828
  return false unless energy_validator.valid?(@energy)
@@ -879,10 +868,40 @@ module SongtradrApiClientRuby
879
868
  return false unless use_case_validator.valid?(@use_case)
880
869
  channel_suitability_validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
881
870
  return false unless channel_suitability_validator.valid?(@channel_suitability)
882
- language_of_performance_validator = EnumAttributeValidator.new('String', ["en", "de", "no", "fr", "es", "pt", "fi", "ru", "it", "la", "el", "ar", "nl", "ja", "pl", "sv", "zu", "da", "cs", "hu", "af", "hi", "tr", "zh", "ms", "pa", "id", "ko", "vi"])
883
- return false unless language_of_performance_validator.valid?(@language_of_performance)
884
- arousal_validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
885
- return false unless arousal_validator.valid?(@arousal)
871
+ loudness_validator = EnumAttributeValidator.new('String', ["very low", "low", "moderate", "high", "very high"])
872
+ return false unless loudness_validator.valid?(@loudness)
873
+ secondary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
874
+ return false unless secondary_mood_cluster_validator.valid?(@secondary_mood_cluster)
875
+ tertiary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
876
+ return false unless tertiary_mood_cluster_validator.valid?(@tertiary_mood_cluster)
877
+ secondary_instrument_validator = EnumAttributeValidator.new('String', ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
878
+ return false unless secondary_instrument_validator.valid?(@secondary_instrument)
879
+ tertiary_instrument_validator = EnumAttributeValidator.new('String', ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
880
+ return false unless tertiary_instrument_validator.valid?(@tertiary_instrument)
881
+ production_rating_validator = EnumAttributeValidator.new('String', ["low production quality", "medium production quality", "high production quality"])
882
+ return false unless production_rating_validator.valid?(@production_rating)
883
+ performance_rating_validator = EnumAttributeValidator.new('String', ["low performance quality", "medium performance quality", "high performance quality"])
884
+ return false unless performance_rating_validator.valid?(@performance_rating)
885
+ song_rating_validator = EnumAttributeValidator.new('String', ["low song quality", "medium song quality", "high song quality"])
886
+ return false unless song_rating_validator.valid?(@song_rating)
887
+ audience_age_validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
888
+ return false unless audience_age_validator.valid?(@audience_age)
889
+ secondary_audience_age_validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
890
+ return false unless secondary_audience_age_validator.valid?(@secondary_audience_age)
891
+ tertiary_audience_age_validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
892
+ return false unless tertiary_audience_age_validator.valid?(@tertiary_audience_age)
893
+ audience_gender_validator = EnumAttributeValidator.new('String', ["male", "female"])
894
+ return false unless audience_gender_validator.valid?(@audience_gender)
895
+ secondary_audience_region_validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
896
+ return false unless secondary_audience_region_validator.valid?(@secondary_audience_region)
897
+ tertiary_audience_region_validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
898
+ return false unless tertiary_audience_region_validator.valid?(@tertiary_audience_region)
899
+ origin_region_validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
900
+ return false unless origin_region_validator.valid?(@origin_region)
901
+ industry_suitability_validator = EnumAttributeValidator.new('String', ["Automobiles and Parts", "Consumer Products and Services", "Financial Services", "Food, Beverage and Tobacco", "Health Care", "Insurance", "Media", "Politics, Government and Organizations", "Real Estate", "Retail", "Technology", "Telecommunications", "Travel and Leisure"])
902
+ return false unless industry_suitability_validator.valid?(@industry_suitability)
903
+ audience_region_validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
904
+ return false unless audience_region_validator.valid?(@audience_region)
886
905
  true
887
906
  end
888
907
 
@@ -897,169 +916,29 @@ module SongtradrApiClientRuby
897
916
  end
898
917
 
899
918
  # Custom attribute writer method checking allowed values (enum).
900
- # @param [Object] secondary_mood_cluster Object to be assigned
901
- def secondary_mood_cluster=(secondary_mood_cluster)
902
- validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
903
- unless validator.valid?(secondary_mood_cluster)
904
- fail ArgumentError, "invalid value for \"secondary_mood_cluster\", must be one of #{validator.allowable_values}."
905
- end
906
- @secondary_mood_cluster = secondary_mood_cluster
907
- end
908
-
909
- # Custom attribute writer method checking allowed values (enum).
910
- # @param [Object] production_rating Object to be assigned
911
- def production_rating=(production_rating)
912
- validator = EnumAttributeValidator.new('String', ["low production quality", "medium production quality", "high production quality"])
913
- unless validator.valid?(production_rating)
914
- fail ArgumentError, "invalid value for \"production_rating\", must be one of #{validator.allowable_values}."
915
- end
916
- @production_rating = production_rating
917
- end
918
-
919
- # Custom attribute writer method checking allowed values (enum).
920
- # @param [Object] performance_rating Object to be assigned
921
- def performance_rating=(performance_rating)
922
- validator = EnumAttributeValidator.new('String', ["low performance quality", "medium performance quality", "high performance quality"])
923
- unless validator.valid?(performance_rating)
924
- fail ArgumentError, "invalid value for \"performance_rating\", must be one of #{validator.allowable_values}."
925
- end
926
- @performance_rating = performance_rating
927
- end
928
-
929
- # Custom attribute writer method checking allowed values (enum).
930
- # @param [Object] song_rating Object to be assigned
931
- def song_rating=(song_rating)
932
- validator = EnumAttributeValidator.new('String', ["low song quality", "medium song quality", "high song quality"])
933
- unless validator.valid?(song_rating)
934
- fail ArgumentError, "invalid value for \"song_rating\", must be one of #{validator.allowable_values}."
935
- end
936
- @song_rating = song_rating
937
- end
938
-
939
- # Custom attribute writer method checking allowed values (enum).
940
- # @param [Object] audience_age Object to be assigned
941
- def audience_age=(audience_age)
942
- validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
943
- unless validator.valid?(audience_age)
944
- fail ArgumentError, "invalid value for \"audience_age\", must be one of #{validator.allowable_values}."
945
- end
946
- @audience_age = audience_age
947
- end
948
-
949
- # Custom attribute writer method checking allowed values (enum).
950
- # @param [Object] secondary_audience_age Object to be assigned
951
- def secondary_audience_age=(secondary_audience_age)
952
- validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
953
- unless validator.valid?(secondary_audience_age)
954
- fail ArgumentError, "invalid value for \"secondary_audience_age\", must be one of #{validator.allowable_values}."
955
- end
956
- @secondary_audience_age = secondary_audience_age
957
- end
958
-
959
- # Custom attribute writer method checking allowed values (enum).
960
- # @param [Object] tertiary_audience_age Object to be assigned
961
- def tertiary_audience_age=(tertiary_audience_age)
962
- validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
963
- unless validator.valid?(tertiary_audience_age)
964
- fail ArgumentError, "invalid value for \"tertiary_audience_age\", must be one of #{validator.allowable_values}."
965
- end
966
- @tertiary_audience_age = tertiary_audience_age
967
- end
968
-
969
- # Custom attribute writer method checking allowed values (enum).
970
- # @param [Object] audience_gender Object to be assigned
971
- def audience_gender=(audience_gender)
972
- validator = EnumAttributeValidator.new('String', ["male", "female"])
973
- unless validator.valid?(audience_gender)
974
- fail ArgumentError, "invalid value for \"audience_gender\", must be one of #{validator.allowable_values}."
975
- end
976
- @audience_gender = audience_gender
977
- end
978
-
979
- # Custom attribute writer method checking allowed values (enum).
980
- # @param [Object] secondary_audience_region Object to be assigned
981
- def secondary_audience_region=(secondary_audience_region)
982
- validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
983
- unless validator.valid?(secondary_audience_region)
984
- fail ArgumentError, "invalid value for \"secondary_audience_region\", must be one of #{validator.allowable_values}."
985
- end
986
- @secondary_audience_region = secondary_audience_region
987
- end
988
-
989
- # Custom attribute writer method checking allowed values (enum).
990
- # @param [Object] tertiary_audience_region Object to be assigned
991
- def tertiary_audience_region=(tertiary_audience_region)
992
- validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
993
- unless validator.valid?(tertiary_audience_region)
994
- fail ArgumentError, "invalid value for \"tertiary_audience_region\", must be one of #{validator.allowable_values}."
995
- end
996
- @tertiary_audience_region = tertiary_audience_region
997
- end
998
-
999
- # Custom attribute writer method checking allowed values (enum).
1000
- # @param [Object] origin_region Object to be assigned
1001
- def origin_region=(origin_region)
1002
- validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
1003
- unless validator.valid?(origin_region)
1004
- fail ArgumentError, "invalid value for \"origin_region\", must be one of #{validator.allowable_values}."
1005
- end
1006
- @origin_region = origin_region
1007
- end
1008
-
1009
- # Custom attribute writer method checking allowed values (enum).
1010
- # @param [Object] industry_suitability Object to be assigned
1011
- def industry_suitability=(industry_suitability)
1012
- validator = EnumAttributeValidator.new('String', ["Automobiles and Parts", "Consumer Products and Services", "Financial Services", "Food, Beverage and Tobacco", "Health Care", "Insurance", "Media", "Politics, Government and Organizations", "Real Estate", "Retail", "Technology", "Telecommunications", "Travel and Leisure"])
1013
- unless validator.valid?(industry_suitability)
1014
- fail ArgumentError, "invalid value for \"industry_suitability\", must be one of #{validator.allowable_values}."
1015
- end
1016
- @industry_suitability = industry_suitability
1017
- end
1018
-
1019
- # Custom attribute writer method checking allowed values (enum).
1020
- # @param [Object] tertiary_mood_cluster Object to be assigned
1021
- def tertiary_mood_cluster=(tertiary_mood_cluster)
1022
- validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
1023
- unless validator.valid?(tertiary_mood_cluster)
1024
- fail ArgumentError, "invalid value for \"tertiary_mood_cluster\", must be one of #{validator.allowable_values}."
1025
- end
1026
- @tertiary_mood_cluster = tertiary_mood_cluster
1027
- end
1028
-
1029
- # Custom attribute writer method checking allowed values (enum).
1030
- # @param [Object] secondary_instrument Object to be assigned
1031
- def secondary_instrument=(secondary_instrument)
1032
- validator = EnumAttributeValidator.new('String', ["electric guitar", "piano", "electronics", "guitar", "strings", "synthesizer", "wind", "saxophone", "flute", "trumpet", "drum kit", "keys", "accordion", "violin", "harpsichord", "choir", "cello", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
1033
- unless validator.valid?(secondary_instrument)
1034
- fail ArgumentError, "invalid value for \"secondary_instrument\", must be one of #{validator.allowable_values}."
1035
- end
1036
- @secondary_instrument = secondary_instrument
1037
- end
1038
-
1039
- # Custom attribute writer method checking allowed values (enum).
1040
- # @param [Object] tertiary_instrument Object to be assigned
1041
- def tertiary_instrument=(tertiary_instrument)
1042
- validator = EnumAttributeValidator.new('String', ["electric guitar", "piano", "electronics", "guitar", "strings", "synthesizer", "wind", "saxophone", "flute", "trumpet", "drum kit", "keys", "accordion", "violin", "harpsichord", "choir", "cello", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
1043
- unless validator.valid?(tertiary_instrument)
1044
- fail ArgumentError, "invalid value for \"tertiary_instrument\", must be one of #{validator.allowable_values}."
919
+ # @param [Object] language_of_performance Object to be assigned
920
+ def language_of_performance=(language_of_performance)
921
+ validator = EnumAttributeValidator.new('String', ["en", "de", "no", "fr", "es", "pt", "fi", "ru", "it", "la", "el", "ar", "nl", "ja", "pl", "sv", "zu", "da", "cs", "hu", "af", "hi", "tr", "zh", "ms", "pa", "id", "ko", "vi"])
922
+ unless validator.valid?(language_of_performance)
923
+ fail ArgumentError, "invalid value for \"language_of_performance\", must be one of #{validator.allowable_values}."
1045
924
  end
1046
- @tertiary_instrument = tertiary_instrument
925
+ @language_of_performance = language_of_performance
1047
926
  end
1048
927
 
1049
928
  # Custom attribute writer method checking allowed values (enum).
1050
- # @param [Object] audience_region Object to be assigned
1051
- def audience_region=(audience_region)
1052
- validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
1053
- unless validator.valid?(audience_region)
1054
- fail ArgumentError, "invalid value for \"audience_region\", must be one of #{validator.allowable_values}."
929
+ # @param [Object] arousal Object to be assigned
930
+ def arousal=(arousal)
931
+ validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
932
+ unless validator.valid?(arousal)
933
+ fail ArgumentError, "invalid value for \"arousal\", must be one of #{validator.allowable_values}."
1055
934
  end
1056
- @audience_region = audience_region
935
+ @arousal = arousal
1057
936
  end
1058
937
 
1059
938
  # Custom attribute writer method checking allowed values (enum).
1060
939
  # @param [Object] dominant_instrument Object to be assigned
1061
940
  def dominant_instrument=(dominant_instrument)
1062
- validator = EnumAttributeValidator.new('String', ["electric guitar", "piano", "electronics", "guitar", "strings", "synthesizer", "wind", "saxophone", "flute", "trumpet", "drum kit", "keys", "accordion", "violin", "harpsichord", "choir", "cello", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
941
+ validator = EnumAttributeValidator.new('String', ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
1063
942
  unless validator.valid?(dominant_instrument)
1064
943
  fail ArgumentError, "invalid value for \"dominant_instrument\", must be one of #{validator.allowable_values}."
1065
944
  end
@@ -1287,23 +1166,173 @@ module SongtradrApiClientRuby
1287
1166
  end
1288
1167
 
1289
1168
  # Custom attribute writer method checking allowed values (enum).
1290
- # @param [Object] language_of_performance Object to be assigned
1291
- def language_of_performance=(language_of_performance)
1292
- validator = EnumAttributeValidator.new('String', ["en", "de", "no", "fr", "es", "pt", "fi", "ru", "it", "la", "el", "ar", "nl", "ja", "pl", "sv", "zu", "da", "cs", "hu", "af", "hi", "tr", "zh", "ms", "pa", "id", "ko", "vi"])
1293
- unless validator.valid?(language_of_performance)
1294
- fail ArgumentError, "invalid value for \"language_of_performance\", must be one of #{validator.allowable_values}."
1169
+ # @param [Object] loudness Object to be assigned
1170
+ def loudness=(loudness)
1171
+ validator = EnumAttributeValidator.new('String', ["very low", "low", "moderate", "high", "very high"])
1172
+ unless validator.valid?(loudness)
1173
+ fail ArgumentError, "invalid value for \"loudness\", must be one of #{validator.allowable_values}."
1295
1174
  end
1296
- @language_of_performance = language_of_performance
1175
+ @loudness = loudness
1297
1176
  end
1298
1177
 
1299
1178
  # Custom attribute writer method checking allowed values (enum).
1300
- # @param [Object] arousal Object to be assigned
1301
- def arousal=(arousal)
1302
- validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
1303
- unless validator.valid?(arousal)
1304
- fail ArgumentError, "invalid value for \"arousal\", must be one of #{validator.allowable_values}."
1179
+ # @param [Object] secondary_mood_cluster Object to be assigned
1180
+ def secondary_mood_cluster=(secondary_mood_cluster)
1181
+ validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
1182
+ unless validator.valid?(secondary_mood_cluster)
1183
+ fail ArgumentError, "invalid value for \"secondary_mood_cluster\", must be one of #{validator.allowable_values}."
1305
1184
  end
1306
- @arousal = arousal
1185
+ @secondary_mood_cluster = secondary_mood_cluster
1186
+ end
1187
+
1188
+ # Custom attribute writer method checking allowed values (enum).
1189
+ # @param [Object] tertiary_mood_cluster Object to be assigned
1190
+ def tertiary_mood_cluster=(tertiary_mood_cluster)
1191
+ validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
1192
+ unless validator.valid?(tertiary_mood_cluster)
1193
+ fail ArgumentError, "invalid value for \"tertiary_mood_cluster\", must be one of #{validator.allowable_values}."
1194
+ end
1195
+ @tertiary_mood_cluster = tertiary_mood_cluster
1196
+ end
1197
+
1198
+ # Custom attribute writer method checking allowed values (enum).
1199
+ # @param [Object] secondary_instrument Object to be assigned
1200
+ def secondary_instrument=(secondary_instrument)
1201
+ validator = EnumAttributeValidator.new('String', ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
1202
+ unless validator.valid?(secondary_instrument)
1203
+ fail ArgumentError, "invalid value for \"secondary_instrument\", must be one of #{validator.allowable_values}."
1204
+ end
1205
+ @secondary_instrument = secondary_instrument
1206
+ end
1207
+
1208
+ # Custom attribute writer method checking allowed values (enum).
1209
+ # @param [Object] tertiary_instrument Object to be assigned
1210
+ def tertiary_instrument=(tertiary_instrument)
1211
+ validator = EnumAttributeValidator.new('String', ["piano", "electronics", "guitar", "strings", "synthesizer", "wind", "drum kit", "keys", "harpsichord", "choir", "electric bass", "organ", "brass", "percussion", "vocals", "double bass", "harp"])
1212
+ unless validator.valid?(tertiary_instrument)
1213
+ fail ArgumentError, "invalid value for \"tertiary_instrument\", must be one of #{validator.allowable_values}."
1214
+ end
1215
+ @tertiary_instrument = tertiary_instrument
1216
+ end
1217
+
1218
+ # Custom attribute writer method checking allowed values (enum).
1219
+ # @param [Object] production_rating Object to be assigned
1220
+ def production_rating=(production_rating)
1221
+ validator = EnumAttributeValidator.new('String', ["low production quality", "medium production quality", "high production quality"])
1222
+ unless validator.valid?(production_rating)
1223
+ fail ArgumentError, "invalid value for \"production_rating\", must be one of #{validator.allowable_values}."
1224
+ end
1225
+ @production_rating = production_rating
1226
+ end
1227
+
1228
+ # Custom attribute writer method checking allowed values (enum).
1229
+ # @param [Object] performance_rating Object to be assigned
1230
+ def performance_rating=(performance_rating)
1231
+ validator = EnumAttributeValidator.new('String', ["low performance quality", "medium performance quality", "high performance quality"])
1232
+ unless validator.valid?(performance_rating)
1233
+ fail ArgumentError, "invalid value for \"performance_rating\", must be one of #{validator.allowable_values}."
1234
+ end
1235
+ @performance_rating = performance_rating
1236
+ end
1237
+
1238
+ # Custom attribute writer method checking allowed values (enum).
1239
+ # @param [Object] song_rating Object to be assigned
1240
+ def song_rating=(song_rating)
1241
+ validator = EnumAttributeValidator.new('String', ["low song quality", "medium song quality", "high song quality"])
1242
+ unless validator.valid?(song_rating)
1243
+ fail ArgumentError, "invalid value for \"song_rating\", must be one of #{validator.allowable_values}."
1244
+ end
1245
+ @song_rating = song_rating
1246
+ end
1247
+
1248
+ # Custom attribute writer method checking allowed values (enum).
1249
+ # @param [Object] audience_age Object to be assigned
1250
+ def audience_age=(audience_age)
1251
+ validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
1252
+ unless validator.valid?(audience_age)
1253
+ fail ArgumentError, "invalid value for \"audience_age\", must be one of #{validator.allowable_values}."
1254
+ end
1255
+ @audience_age = audience_age
1256
+ end
1257
+
1258
+ # Custom attribute writer method checking allowed values (enum).
1259
+ # @param [Object] secondary_audience_age Object to be assigned
1260
+ def secondary_audience_age=(secondary_audience_age)
1261
+ validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
1262
+ unless validator.valid?(secondary_audience_age)
1263
+ fail ArgumentError, "invalid value for \"secondary_audience_age\", must be one of #{validator.allowable_values}."
1264
+ end
1265
+ @secondary_audience_age = secondary_audience_age
1266
+ end
1267
+
1268
+ # Custom attribute writer method checking allowed values (enum).
1269
+ # @param [Object] tertiary_audience_age Object to be assigned
1270
+ def tertiary_audience_age=(tertiary_audience_age)
1271
+ validator = EnumAttributeValidator.new('String', ["Generation Z", "Younger Generation Y", "Older Generation Y", "Generation X", "Younger Generation B", "Older Generation B"])
1272
+ unless validator.valid?(tertiary_audience_age)
1273
+ fail ArgumentError, "invalid value for \"tertiary_audience_age\", must be one of #{validator.allowable_values}."
1274
+ end
1275
+ @tertiary_audience_age = tertiary_audience_age
1276
+ end
1277
+
1278
+ # Custom attribute writer method checking allowed values (enum).
1279
+ # @param [Object] audience_gender Object to be assigned
1280
+ def audience_gender=(audience_gender)
1281
+ validator = EnumAttributeValidator.new('String', ["male", "female"])
1282
+ unless validator.valid?(audience_gender)
1283
+ fail ArgumentError, "invalid value for \"audience_gender\", must be one of #{validator.allowable_values}."
1284
+ end
1285
+ @audience_gender = audience_gender
1286
+ end
1287
+
1288
+ # Custom attribute writer method checking allowed values (enum).
1289
+ # @param [Object] secondary_audience_region Object to be assigned
1290
+ def secondary_audience_region=(secondary_audience_region)
1291
+ validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
1292
+ unless validator.valid?(secondary_audience_region)
1293
+ fail ArgumentError, "invalid value for \"secondary_audience_region\", must be one of #{validator.allowable_values}."
1294
+ end
1295
+ @secondary_audience_region = secondary_audience_region
1296
+ end
1297
+
1298
+ # Custom attribute writer method checking allowed values (enum).
1299
+ # @param [Object] tertiary_audience_region Object to be assigned
1300
+ def tertiary_audience_region=(tertiary_audience_region)
1301
+ validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
1302
+ unless validator.valid?(tertiary_audience_region)
1303
+ fail ArgumentError, "invalid value for \"tertiary_audience_region\", must be one of #{validator.allowable_values}."
1304
+ end
1305
+ @tertiary_audience_region = tertiary_audience_region
1306
+ end
1307
+
1308
+ # Custom attribute writer method checking allowed values (enum).
1309
+ # @param [Object] origin_region Object to be assigned
1310
+ def origin_region=(origin_region)
1311
+ validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
1312
+ unless validator.valid?(origin_region)
1313
+ fail ArgumentError, "invalid value for \"origin_region\", must be one of #{validator.allowable_values}."
1314
+ end
1315
+ @origin_region = origin_region
1316
+ end
1317
+
1318
+ # Custom attribute writer method checking allowed values (enum).
1319
+ # @param [Object] industry_suitability Object to be assigned
1320
+ def industry_suitability=(industry_suitability)
1321
+ validator = EnumAttributeValidator.new('String', ["Automobiles and Parts", "Consumer Products and Services", "Financial Services", "Food, Beverage and Tobacco", "Health Care", "Insurance", "Media", "Politics, Government and Organizations", "Real Estate", "Retail", "Technology", "Telecommunications", "Travel and Leisure"])
1322
+ unless validator.valid?(industry_suitability)
1323
+ fail ArgumentError, "invalid value for \"industry_suitability\", must be one of #{validator.allowable_values}."
1324
+ end
1325
+ @industry_suitability = industry_suitability
1326
+ end
1327
+
1328
+ # Custom attribute writer method checking allowed values (enum).
1329
+ # @param [Object] audience_region Object to be assigned
1330
+ def audience_region=(audience_region)
1331
+ validator = EnumAttributeValidator.new('String', ["Australia and New Zealand", "Central America and the Carribean", "Central and Southern Asia", "Eastern Asia", "Eastern Europe", "Northern Africa and Western Asia", "Northern America", "Oceania", "South America", "South-Eastern Asia", "Southern Europe", "Sub-Saharan Africa", "Western and Northern Europe"])
1332
+ unless validator.valid?(audience_region)
1333
+ fail ArgumentError, "invalid value for \"audience_region\", must be one of #{validator.allowable_values}."
1334
+ end
1335
+ @audience_region = audience_region
1307
1336
  end
1308
1337
 
1309
1338
  # Checks equality by comparing each attribute.
@@ -1312,14 +1341,54 @@ module SongtradrApiClientRuby
1312
1341
  return true if self.equal?(o)
1313
1342
  self.class == o.class &&
1314
1343
  space == o.space &&
1315
- primary_mood_cluster_affinity == o.primary_mood_cluster_affinity &&
1344
+ language_of_performance == o.language_of_performance &&
1345
+ arousal == o.arousal &&
1346
+ dominant_instrument == o.dominant_instrument &&
1347
+ energy == o.energy &&
1348
+ engagement == o.engagement &&
1349
+ groovyness == o.groovyness &&
1350
+ harmony == o.harmony &&
1351
+ pleasantness == o.pleasantness &&
1352
+ primary_mood_cluster == o.primary_mood_cluster &&
1353
+ primary_sound_character == o.primary_sound_character &&
1354
+ rhythm == o.rhythm &&
1355
+ roughness == o.roughness &&
1356
+ scale == o.scale &&
1357
+ key == o.key &&
1358
+ sound_generation == o.sound_generation &&
1359
+ tempo == o.tempo &&
1360
+ texture == o.texture &&
1361
+ timbre == o.timbre &&
1362
+ tonality == o.tonality &&
1363
+ valence == o.valence &&
1364
+ vocals == o.vocals &&
1365
+ origin_decade == o.origin_decade &&
1366
+ curateability == o.curateability &&
1367
+ use_case == o.use_case &&
1368
+ channel_suitability == o.channel_suitability &&
1369
+ loudness == o.loudness &&
1316
1370
  secondary_mood_cluster == o.secondary_mood_cluster &&
1371
+ secondary_mood_cluster_affinity == o.secondary_mood_cluster_affinity &&
1372
+ tertiary_mood_cluster == o.tertiary_mood_cluster &&
1373
+ tertiary_mood_cluster_affinity == o.tertiary_mood_cluster_affinity &&
1374
+ vocals_affinity == o.vocals_affinity &&
1375
+ dominant_instrument_affinity == o.dominant_instrument_affinity &&
1376
+ secondary_instrument == o.secondary_instrument &&
1377
+ secondary_instrument_affinity == o.secondary_instrument_affinity &&
1378
+ tertiary_instrument == o.tertiary_instrument &&
1379
+ tertiary_instrument_affinity == o.tertiary_instrument_affinity &&
1380
+ sound_generation_affinity == o.sound_generation_affinity &&
1381
+ rhythm_affinity == o.rhythm_affinity &&
1382
+ primary_sound_character_affinity == o.primary_sound_character_affinity &&
1383
+ tonality_affinity == o.tonality_affinity &&
1384
+ bpm == o.bpm &&
1317
1385
  production_rating == o.production_rating &&
1318
1386
  production_rating_affinity == o.production_rating_affinity &&
1319
1387
  performance_rating == o.performance_rating &&
1320
1388
  performance_rating_affinity == o.performance_rating_affinity &&
1321
1389
  song_rating == o.song_rating &&
1322
1390
  song_rating_affinity == o.song_rating_affinity &&
1391
+ primary_mood_cluster_affinity == o.primary_mood_cluster_affinity &&
1323
1392
  audience_age == o.audience_age &&
1324
1393
  audience_age_affinity == o.audience_age_affinity &&
1325
1394
  secondary_audience_age == o.secondary_audience_age &&
@@ -1341,46 +1410,14 @@ module SongtradrApiClientRuby
1341
1410
  use_case_affinity == o.use_case_affinity &&
1342
1411
  industry_suitability == o.industry_suitability &&
1343
1412
  industry_suitability_affinity == o.industry_suitability_affinity &&
1344
- secondary_mood_cluster_affinity == o.secondary_mood_cluster_affinity &&
1345
- tertiary_mood_cluster == o.tertiary_mood_cluster &&
1346
- tertiary_mood_cluster_affinity == o.tertiary_mood_cluster_affinity &&
1347
- vocals_affinity == o.vocals_affinity &&
1348
- dominant_instrument_affinity == o.dominant_instrument_affinity &&
1349
- secondary_instrument == o.secondary_instrument &&
1350
- secondary_instrument_affinity == o.secondary_instrument_affinity &&
1351
- tertiary_instrument == o.tertiary_instrument &&
1352
- tertiary_instrument_affinity == o.tertiary_instrument_affinity &&
1353
- sound_generation_affinity == o.sound_generation_affinity &&
1354
- rhythm_affinity == o.rhythm_affinity &&
1355
- primary_sound_character_affinity == o.primary_sound_character_affinity &&
1356
- tonality_affinity == o.tonality_affinity &&
1357
- bpm == o.bpm &&
1358
1413
  audience_region == o.audience_region &&
1359
- dominant_instrument == o.dominant_instrument &&
1360
- energy == o.energy &&
1361
- engagement == o.engagement &&
1362
- groovyness == o.groovyness &&
1363
- harmony == o.harmony &&
1364
- pleasantness == o.pleasantness &&
1365
- primary_mood_cluster == o.primary_mood_cluster &&
1366
- primary_sound_character == o.primary_sound_character &&
1367
- rhythm == o.rhythm &&
1368
- roughness == o.roughness &&
1369
- scale == o.scale &&
1370
- key == o.key &&
1371
- sound_generation == o.sound_generation &&
1372
- tempo == o.tempo &&
1373
- texture == o.texture &&
1374
- timbre == o.timbre &&
1375
- tonality == o.tonality &&
1376
- valence == o.valence &&
1377
- vocals == o.vocals &&
1378
- origin_decade == o.origin_decade &&
1379
- curateability == o.curateability &&
1380
- use_case == o.use_case &&
1381
- channel_suitability == o.channel_suitability &&
1382
- language_of_performance == o.language_of_performance &&
1383
- arousal == o.arousal &&
1414
+ harmony_affinity == o.harmony_affinity &&
1415
+ texture_affinity == o.texture_affinity &&
1416
+ groovyness_affinity == o.groovyness_affinity &&
1417
+ space_affinity == o.space_affinity &&
1418
+ loudness_affinity == o.loudness_affinity &&
1419
+ key_affinity == o.key_affinity &&
1420
+ channel_suitability_affinity == o.channel_suitability_affinity &&
1384
1421
  valence_affinity == o.valence_affinity &&
1385
1422
  arousal_affinity == o.arousal_affinity &&
1386
1423
  pleasantness_affinity == o.pleasantness_affinity &&
@@ -1389,13 +1426,7 @@ module SongtradrApiClientRuby
1389
1426
  tempo_affinity == o.tempo_affinity &&
1390
1427
  scale_affinity == o.scale_affinity &&
1391
1428
  timbre_affinity == o.timbre_affinity &&
1392
- roughness_affinity == o.roughness_affinity &&
1393
- harmony_affinity == o.harmony_affinity &&
1394
- texture_affinity == o.texture_affinity &&
1395
- groovyness_affinity == o.groovyness_affinity &&
1396
- space_affinity == o.space_affinity &&
1397
- key_affinity == o.key_affinity &&
1398
- channel_suitability_affinity == o.channel_suitability_affinity
1429
+ roughness_affinity == o.roughness_affinity
1399
1430
  end
1400
1431
 
1401
1432
  # @see the `==` method
@@ -1407,7 +1438,7 @@ module SongtradrApiClientRuby
1407
1438
  # Calculates hash code according to all attributes.
1408
1439
  # @return [Integer] Hash code
1409
1440
  def hash
1410
- [space, primary_mood_cluster_affinity, secondary_mood_cluster, production_rating, production_rating_affinity, performance_rating, performance_rating_affinity, song_rating, song_rating_affinity, audience_age, audience_age_affinity, secondary_audience_age, secondary_audience_age_affinity, tertiary_audience_age, tertiary_audience_age_affinity, audience_gender, audience_gender_affinity, audience_region_affinity, secondary_audience_region, secondary_audience_region_affinity, tertiary_audience_region, tertiary_audience_region_affinity, origin_region, origin_region_affinity, origin_decade_affinity, language_of_performance_affinity, curateability_affinity, use_case_affinity, industry_suitability, industry_suitability_affinity, secondary_mood_cluster_affinity, tertiary_mood_cluster, tertiary_mood_cluster_affinity, vocals_affinity, dominant_instrument_affinity, secondary_instrument, secondary_instrument_affinity, tertiary_instrument, tertiary_instrument_affinity, sound_generation_affinity, rhythm_affinity, primary_sound_character_affinity, tonality_affinity, bpm, audience_region, dominant_instrument, energy, engagement, groovyness, harmony, pleasantness, primary_mood_cluster, primary_sound_character, rhythm, roughness, scale, key, sound_generation, tempo, texture, timbre, tonality, valence, vocals, origin_decade, curateability, use_case, channel_suitability, language_of_performance, arousal, valence_affinity, arousal_affinity, pleasantness_affinity, engagement_affinity, energy_affinity, tempo_affinity, scale_affinity, timbre_affinity, roughness_affinity, harmony_affinity, texture_affinity, groovyness_affinity, space_affinity, key_affinity, channel_suitability_affinity].hash
1441
+ [space, language_of_performance, arousal, dominant_instrument, energy, engagement, groovyness, harmony, pleasantness, primary_mood_cluster, primary_sound_character, rhythm, roughness, scale, key, sound_generation, tempo, texture, timbre, tonality, valence, vocals, origin_decade, curateability, use_case, channel_suitability, loudness, secondary_mood_cluster, secondary_mood_cluster_affinity, tertiary_mood_cluster, tertiary_mood_cluster_affinity, vocals_affinity, dominant_instrument_affinity, secondary_instrument, secondary_instrument_affinity, tertiary_instrument, tertiary_instrument_affinity, sound_generation_affinity, rhythm_affinity, primary_sound_character_affinity, tonality_affinity, bpm, production_rating, production_rating_affinity, performance_rating, performance_rating_affinity, song_rating, song_rating_affinity, primary_mood_cluster_affinity, audience_age, audience_age_affinity, secondary_audience_age, secondary_audience_age_affinity, tertiary_audience_age, tertiary_audience_age_affinity, audience_gender, audience_gender_affinity, audience_region_affinity, secondary_audience_region, secondary_audience_region_affinity, tertiary_audience_region, tertiary_audience_region_affinity, origin_region, origin_region_affinity, origin_decade_affinity, language_of_performance_affinity, curateability_affinity, use_case_affinity, industry_suitability, industry_suitability_affinity, audience_region, harmony_affinity, texture_affinity, groovyness_affinity, space_affinity, loudness_affinity, key_affinity, channel_suitability_affinity, valence_affinity, arousal_affinity, pleasantness_affinity, engagement_affinity, energy_affinity, tempo_affinity, scale_affinity, timbre_affinity, roughness_affinity].hash
1411
1442
  end
1412
1443
 
1413
1444
  # Builds the object from hash