songtradr_api_client_ruby 1.17.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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