songtradr_api_client_ruby 1.16.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 (212) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +26 -24
  3. data/README.md +7 -34
  4. data/docs/CategoryMediumDTO.md +3 -3
  5. data/docs/ImageRecognitionResponse.md +2 -2
  6. data/docs/MusicalFeaturesDTO.md +41 -37
  7. data/docs/RecordingApi.md +71 -1
  8. data/docs/RecordingGenrePredictionDTO.md +3 -3
  9. data/docs/RecordingMediumDTO.md +4 -4
  10. data/docs/RecordingMinimalWithMusicalFeaturesDTO.md +3 -3
  11. data/docs/RecordingSmallDTO.md +5 -5
  12. data/docs/SearchFilterValuesDTO.md +2 -0
  13. data/docs/UserApi.md +67 -187
  14. data/docs/UserDTO.md +2 -0
  15. data/docs/VideoRecognitionResponse.md +2 -2
  16. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +2 -2
  17. data/lib/songtradr_api_client_ruby/api/recording_api.rb +74 -5
  18. data/lib/songtradr_api_client_ruby/api/user_api.rb +86 -403
  19. data/lib/songtradr_api_client_ruby/api_client.rb +7 -6
  20. data/lib/songtradr_api_client_ruby/api_error.rb +2 -2
  21. data/lib/songtradr_api_client_ruby/configuration.rb +2 -2
  22. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +17 -17
  23. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +2 -2
  24. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +2 -2
  25. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +2 -2
  26. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +2 -2
  27. data/lib/songtradr_api_client_ruby/models/error_response.rb +2 -2
  28. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +2 -2
  29. data/lib/songtradr_api_client_ruby/models/file_dto.rb +2 -2
  30. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +2 -2
  31. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +2 -2
  32. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +2 -2
  33. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +2 -2
  34. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +2 -2
  35. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +2 -2
  36. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +2 -2
  37. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +2 -2
  38. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +2 -2
  39. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +4 -4
  40. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +2 -2
  41. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +2 -2
  42. data/lib/songtradr_api_client_ruby/models/login_dto.rb +2 -2
  43. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +346 -315
  44. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +2 -2
  45. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +2 -2
  46. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +22 -22
  47. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +2 -2
  48. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +35 -35
  49. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +17 -17
  50. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +2 -2
  51. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +2 -2
  52. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +2 -2
  53. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +38 -38
  54. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +2 -2
  55. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +2 -2
  56. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +21 -3
  57. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +2 -2
  58. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +2 -2
  59. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +2 -2
  60. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +2 -2
  61. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +2 -2
  62. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +2 -2
  63. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +2 -2
  64. data/lib/songtradr_api_client_ruby/models/title_dto.rb +2 -2
  65. data/lib/songtradr_api_client_ruby/models/token_request.rb +2 -2
  66. data/lib/songtradr_api_client_ruby/models/track_dto.rb +2 -2
  67. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +2 -2
  68. data/lib/songtradr_api_client_ruby/models/user_dto.rb +19 -3
  69. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +4 -4
  70. data/lib/songtradr_api_client_ruby/version.rb +3 -3
  71. data/lib/songtradr_api_client_ruby.rb +2 -30
  72. data/openapi-generator-config.yaml +1 -1
  73. data/songtradr_api_client_ruby.gemspec +3 -2
  74. data/spec/api/allowed_values_api_spec.rb +2 -2
  75. data/spec/api/recording_api_spec.rb +14 -2
  76. data/spec/api/user_api_spec.rb +15 -74
  77. data/spec/models/category_medium_dto_spec.rb +4 -4
  78. data/spec/models/category_minimal_dto_spec.rb +2 -2
  79. data/spec/models/config_access_dto_spec.rb +2 -2
  80. data/spec/models/config_identifier_dto_spec.rb +2 -2
  81. data/spec/models/contributor_type_dto_spec.rb +2 -2
  82. data/spec/models/error_response_spec.rb +2 -2
  83. data/spec/models/field_summary_dto_spec.rb +2 -2
  84. data/spec/models/file_dto_spec.rb +2 -2
  85. data/spec/models/file_list_dto_spec.rb +2 -2
  86. data/spec/models/file_small_dto_spec.rb +2 -2
  87. data/spec/models/file_upload_dto_spec.rb +2 -2
  88. data/spec/models/file_w_ith_url_dto_spec.rb +2 -2
  89. data/spec/models/files_summary_dto_spec.rb +2 -2
  90. data/spec/models/forgot_password_dto_spec.rb +2 -2
  91. data/spec/models/genre_dto_spec.rb +2 -2
  92. data/spec/models/genre_minimal_dto_spec.rb +2 -2
  93. data/spec/models/genres_summary_dto_spec.rb +2 -2
  94. data/spec/models/image_recognition_response_spec.rb +2 -2
  95. data/spec/models/init_put_recording_audio_dto_spec.rb +2 -2
  96. data/spec/models/jwt_token_dto_spec.rb +2 -2
  97. data/spec/models/login_dto_spec.rb +2 -2
  98. data/spec/models/musical_features_dto_spec.rb +111 -95
  99. data/spec/models/party_small_dto_spec.rb +2 -2
  100. data/spec/models/recording_for_similarity_search_dto_spec.rb +2 -2
  101. data/spec/models/recording_genre_prediction_dto_spec.rb +5 -5
  102. data/spec/models/recording_list_dto_spec.rb +2 -2
  103. data/spec/models/recording_medium_dto_spec.rb +10 -10
  104. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +4 -4
  105. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +2 -2
  106. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +2 -2
  107. data/spec/models/recording_party_dto_spec.rb +2 -2
  108. data/spec/models/recording_small_dto_spec.rb +6 -6
  109. data/spec/models/recording_tag_small_dto_spec.rb +2 -2
  110. data/spec/models/save_user_dto_spec.rb +2 -2
  111. data/spec/models/search_filter_values_dto_spec.rb +8 -2
  112. data/spec/models/search_recording_granular_dto_spec.rb +2 -2
  113. data/spec/models/sign_up_dto_spec.rb +2 -2
  114. data/spec/models/tag_dto_spec.rb +2 -2
  115. data/spec/models/tag_small_dto_spec.rb +2 -2
  116. data/spec/models/taggram_dto_spec.rb +2 -2
  117. data/spec/models/tags_summary_dto_spec.rb +2 -2
  118. data/spec/models/tagstrength_dto_spec.rb +2 -2
  119. data/spec/models/title_dto_spec.rb +2 -2
  120. data/spec/models/token_request_spec.rb +2 -2
  121. data/spec/models/track_dto_spec.rb +2 -2
  122. data/spec/models/update_password_dto_spec.rb +2 -2
  123. data/spec/models/user_dto_spec.rb +8 -2
  124. data/spec/models/video_recognition_response_spec.rb +2 -2
  125. data/spec/spec_helper.rb +2 -2
  126. metadata +56 -158
  127. data/docs/AgeRange.md +0 -20
  128. data/docs/Beard.md +0 -20
  129. data/docs/BoundingBox.md +0 -24
  130. data/docs/CuratePlaylistDTO.md +0 -26
  131. data/docs/CuratePlaylistResponseDTO.md +0 -18
  132. data/docs/DominantColor.md +0 -30
  133. data/docs/Emotion.md +0 -20
  134. data/docs/EyeDirection.md +0 -22
  135. data/docs/EyeOpen.md +0 -20
  136. data/docs/Eyeglasses.md +0 -20
  137. data/docs/FaceDetail.md +0 -50
  138. data/docs/FaceDetection.md +0 -20
  139. data/docs/FaceOccluded.md +0 -20
  140. data/docs/Gender.md +0 -20
  141. data/docs/ImageQuality.md +0 -20
  142. data/docs/Instance.md +0 -22
  143. data/docs/Label.md +0 -28
  144. data/docs/LabelAlias.md +0 -18
  145. data/docs/LabelCategory.md +0 -18
  146. data/docs/LabelDetection.md +0 -26
  147. data/docs/Landmark.md +0 -22
  148. data/docs/MouthOpen.md +0 -20
  149. data/docs/Mustache.md +0 -20
  150. data/docs/Parent.md +0 -18
  151. data/docs/PlaylistApi.md +0 -77
  152. data/docs/Pose.md +0 -22
  153. data/docs/Smile.md +0 -20
  154. data/docs/Sunglasses.md +0 -20
  155. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +0 -99
  156. data/lib/songtradr_api_client_ruby/models/age_range.rb +0 -223
  157. data/lib/songtradr_api_client_ruby/models/beard.rb +0 -223
  158. data/lib/songtradr_api_client_ruby/models/bounding_box.rb +0 -241
  159. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +0 -256
  160. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +0 -216
  161. data/lib/songtradr_api_client_ruby/models/dominant_color.rb +0 -268
  162. data/lib/songtradr_api_client_ruby/models/emotion.rb +0 -223
  163. data/lib/songtradr_api_client_ruby/models/eye_direction.rb +0 -232
  164. data/lib/songtradr_api_client_ruby/models/eye_open.rb +0 -223
  165. data/lib/songtradr_api_client_ruby/models/eyeglasses.rb +0 -223
  166. data/lib/songtradr_api_client_ruby/models/face_detail.rb +0 -362
  167. data/lib/songtradr_api_client_ruby/models/face_detection.rb +0 -223
  168. data/lib/songtradr_api_client_ruby/models/face_occluded.rb +0 -223
  169. data/lib/songtradr_api_client_ruby/models/gender.rb +0 -223
  170. data/lib/songtradr_api_client_ruby/models/image_quality.rb +0 -223
  171. data/lib/songtradr_api_client_ruby/models/instance.rb +0 -234
  172. data/lib/songtradr_api_client_ruby/models/label.rb +0 -267
  173. data/lib/songtradr_api_client_ruby/models/label_alias.rb +0 -214
  174. data/lib/songtradr_api_client_ruby/models/label_category.rb +0 -214
  175. data/lib/songtradr_api_client_ruby/models/label_detection.rb +0 -250
  176. data/lib/songtradr_api_client_ruby/models/landmark.rb +0 -232
  177. data/lib/songtradr_api_client_ruby/models/mouth_open.rb +0 -223
  178. data/lib/songtradr_api_client_ruby/models/mustache.rb +0 -223
  179. data/lib/songtradr_api_client_ruby/models/parent.rb +0 -214
  180. data/lib/songtradr_api_client_ruby/models/pose.rb +0 -232
  181. data/lib/songtradr_api_client_ruby/models/smile.rb +0 -223
  182. data/lib/songtradr_api_client_ruby/models/sunglasses.rb +0 -223
  183. data/spec/api/playlist_api_spec.rb +0 -47
  184. data/spec/api_client_spec.rb +0 -223
  185. data/spec/configuration_spec.rb +0 -82
  186. data/spec/models/age_range_spec.rb +0 -42
  187. data/spec/models/beard_spec.rb +0 -42
  188. data/spec/models/bounding_box_spec.rb +0 -54
  189. data/spec/models/curate_playlist_dto_spec.rb +0 -60
  190. data/spec/models/curate_playlist_response_dto_spec.rb +0 -36
  191. data/spec/models/dominant_color_spec.rb +0 -72
  192. data/spec/models/emotion_spec.rb +0 -42
  193. data/spec/models/eye_direction_spec.rb +0 -48
  194. data/spec/models/eye_open_spec.rb +0 -42
  195. data/spec/models/eyeglasses_spec.rb +0 -42
  196. data/spec/models/face_detail_spec.rb +0 -132
  197. data/spec/models/face_detection_spec.rb +0 -42
  198. data/spec/models/face_occluded_spec.rb +0 -42
  199. data/spec/models/gender_spec.rb +0 -42
  200. data/spec/models/image_quality_spec.rb +0 -42
  201. data/spec/models/instance_spec.rb +0 -48
  202. data/spec/models/label_alias_spec.rb +0 -36
  203. data/spec/models/label_category_spec.rb +0 -36
  204. data/spec/models/label_detection_spec.rb +0 -60
  205. data/spec/models/label_spec.rb +0 -66
  206. data/spec/models/landmark_spec.rb +0 -48
  207. data/spec/models/mouth_open_spec.rb +0 -42
  208. data/spec/models/mustache_spec.rb +0 -42
  209. data/spec/models/parent_spec.rb +0 -36
  210. data/spec/models/pose_spec.rb +0 -48
  211. data/spec/models/smile_spec.rb +0 -42
  212. data/spec/models/sunglasses_spec.rb +0 -42
@@ -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.16.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.2.0-SNAPSHOT
9
+ OpenAPI Generator version: 7.4.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -19,41 +19,11 @@ module SongtradrApiClientRuby
19
19
  # Search for space
20
20
  attr_accessor :space
21
21
 
22
+ attr_accessor :language_of_performance
23
+
22
24
  # Search for an arousal
23
25
  attr_accessor :arousal
24
26
 
25
- # Search for tempo
26
- attr_accessor :tempo
27
-
28
- # Search for texture
29
- attr_accessor :texture
30
-
31
- # Search for timbre
32
- attr_accessor :timbre
33
-
34
- # Search for tonality
35
- attr_accessor :tonality
36
-
37
- # Search for a valence
38
- attr_accessor :valence
39
-
40
- # Search for a vocal gender or instrumental songs
41
- attr_accessor :vocals
42
-
43
- # Search for origin decade
44
- attr_accessor :origin_decade
45
-
46
- # Search for curatebility
47
- attr_accessor :curateability
48
-
49
- # Search for use case
50
- attr_accessor :use_case
51
-
52
- # Search for social media suitability
53
- attr_accessor :channel_suitability
54
-
55
- attr_accessor :language_of_performance
56
-
57
27
  # Search for a dominant instrument
58
28
  attr_accessor :dominant_instrument
59
29
 
@@ -93,7 +63,38 @@ module SongtradrApiClientRuby
93
63
  # Search for type of sound generation
94
64
  attr_accessor :sound_generation
95
65
 
96
- attr_accessor :primary_mood_cluster_affinity
66
+ # Search for tempo
67
+ attr_accessor :tempo
68
+
69
+ # Search for texture
70
+ attr_accessor :texture
71
+
72
+ # Search for timbre
73
+ attr_accessor :timbre
74
+
75
+ # Search for tonality
76
+ attr_accessor :tonality
77
+
78
+ # Search for a valence
79
+ attr_accessor :valence
80
+
81
+ # Search for a vocal gender or instrumental songs
82
+ attr_accessor :vocals
83
+
84
+ # Search for origin decade
85
+ attr_accessor :origin_decade
86
+
87
+ # Search for curatebility
88
+ attr_accessor :curateability
89
+
90
+ # Search for use case
91
+ attr_accessor :use_case
92
+
93
+ # Search for social media suitability
94
+ attr_accessor :channel_suitability
95
+
96
+ # Search for loudness
97
+ attr_accessor :loudness
97
98
 
98
99
  # Search for a language of the lyrics
99
100
  attr_accessor :secondary_mood_cluster
@@ -141,6 +142,8 @@ module SongtradrApiClientRuby
141
142
 
142
143
  attr_accessor :song_rating_affinity
143
144
 
145
+ attr_accessor :primary_mood_cluster_affinity
146
+
144
147
  attr_accessor :audience_age
145
148
 
146
149
  attr_accessor :audience_age_affinity
@@ -186,6 +189,20 @@ module SongtradrApiClientRuby
186
189
 
187
190
  attr_accessor :audience_region
188
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
205
+
189
206
  attr_accessor :valence_affinity
190
207
 
191
208
  attr_accessor :arousal_affinity
@@ -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,18 +247,8 @@ module SongtradrApiClientRuby
242
247
  def self.attribute_map
243
248
  {
244
249
  :'space' => :'space',
245
- :'arousal' => :'arousal',
246
- :'tempo' => :'tempo',
247
- :'texture' => :'texture',
248
- :'timbre' => :'timbre',
249
- :'tonality' => :'tonality',
250
- :'valence' => :'valence',
251
- :'vocals' => :'vocals',
252
- :'origin_decade' => :'originDecade',
253
- :'curateability' => :'curateability',
254
- :'use_case' => :'useCase',
255
- :'channel_suitability' => :'channelSuitability',
256
250
  :'language_of_performance' => :'languageOfPerformance',
251
+ :'arousal' => :'arousal',
257
252
  :'dominant_instrument' => :'dominantInstrument',
258
253
  :'energy' => :'energy',
259
254
  :'engagement' => :'engagement',
@@ -267,7 +262,17 @@ module SongtradrApiClientRuby
267
262
  :'scale' => :'scale',
268
263
  :'key' => :'key',
269
264
  :'sound_generation' => :'soundGeneration',
270
- :'primary_mood_cluster_affinity' => :'primaryMoodClusterAffinity',
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',
271
276
  :'secondary_mood_cluster' => :'secondaryMoodCluster',
272
277
  :'secondary_mood_cluster_affinity' => :'secondaryMoodClusterAffinity',
273
278
  :'tertiary_mood_cluster' => :'tertiaryMoodCluster',
@@ -289,6 +294,7 @@ module SongtradrApiClientRuby
289
294
  :'performance_rating_affinity' => :'performanceRatingAffinity',
290
295
  :'song_rating' => :'songRating',
291
296
  :'song_rating_affinity' => :'songRatingAffinity',
297
+ :'primary_mood_cluster_affinity' => :'primaryMoodClusterAffinity',
292
298
  :'audience_age' => :'audienceAge',
293
299
  :'audience_age_affinity' => :'audienceAgeAffinity',
294
300
  :'secondary_audience_age' => :'secondaryAudienceAge',
@@ -311,6 +317,13 @@ module SongtradrApiClientRuby
311
317
  :'industry_suitability' => :'industrySuitability',
312
318
  :'industry_suitability_affinity' => :'industrySuitabilityAffinity',
313
319
  :'audience_region' => :'audienceRegion',
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,18 +345,8 @@ module SongtradrApiClientRuby
338
345
  def self.openapi_types
339
346
  {
340
347
  :'space' => :'String',
341
- :'arousal' => :'String',
342
- :'tempo' => :'String',
343
- :'texture' => :'String',
344
- :'timbre' => :'String',
345
- :'tonality' => :'String',
346
- :'valence' => :'String',
347
- :'vocals' => :'String',
348
- :'origin_decade' => :'String',
349
- :'curateability' => :'String',
350
- :'use_case' => :'String',
351
- :'channel_suitability' => :'String',
352
348
  :'language_of_performance' => :'String',
349
+ :'arousal' => :'String',
353
350
  :'dominant_instrument' => :'String',
354
351
  :'energy' => :'String',
355
352
  :'engagement' => :'String',
@@ -363,7 +360,17 @@ module SongtradrApiClientRuby
363
360
  :'scale' => :'String',
364
361
  :'key' => :'String',
365
362
  :'sound_generation' => :'String',
366
- :'primary_mood_cluster_affinity' => :'Float',
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',
367
374
  :'secondary_mood_cluster' => :'String',
368
375
  :'secondary_mood_cluster_affinity' => :'Float',
369
376
  :'tertiary_mood_cluster' => :'String',
@@ -385,6 +392,7 @@ module SongtradrApiClientRuby
385
392
  :'performance_rating_affinity' => :'Float',
386
393
  :'song_rating' => :'String',
387
394
  :'song_rating_affinity' => :'Float',
395
+ :'primary_mood_cluster_affinity' => :'Float',
388
396
  :'audience_age' => :'String',
389
397
  :'audience_age_affinity' => :'Float',
390
398
  :'secondary_audience_age' => :'String',
@@ -407,6 +415,13 @@ module SongtradrApiClientRuby
407
415
  :'industry_suitability' => :'String',
408
416
  :'industry_suitability_affinity' => :'Float',
409
417
  :'audience_region' => :'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,54 +459,14 @@ module SongtradrApiClientRuby
450
459
  self.space = attributes[:'space']
451
460
  end
452
461
 
453
- if attributes.key?(:'arousal')
454
- self.arousal = attributes[:'arousal']
455
- end
456
-
457
- if attributes.key?(:'tempo')
458
- self.tempo = attributes[:'tempo']
459
- end
460
-
461
- if attributes.key?(:'texture')
462
- self.texture = attributes[:'texture']
463
- end
464
-
465
- if attributes.key?(:'timbre')
466
- self.timbre = attributes[:'timbre']
467
- end
468
-
469
- if attributes.key?(:'tonality')
470
- self.tonality = attributes[:'tonality']
471
- end
472
-
473
- if attributes.key?(:'valence')
474
- self.valence = attributes[:'valence']
475
- end
476
-
477
- if attributes.key?(:'vocals')
478
- self.vocals = attributes[:'vocals']
479
- end
480
-
481
- if attributes.key?(:'origin_decade')
482
- self.origin_decade = attributes[:'origin_decade']
483
- end
484
-
485
- if attributes.key?(:'curateability')
486
- self.curateability = attributes[:'curateability']
487
- end
488
-
489
- if attributes.key?(:'use_case')
490
- self.use_case = attributes[:'use_case']
491
- end
492
-
493
- if attributes.key?(:'channel_suitability')
494
- self.channel_suitability = attributes[:'channel_suitability']
495
- end
496
-
497
462
  if attributes.key?(:'language_of_performance')
498
463
  self.language_of_performance = attributes[:'language_of_performance']
499
464
  end
500
465
 
466
+ if attributes.key?(:'arousal')
467
+ self.arousal = attributes[:'arousal']
468
+ end
469
+
501
470
  if attributes.key?(:'dominant_instrument')
502
471
  self.dominant_instrument = attributes[:'dominant_instrument']
503
472
  end
@@ -550,8 +519,48 @@ module SongtradrApiClientRuby
550
519
  self.sound_generation = attributes[:'sound_generation']
551
520
  end
552
521
 
553
- if attributes.key?(:'primary_mood_cluster_affinity')
554
- self.primary_mood_cluster_affinity = attributes[:'primary_mood_cluster_affinity']
522
+ if attributes.key?(:'tempo')
523
+ self.tempo = attributes[:'tempo']
524
+ end
525
+
526
+ if attributes.key?(:'texture')
527
+ self.texture = attributes[:'texture']
528
+ end
529
+
530
+ if attributes.key?(:'timbre')
531
+ self.timbre = attributes[:'timbre']
532
+ end
533
+
534
+ if attributes.key?(:'tonality')
535
+ self.tonality = attributes[:'tonality']
536
+ end
537
+
538
+ if attributes.key?(:'valence')
539
+ self.valence = attributes[:'valence']
540
+ end
541
+
542
+ if attributes.key?(:'vocals')
543
+ self.vocals = attributes[:'vocals']
544
+ end
545
+
546
+ if attributes.key?(:'origin_decade')
547
+ self.origin_decade = attributes[:'origin_decade']
548
+ end
549
+
550
+ if attributes.key?(:'curateability')
551
+ self.curateability = attributes[:'curateability']
552
+ end
553
+
554
+ if attributes.key?(:'use_case')
555
+ self.use_case = attributes[:'use_case']
556
+ end
557
+
558
+ if attributes.key?(:'channel_suitability')
559
+ self.channel_suitability = attributes[:'channel_suitability']
560
+ end
561
+
562
+ if attributes.key?(:'loudness')
563
+ self.loudness = attributes[:'loudness']
555
564
  end
556
565
 
557
566
  if attributes.key?(:'secondary_mood_cluster')
@@ -638,6 +647,10 @@ module SongtradrApiClientRuby
638
647
  self.song_rating_affinity = attributes[:'song_rating_affinity']
639
648
  end
640
649
 
650
+ if attributes.key?(:'primary_mood_cluster_affinity')
651
+ self.primary_mood_cluster_affinity = attributes[:'primary_mood_cluster_affinity']
652
+ end
653
+
641
654
  if attributes.key?(:'audience_age')
642
655
  self.audience_age = attributes[:'audience_age']
643
656
  end
@@ -726,8 +739,36 @@ module SongtradrApiClientRuby
726
739
  self.audience_region = attributes[:'audience_region']
727
740
  end
728
741
 
729
- if attributes.key?(:'valence_affinity')
730
- self.valence_affinity = attributes[:'valence_affinity']
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']
768
+ end
769
+
770
+ if attributes.key?(:'valence_affinity')
771
+ self.valence_affinity = attributes[:'valence_affinity']
731
772
  end
732
773
 
733
774
  if attributes.key?(:'arousal_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,31 +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
- arousal_validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
805
- return false unless arousal_validator.valid?(@arousal)
806
- tempo_validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
807
- return false unless tempo_validator.valid?(@tempo)
808
- texture_validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
809
- return false unless texture_validator.valid?(@texture)
810
- timbre_validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
811
- return false unless timbre_validator.valid?(@timbre)
812
- tonality_validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
813
- return false unless tonality_validator.valid?(@tonality)
814
- valence_validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
815
- return false unless valence_validator.valid?(@valence)
816
- vocals_validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
817
- return false unless vocals_validator.valid?(@vocals)
818
- origin_decade_validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
819
- return false unless origin_decade_validator.valid?(@origin_decade)
820
- curateability_validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
821
- return false unless curateability_validator.valid?(@curateability)
822
- use_case_validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax", "karaoke"])
823
- return false unless use_case_validator.valid?(@use_case)
824
- channel_suitability_validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
825
- return false unless channel_suitability_validator.valid?(@channel_suitability)
826
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"])
827
822
  return false unless language_of_performance_validator.valid?(@language_of_performance)
828
- 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"])
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"])
829
826
  return false unless dominant_instrument_validator.valid?(@dominant_instrument)
830
827
  energy_validator = EnumAttributeValidator.new('String', ["very quiet", "quiet", "moderate", "loud", "very loud", "dynamic"])
831
828
  return false unless energy_validator.valid?(@energy)
@@ -851,13 +848,35 @@ module SongtradrApiClientRuby
851
848
  return false unless key_validator.valid?(@key)
852
849
  sound_generation_validator = EnumAttributeValidator.new('String', ["acoustic", "electric", "electronic", "mixed sound generation"])
853
850
  return false unless sound_generation_validator.valid?(@sound_generation)
851
+ tempo_validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
852
+ return false unless tempo_validator.valid?(@tempo)
853
+ texture_validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
854
+ return false unless texture_validator.valid?(@texture)
855
+ timbre_validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
856
+ return false unless timbre_validator.valid?(@timbre)
857
+ tonality_validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
858
+ return false unless tonality_validator.valid?(@tonality)
859
+ valence_validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
860
+ return false unless valence_validator.valid?(@valence)
861
+ vocals_validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
862
+ return false unless vocals_validator.valid?(@vocals)
863
+ origin_decade_validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
864
+ return false unless origin_decade_validator.valid?(@origin_decade)
865
+ curateability_validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
866
+ return false unless curateability_validator.valid?(@curateability)
867
+ use_case_validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax", "karaoke"])
868
+ return false unless use_case_validator.valid?(@use_case)
869
+ channel_suitability_validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
870
+ return false unless channel_suitability_validator.valid?(@channel_suitability)
871
+ loudness_validator = EnumAttributeValidator.new('String', ["very low", "low", "moderate", "high", "very high"])
872
+ return false unless loudness_validator.valid?(@loudness)
854
873
  secondary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
855
874
  return false unless secondary_mood_cluster_validator.valid?(@secondary_mood_cluster)
856
875
  tertiary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
857
876
  return false unless tertiary_mood_cluster_validator.valid?(@tertiary_mood_cluster)
858
- 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"])
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"])
859
878
  return false unless secondary_instrument_validator.valid?(@secondary_instrument)
860
- 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"])
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"])
861
880
  return false unless tertiary_instrument_validator.valid?(@tertiary_instrument)
862
881
  production_rating_validator = EnumAttributeValidator.new('String', ["low production quality", "medium production quality", "high production quality"])
863
882
  return false unless production_rating_validator.valid?(@production_rating)
@@ -896,116 +915,6 @@ module SongtradrApiClientRuby
896
915
  @space = space
897
916
  end
898
917
 
899
- # Custom attribute writer method checking allowed values (enum).
900
- # @param [Object] arousal Object to be assigned
901
- def arousal=(arousal)
902
- validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
903
- unless validator.valid?(arousal)
904
- fail ArgumentError, "invalid value for \"arousal\", must be one of #{validator.allowable_values}."
905
- end
906
- @arousal = arousal
907
- end
908
-
909
- # Custom attribute writer method checking allowed values (enum).
910
- # @param [Object] tempo Object to be assigned
911
- def tempo=(tempo)
912
- validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
913
- unless validator.valid?(tempo)
914
- fail ArgumentError, "invalid value for \"tempo\", must be one of #{validator.allowable_values}."
915
- end
916
- @tempo = tempo
917
- end
918
-
919
- # Custom attribute writer method checking allowed values (enum).
920
- # @param [Object] texture Object to be assigned
921
- def texture=(texture)
922
- validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
923
- unless validator.valid?(texture)
924
- fail ArgumentError, "invalid value for \"texture\", must be one of #{validator.allowable_values}."
925
- end
926
- @texture = texture
927
- end
928
-
929
- # Custom attribute writer method checking allowed values (enum).
930
- # @param [Object] timbre Object to be assigned
931
- def timbre=(timbre)
932
- validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
933
- unless validator.valid?(timbre)
934
- fail ArgumentError, "invalid value for \"timbre\", must be one of #{validator.allowable_values}."
935
- end
936
- @timbre = timbre
937
- end
938
-
939
- # Custom attribute writer method checking allowed values (enum).
940
- # @param [Object] tonality Object to be assigned
941
- def tonality=(tonality)
942
- validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
943
- unless validator.valid?(tonality)
944
- fail ArgumentError, "invalid value for \"tonality\", must be one of #{validator.allowable_values}."
945
- end
946
- @tonality = tonality
947
- end
948
-
949
- # Custom attribute writer method checking allowed values (enum).
950
- # @param [Object] valence Object to be assigned
951
- def valence=(valence)
952
- validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
953
- unless validator.valid?(valence)
954
- fail ArgumentError, "invalid value for \"valence\", must be one of #{validator.allowable_values}."
955
- end
956
- @valence = valence
957
- end
958
-
959
- # Custom attribute writer method checking allowed values (enum).
960
- # @param [Object] vocals Object to be assigned
961
- def vocals=(vocals)
962
- validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
963
- unless validator.valid?(vocals)
964
- fail ArgumentError, "invalid value for \"vocals\", must be one of #{validator.allowable_values}."
965
- end
966
- @vocals = vocals
967
- end
968
-
969
- # Custom attribute writer method checking allowed values (enum).
970
- # @param [Object] origin_decade Object to be assigned
971
- def origin_decade=(origin_decade)
972
- validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
973
- unless validator.valid?(origin_decade)
974
- fail ArgumentError, "invalid value for \"origin_decade\", must be one of #{validator.allowable_values}."
975
- end
976
- @origin_decade = origin_decade
977
- end
978
-
979
- # Custom attribute writer method checking allowed values (enum).
980
- # @param [Object] curateability Object to be assigned
981
- def curateability=(curateability)
982
- validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
983
- unless validator.valid?(curateability)
984
- fail ArgumentError, "invalid value for \"curateability\", must be one of #{validator.allowable_values}."
985
- end
986
- @curateability = curateability
987
- end
988
-
989
- # Custom attribute writer method checking allowed values (enum).
990
- # @param [Object] use_case Object to be assigned
991
- def use_case=(use_case)
992
- validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax", "karaoke"])
993
- unless validator.valid?(use_case)
994
- fail ArgumentError, "invalid value for \"use_case\", must be one of #{validator.allowable_values}."
995
- end
996
- @use_case = use_case
997
- end
998
-
999
- # Custom attribute writer method checking allowed values (enum).
1000
- # @param [Object] channel_suitability Object to be assigned
1001
- def channel_suitability=(channel_suitability)
1002
- validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
1003
- unless validator.valid?(channel_suitability)
1004
- fail ArgumentError, "invalid value for \"channel_suitability\", must be one of #{validator.allowable_values}."
1005
- end
1006
- @channel_suitability = channel_suitability
1007
- end
1008
-
1009
918
  # Custom attribute writer method checking allowed values (enum).
1010
919
  # @param [Object] language_of_performance Object to be assigned
1011
920
  def language_of_performance=(language_of_performance)
@@ -1016,10 +925,20 @@ module SongtradrApiClientRuby
1016
925
  @language_of_performance = language_of_performance
1017
926
  end
1018
927
 
928
+ # Custom attribute writer method checking allowed values (enum).
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}."
934
+ end
935
+ @arousal = arousal
936
+ end
937
+
1019
938
  # Custom attribute writer method checking allowed values (enum).
1020
939
  # @param [Object] dominant_instrument Object to be assigned
1021
940
  def dominant_instrument=(dominant_instrument)
1022
- 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"])
1023
942
  unless validator.valid?(dominant_instrument)
1024
943
  fail ArgumentError, "invalid value for \"dominant_instrument\", must be one of #{validator.allowable_values}."
1025
944
  end
@@ -1146,6 +1065,116 @@ module SongtradrApiClientRuby
1146
1065
  @sound_generation = sound_generation
1147
1066
  end
1148
1067
 
1068
+ # Custom attribute writer method checking allowed values (enum).
1069
+ # @param [Object] tempo Object to be assigned
1070
+ def tempo=(tempo)
1071
+ validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
1072
+ unless validator.valid?(tempo)
1073
+ fail ArgumentError, "invalid value for \"tempo\", must be one of #{validator.allowable_values}."
1074
+ end
1075
+ @tempo = tempo
1076
+ end
1077
+
1078
+ # Custom attribute writer method checking allowed values (enum).
1079
+ # @param [Object] texture Object to be assigned
1080
+ def texture=(texture)
1081
+ validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
1082
+ unless validator.valid?(texture)
1083
+ fail ArgumentError, "invalid value for \"texture\", must be one of #{validator.allowable_values}."
1084
+ end
1085
+ @texture = texture
1086
+ end
1087
+
1088
+ # Custom attribute writer method checking allowed values (enum).
1089
+ # @param [Object] timbre Object to be assigned
1090
+ def timbre=(timbre)
1091
+ validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
1092
+ unless validator.valid?(timbre)
1093
+ fail ArgumentError, "invalid value for \"timbre\", must be one of #{validator.allowable_values}."
1094
+ end
1095
+ @timbre = timbre
1096
+ end
1097
+
1098
+ # Custom attribute writer method checking allowed values (enum).
1099
+ # @param [Object] tonality Object to be assigned
1100
+ def tonality=(tonality)
1101
+ validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
1102
+ unless validator.valid?(tonality)
1103
+ fail ArgumentError, "invalid value for \"tonality\", must be one of #{validator.allowable_values}."
1104
+ end
1105
+ @tonality = tonality
1106
+ end
1107
+
1108
+ # Custom attribute writer method checking allowed values (enum).
1109
+ # @param [Object] valence Object to be assigned
1110
+ def valence=(valence)
1111
+ validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
1112
+ unless validator.valid?(valence)
1113
+ fail ArgumentError, "invalid value for \"valence\", must be one of #{validator.allowable_values}."
1114
+ end
1115
+ @valence = valence
1116
+ end
1117
+
1118
+ # Custom attribute writer method checking allowed values (enum).
1119
+ # @param [Object] vocals Object to be assigned
1120
+ def vocals=(vocals)
1121
+ validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
1122
+ unless validator.valid?(vocals)
1123
+ fail ArgumentError, "invalid value for \"vocals\", must be one of #{validator.allowable_values}."
1124
+ end
1125
+ @vocals = vocals
1126
+ end
1127
+
1128
+ # Custom attribute writer method checking allowed values (enum).
1129
+ # @param [Object] origin_decade Object to be assigned
1130
+ def origin_decade=(origin_decade)
1131
+ validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
1132
+ unless validator.valid?(origin_decade)
1133
+ fail ArgumentError, "invalid value for \"origin_decade\", must be one of #{validator.allowable_values}."
1134
+ end
1135
+ @origin_decade = origin_decade
1136
+ end
1137
+
1138
+ # Custom attribute writer method checking allowed values (enum).
1139
+ # @param [Object] curateability Object to be assigned
1140
+ def curateability=(curateability)
1141
+ validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
1142
+ unless validator.valid?(curateability)
1143
+ fail ArgumentError, "invalid value for \"curateability\", must be one of #{validator.allowable_values}."
1144
+ end
1145
+ @curateability = curateability
1146
+ end
1147
+
1148
+ # Custom attribute writer method checking allowed values (enum).
1149
+ # @param [Object] use_case Object to be assigned
1150
+ def use_case=(use_case)
1151
+ validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax", "karaoke"])
1152
+ unless validator.valid?(use_case)
1153
+ fail ArgumentError, "invalid value for \"use_case\", must be one of #{validator.allowable_values}."
1154
+ end
1155
+ @use_case = use_case
1156
+ end
1157
+
1158
+ # Custom attribute writer method checking allowed values (enum).
1159
+ # @param [Object] channel_suitability Object to be assigned
1160
+ def channel_suitability=(channel_suitability)
1161
+ validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
1162
+ unless validator.valid?(channel_suitability)
1163
+ fail ArgumentError, "invalid value for \"channel_suitability\", must be one of #{validator.allowable_values}."
1164
+ end
1165
+ @channel_suitability = channel_suitability
1166
+ end
1167
+
1168
+ # Custom attribute writer method checking allowed values (enum).
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}."
1174
+ end
1175
+ @loudness = loudness
1176
+ end
1177
+
1149
1178
  # Custom attribute writer method checking allowed values (enum).
1150
1179
  # @param [Object] secondary_mood_cluster Object to be assigned
1151
1180
  def secondary_mood_cluster=(secondary_mood_cluster)
@@ -1169,7 +1198,7 @@ module SongtradrApiClientRuby
1169
1198
  # Custom attribute writer method checking allowed values (enum).
1170
1199
  # @param [Object] secondary_instrument Object to be assigned
1171
1200
  def secondary_instrument=(secondary_instrument)
1172
- 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"])
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"])
1173
1202
  unless validator.valid?(secondary_instrument)
1174
1203
  fail ArgumentError, "invalid value for \"secondary_instrument\", must be one of #{validator.allowable_values}."
1175
1204
  end
@@ -1179,7 +1208,7 @@ module SongtradrApiClientRuby
1179
1208
  # Custom attribute writer method checking allowed values (enum).
1180
1209
  # @param [Object] tertiary_instrument Object to be assigned
1181
1210
  def tertiary_instrument=(tertiary_instrument)
1182
- 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"])
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"])
1183
1212
  unless validator.valid?(tertiary_instrument)
1184
1213
  fail ArgumentError, "invalid value for \"tertiary_instrument\", must be one of #{validator.allowable_values}."
1185
1214
  end
@@ -1312,18 +1341,8 @@ module SongtradrApiClientRuby
1312
1341
  return true if self.equal?(o)
1313
1342
  self.class == o.class &&
1314
1343
  space == o.space &&
1315
- arousal == o.arousal &&
1316
- tempo == o.tempo &&
1317
- texture == o.texture &&
1318
- timbre == o.timbre &&
1319
- tonality == o.tonality &&
1320
- valence == o.valence &&
1321
- vocals == o.vocals &&
1322
- origin_decade == o.origin_decade &&
1323
- curateability == o.curateability &&
1324
- use_case == o.use_case &&
1325
- channel_suitability == o.channel_suitability &&
1326
1344
  language_of_performance == o.language_of_performance &&
1345
+ arousal == o.arousal &&
1327
1346
  dominant_instrument == o.dominant_instrument &&
1328
1347
  energy == o.energy &&
1329
1348
  engagement == o.engagement &&
@@ -1337,7 +1356,17 @@ module SongtradrApiClientRuby
1337
1356
  scale == o.scale &&
1338
1357
  key == o.key &&
1339
1358
  sound_generation == o.sound_generation &&
1340
- primary_mood_cluster_affinity == o.primary_mood_cluster_affinity &&
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 &&
1341
1370
  secondary_mood_cluster == o.secondary_mood_cluster &&
1342
1371
  secondary_mood_cluster_affinity == o.secondary_mood_cluster_affinity &&
1343
1372
  tertiary_mood_cluster == o.tertiary_mood_cluster &&
@@ -1359,6 +1388,7 @@ module SongtradrApiClientRuby
1359
1388
  performance_rating_affinity == o.performance_rating_affinity &&
1360
1389
  song_rating == o.song_rating &&
1361
1390
  song_rating_affinity == o.song_rating_affinity &&
1391
+ primary_mood_cluster_affinity == o.primary_mood_cluster_affinity &&
1362
1392
  audience_age == o.audience_age &&
1363
1393
  audience_age_affinity == o.audience_age_affinity &&
1364
1394
  secondary_audience_age == o.secondary_audience_age &&
@@ -1381,6 +1411,13 @@ module SongtradrApiClientRuby
1381
1411
  industry_suitability == o.industry_suitability &&
1382
1412
  industry_suitability_affinity == o.industry_suitability_affinity &&
1383
1413
  audience_region == o.audience_region &&
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, arousal, tempo, texture, timbre, tonality, valence, vocals, origin_decade, curateability, use_case, channel_suitability, language_of_performance, dominant_instrument, energy, engagement, groovyness, harmony, pleasantness, primary_mood_cluster, primary_sound_character, rhythm, roughness, scale, key, sound_generation, primary_mood_cluster_affinity, 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, 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, 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