songtradr_api_client_ruby 1.13.4 → 1.13.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (263) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/README.md +45 -26
  4. data/docs/AgeRange.md +20 -0
  5. data/docs/Beard.md +20 -0
  6. data/docs/BoundingBox.md +24 -0
  7. data/docs/ContextValue.md +18 -0
  8. data/docs/CuratePlaylistDTO.md +26 -0
  9. data/docs/CuratePlaylistResponseDTO.md +18 -0
  10. data/docs/DominantColor.md +30 -0
  11. data/docs/Emotion.md +20 -0
  12. data/docs/EyeDirection.md +22 -0
  13. data/docs/EyeOpen.md +20 -0
  14. data/docs/Eyeglasses.md +20 -0
  15. data/docs/FaceDetail.md +50 -0
  16. data/docs/FaceDetection.md +20 -0
  17. data/docs/FaceOccluded.md +20 -0
  18. data/docs/FileSmallDTO.md +11 -11
  19. data/docs/Gender.md +20 -0
  20. data/docs/ImageQuality.md +20 -0
  21. data/docs/ImageRecognitionResponse.md +20 -0
  22. data/docs/Instance.md +22 -0
  23. data/docs/Label.md +28 -0
  24. data/docs/{CreateApiKeyDTO.md → LabelAlias.md} +2 -2
  25. data/docs/LabelCategory.md +18 -0
  26. data/docs/LabelDetection.md +26 -0
  27. data/docs/Landmark.md +22 -0
  28. data/docs/MouthOpen.md +20 -0
  29. data/docs/MusicalFeaturesDTO.md +45 -45
  30. data/docs/Mustache.md +20 -0
  31. data/docs/Parent.md +18 -0
  32. data/docs/PlaylistApi.md +70 -0
  33. data/docs/PlaylistLargeDTO.md +5 -5
  34. data/docs/Pose.md +22 -0
  35. data/docs/ProductMediumDTO.md +2 -2
  36. data/docs/ProductPartyDTO.md +3 -3
  37. data/docs/RecordingGenrePredictionDTO.md +3 -3
  38. data/docs/RecordingLargeDTO.md +9 -9
  39. data/docs/RecordingMediumDTO.md +7 -7
  40. data/docs/RecordingPartyDTO.md +3 -3
  41. data/docs/RecordingSmallDTO.md +3 -3
  42. data/docs/SaveFileRecordingDTO.md +5 -1
  43. data/docs/Smile.md +20 -0
  44. data/docs/Sunglasses.md +20 -0
  45. data/docs/TagDTO.md +3 -3
  46. data/docs/UserApi.md +140 -0
  47. data/docs/VideoRecognitionResponse.md +20 -0
  48. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +1 -1
  49. data/lib/songtradr_api_client_ruby/api/party_api.rb +1 -1
  50. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +78 -1
  51. data/lib/songtradr_api_client_ruby/api/recording_api.rb +1 -1
  52. data/lib/songtradr_api_client_ruby/api/user_api.rb +137 -1
  53. data/lib/songtradr_api_client_ruby/api_client.rb +3 -2
  54. data/lib/songtradr_api_client_ruby/api_error.rb +1 -1
  55. data/lib/songtradr_api_client_ruby/configuration.rb +2 -1
  56. data/lib/songtradr_api_client_ruby/models/age_range.rb +223 -0
  57. data/lib/songtradr_api_client_ruby/models/beard.rb +223 -0
  58. data/lib/songtradr_api_client_ruby/models/bounding_box.rb +241 -0
  59. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +1 -1
  60. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +1 -1
  61. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +1 -1
  62. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +1 -1
  63. data/lib/songtradr_api_client_ruby/models/context_value.rb +216 -0
  64. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +1 -1
  65. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +256 -0
  66. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +216 -0
  67. data/lib/songtradr_api_client_ruby/models/dominant_color.rb +268 -0
  68. data/lib/songtradr_api_client_ruby/models/emotion.rb +223 -0
  69. data/lib/songtradr_api_client_ruby/models/error_response.rb +1 -1
  70. data/lib/songtradr_api_client_ruby/models/eye_direction.rb +232 -0
  71. data/lib/songtradr_api_client_ruby/models/eye_open.rb +223 -0
  72. data/lib/songtradr_api_client_ruby/models/eyeglasses.rb +223 -0
  73. data/lib/songtradr_api_client_ruby/models/face_detail.rb +362 -0
  74. data/lib/songtradr_api_client_ruby/models/face_detection.rb +223 -0
  75. data/lib/songtradr_api_client_ruby/models/face_occluded.rb +223 -0
  76. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +1 -1
  77. data/lib/songtradr_api_client_ruby/models/file_dto.rb +1 -1
  78. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +1 -1
  79. data/lib/songtradr_api_client_ruby/models/file_minimal_with_url_dto.rb +1 -1
  80. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +63 -63
  81. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +1 -1
  82. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +1 -1
  83. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +1 -1
  84. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +1 -1
  85. data/lib/songtradr_api_client_ruby/models/gender.rb +223 -0
  86. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +1 -1
  87. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +1 -1
  88. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +1 -1
  89. data/lib/songtradr_api_client_ruby/models/image_quality.rb +223 -0
  90. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +227 -0
  91. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +1 -1
  92. data/lib/songtradr_api_client_ruby/models/instance.rb +234 -0
  93. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +1 -1
  94. data/lib/songtradr_api_client_ruby/models/label.rb +267 -0
  95. data/lib/songtradr_api_client_ruby/models/{create_api_key_dto.rb → label_alias.rb} +4 -4
  96. data/lib/songtradr_api_client_ruby/models/label_category.rb +214 -0
  97. data/lib/songtradr_api_client_ruby/models/label_detection.rb +250 -0
  98. data/lib/songtradr_api_client_ruby/models/landmark.rb +232 -0
  99. data/lib/songtradr_api_client_ruby/models/login_dto.rb +1 -1
  100. data/lib/songtradr_api_client_ruby/models/{api_key_dto.rb → mouth_open.rb} +17 -56
  101. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +353 -353
  102. data/lib/songtradr_api_client_ruby/models/mustache.rb +223 -0
  103. data/lib/songtradr_api_client_ruby/models/p_line_dto.rb +1 -1
  104. data/lib/songtradr_api_client_ruby/models/parent.rb +214 -0
  105. data/lib/songtradr_api_client_ruby/models/party_large_dto.rb +1 -1
  106. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +1 -1
  107. data/lib/songtradr_api_client_ruby/models/playlist_large_dto.rb +22 -22
  108. data/lib/songtradr_api_client_ruby/models/pose.rb +232 -0
  109. data/lib/songtradr_api_client_ruby/models/product_medium_dto.rb +11 -11
  110. data/lib/songtradr_api_client_ruby/models/product_party_dto.rb +16 -16
  111. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +1 -1
  112. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +21 -21
  113. data/lib/songtradr_api_client_ruby/models/recording_large_dto.rb +51 -51
  114. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +1 -1
  115. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +42 -42
  116. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +1 -1
  117. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +1 -1
  118. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +1 -1
  119. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +16 -16
  120. data/lib/songtradr_api_client_ruby/models/recording_playlist_dto.rb +1 -1
  121. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +26 -26
  122. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +1 -1
  123. data/lib/songtradr_api_client_ruby/models/save_file_recording_dto.rb +23 -5
  124. data/lib/songtradr_api_client_ruby/models/save_playlist_dto.rb +1 -1
  125. data/lib/songtradr_api_client_ruby/models/save_recording_genre_dto.rb +1 -1
  126. data/lib/songtradr_api_client_ruby/models/save_recording_party_dto.rb +1 -1
  127. data/lib/songtradr_api_client_ruby/models/save_recording_playlist_dto.rb +1 -1
  128. data/lib/songtradr_api_client_ruby/models/save_recording_tag_dto.rb +1 -1
  129. data/lib/songtradr_api_client_ruby/models/save_referrer_dto.rb +1 -1
  130. data/lib/songtradr_api_client_ruby/models/save_taggrams_dto.rb +1 -1
  131. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +1 -1
  132. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +1 -1
  133. data/lib/songtradr_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +1 -1
  134. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +1 -1
  135. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +1 -1
  136. data/lib/songtradr_api_client_ruby/models/smile.rb +223 -0
  137. data/lib/songtradr_api_client_ruby/models/sunglasses.rb +223 -0
  138. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +16 -16
  139. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +1 -1
  140. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +1 -1
  141. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +1 -1
  142. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +1 -1
  143. data/lib/songtradr_api_client_ruby/models/title_dto.rb +1 -1
  144. data/lib/songtradr_api_client_ruby/models/token_request.rb +1 -1
  145. data/lib/songtradr_api_client_ruby/models/track_dto.rb +1 -1
  146. data/lib/songtradr_api_client_ruby/models/track_to_medium_product_dto.rb +1 -1
  147. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +1 -1
  148. data/lib/songtradr_api_client_ruby/models/usage_dto.rb +1 -1
  149. data/lib/songtradr_api_client_ruby/models/user_dto.rb +1 -1
  150. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +227 -0
  151. data/lib/songtradr_api_client_ruby/version.rb +2 -2
  152. data/lib/songtradr_api_client_ruby.rb +31 -5
  153. data/openapi-generator-config.yaml +1 -1
  154. data/songtradr_api_client_ruby.gemspec +1 -1
  155. data/spec/api/allowed_values_api_spec.rb +1 -1
  156. data/spec/api/party_api_spec.rb +1 -1
  157. data/spec/api/playlist_api_spec.rb +13 -1
  158. data/spec/api/recording_api_spec.rb +1 -1
  159. data/spec/api/user_api_spec.rb +25 -1
  160. data/spec/api_client_spec.rb +1 -1
  161. data/spec/configuration_spec.rb +1 -1
  162. data/spec/models/age_range_spec.rb +42 -0
  163. data/spec/models/beard_spec.rb +42 -0
  164. data/spec/models/{api_key_dto_spec.rb → bounding_box_spec.rb} +13 -11
  165. data/spec/models/category_medium_dto_spec.rb +4 -2
  166. data/spec/models/category_minimal_dto_spec.rb +4 -2
  167. data/spec/models/config_access_dto_spec.rb +4 -2
  168. data/spec/models/config_identifier_dto_spec.rb +4 -2
  169. data/spec/models/context_value_spec.rb +36 -0
  170. data/spec/models/contributor_type_dto_spec.rb +4 -2
  171. data/spec/{api/api_keys_api_spec.rb → models/curate_playlist_dto_spec.rb} +21 -31
  172. data/spec/models/curate_playlist_response_dto_spec.rb +36 -0
  173. data/spec/models/dominant_color_spec.rb +72 -0
  174. data/spec/models/emotion_spec.rb +42 -0
  175. data/spec/models/error_response_spec.rb +4 -2
  176. data/spec/models/eye_direction_spec.rb +48 -0
  177. data/spec/models/eye_open_spec.rb +42 -0
  178. data/spec/models/eyeglasses_spec.rb +42 -0
  179. data/spec/models/{admin_api_user_dto_spec.rb → face_detail_spec.rb} +25 -83
  180. data/spec/models/face_detection_spec.rb +42 -0
  181. data/spec/models/face_occluded_spec.rb +42 -0
  182. data/spec/models/field_summary_dto_spec.rb +4 -2
  183. data/spec/models/file_dto_spec.rb +4 -2
  184. data/spec/models/file_list_dto_spec.rb +4 -2
  185. data/spec/models/file_minimal_with_url_dto_spec.rb +4 -2
  186. data/spec/models/file_small_dto_spec.rb +22 -20
  187. data/spec/models/file_upload_dto_spec.rb +4 -2
  188. data/spec/models/file_w_ith_url_dto_spec.rb +4 -2
  189. data/spec/models/files_summary_dto_spec.rb +4 -2
  190. data/spec/models/forgot_password_dto_spec.rb +4 -2
  191. data/spec/models/gender_spec.rb +42 -0
  192. data/spec/models/genre_dto_spec.rb +4 -2
  193. data/spec/models/genre_minimal_dto_spec.rb +4 -2
  194. data/spec/models/genres_summary_dto_spec.rb +4 -2
  195. data/spec/models/image_quality_spec.rb +42 -0
  196. data/spec/models/image_recognition_response_spec.rb +42 -0
  197. data/spec/models/init_put_recording_audio_dto_spec.rb +4 -2
  198. data/spec/models/instance_spec.rb +48 -0
  199. data/spec/models/jwt_token_dto_spec.rb +4 -2
  200. data/spec/models/label_alias_spec.rb +36 -0
  201. data/spec/models/label_category_spec.rb +36 -0
  202. data/spec/models/label_detection_spec.rb +60 -0
  203. data/spec/models/label_spec.rb +66 -0
  204. data/spec/models/landmark_spec.rb +48 -0
  205. data/spec/models/login_dto_spec.rb +4 -2
  206. data/spec/models/mouth_open_spec.rb +42 -0
  207. data/spec/models/musical_features_dto_spec.rb +145 -143
  208. data/spec/models/mustache_spec.rb +42 -0
  209. data/spec/models/p_line_dto_spec.rb +4 -2
  210. data/spec/models/{create_api_key_dto_spec.rb → parent_spec.rb} +9 -7
  211. data/spec/models/party_large_dto_spec.rb +4 -2
  212. data/spec/models/party_small_dto_spec.rb +4 -2
  213. data/spec/models/playlist_large_dto_spec.rb +8 -6
  214. data/spec/models/pose_spec.rb +48 -0
  215. data/spec/models/product_medium_dto_spec.rb +7 -5
  216. data/spec/models/product_party_dto_spec.rb +6 -4
  217. data/spec/models/recording_for_similarity_search_dto_spec.rb +4 -2
  218. data/spec/models/recording_genre_prediction_dto_spec.rb +7 -5
  219. data/spec/models/recording_large_dto_spec.rb +14 -12
  220. data/spec/models/recording_list_dto_spec.rb +4 -2
  221. data/spec/models/recording_medium_dto_spec.rb +13 -11
  222. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +4 -2
  223. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +4 -2
  224. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +4 -2
  225. data/spec/models/recording_party_dto_spec.rb +6 -4
  226. data/spec/models/recording_playlist_dto_spec.rb +4 -2
  227. data/spec/models/recording_small_dto_spec.rb +6 -4
  228. data/spec/models/recording_tag_small_dto_spec.rb +4 -2
  229. data/spec/models/save_file_recording_dto_spec.rb +16 -2
  230. data/spec/models/save_playlist_dto_spec.rb +4 -2
  231. data/spec/models/save_recording_genre_dto_spec.rb +4 -2
  232. data/spec/models/save_recording_party_dto_spec.rb +4 -2
  233. data/spec/models/save_recording_playlist_dto_spec.rb +4 -2
  234. data/spec/models/save_recording_tag_dto_spec.rb +4 -2
  235. data/spec/models/save_referrer_dto_spec.rb +4 -2
  236. data/spec/models/save_taggrams_dto_spec.rb +4 -2
  237. data/spec/models/save_user_dto_spec.rb +4 -2
  238. data/spec/models/search_filter_values_dto_spec.rb +4 -2
  239. data/spec/models/search_recording_granular_abstraction_dto_spec.rb +4 -2
  240. data/spec/models/search_recording_granular_dto_spec.rb +4 -2
  241. data/spec/models/sign_up_dto_spec.rb +4 -2
  242. data/spec/models/smile_spec.rb +42 -0
  243. data/spec/models/sunglasses_spec.rb +42 -0
  244. data/spec/models/tag_dto_spec.rb +6 -4
  245. data/spec/models/tag_small_dto_spec.rb +4 -2
  246. data/spec/models/taggram_dto_spec.rb +4 -2
  247. data/spec/models/tags_summary_dto_spec.rb +4 -2
  248. data/spec/models/tagstrength_dto_spec.rb +4 -2
  249. data/spec/models/title_dto_spec.rb +4 -2
  250. data/spec/models/token_request_spec.rb +4 -2
  251. data/spec/models/track_dto_spec.rb +4 -2
  252. data/spec/models/track_to_medium_product_dto_spec.rb +4 -2
  253. data/spec/models/update_password_dto_spec.rb +4 -2
  254. data/spec/models/usage_dto_spec.rb +4 -2
  255. data/spec/models/user_dto_spec.rb +4 -2
  256. data/spec/models/video_recognition_response_spec.rb +42 -0
  257. data/spec/spec_helper.rb +1 -1
  258. metadata +177 -73
  259. data/docs/APIKeysApi.md +0 -217
  260. data/docs/AdminApiUserDTO.md +0 -70
  261. data/docs/ApiKeyDTO.md +0 -24
  262. data/lib/songtradr_api_client_ruby/api/api_keys_api.rb +0 -213
  263. data/lib/songtradr_api_client_ruby/models/admin_api_user_dto.rb +0 -448
@@ -3,7 +3,7 @@
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.13.4
6
+ The version of the OpenAPI document: 1.13.6
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.1.0-SNAPSHOT
@@ -19,45 +19,6 @@ module SongtradrApiClientRuby
19
19
  # Search for space
20
20
  attr_accessor :space
21
21
 
22
- # Search for roughness
23
- attr_accessor :roughness
24
-
25
- # Search for a tonal scale
26
- attr_accessor :scale
27
-
28
- # Search for type of sound generation
29
- attr_accessor :sound_generation
30
-
31
- # Search for tempo
32
- attr_accessor :tempo
33
-
34
- # Search for texture
35
- attr_accessor :texture
36
-
37
- # Search for timbre
38
- attr_accessor :timbre
39
-
40
- # Search for tonality
41
- attr_accessor :tonality
42
-
43
- # Search for a valence
44
- attr_accessor :valence
45
-
46
- # Search for a vocal gender or instrumental songs
47
- attr_accessor :vocals
48
-
49
- # Search for origin decade
50
- attr_accessor :origin_decade
51
-
52
- # Search for curatebility
53
- attr_accessor :curateability
54
-
55
- # Search for use case
56
- attr_accessor :use_case
57
-
58
- # Search for social media suitability
59
- attr_accessor :channel_suitability
60
-
61
22
  attr_accessor :language_of_performance
62
23
 
63
24
  # Search for an arousal
@@ -90,6 +51,8 @@ module SongtradrApiClientRuby
90
51
  # Search for rhythm
91
52
  attr_accessor :rhythm
92
53
 
54
+ attr_accessor :audience_region
55
+
93
56
  attr_accessor :primary_mood_cluster_affinity
94
57
 
95
58
  # Search for a language of the lyrics
@@ -181,23 +144,44 @@ module SongtradrApiClientRuby
181
144
 
182
145
  attr_accessor :industry_suitability_affinity
183
146
 
184
- attr_accessor :audience_region
147
+ # Search for roughness
148
+ attr_accessor :roughness
185
149
 
186
- attr_accessor :valence_affinity
150
+ # Search for a tonal scale
151
+ attr_accessor :scale
187
152
 
188
- attr_accessor :arousal_affinity
153
+ # Search for type of sound generation
154
+ attr_accessor :sound_generation
189
155
 
190
- attr_accessor :pleasantness_affinity
156
+ # Search for tempo
157
+ attr_accessor :tempo
191
158
 
192
- attr_accessor :engagement_affinity
159
+ # Search for texture
160
+ attr_accessor :texture
193
161
 
194
- attr_accessor :energy_affinity
162
+ # Search for timbre
163
+ attr_accessor :timbre
195
164
 
196
- attr_accessor :tempo_affinity
165
+ # Search for tonality
166
+ attr_accessor :tonality
197
167
 
198
- attr_accessor :scale_affinity
168
+ # Search for a valence
169
+ attr_accessor :valence
199
170
 
200
- attr_accessor :timbre_affinity
171
+ # Search for a vocal gender or instrumental songs
172
+ attr_accessor :vocals
173
+
174
+ # Search for origin decade
175
+ attr_accessor :origin_decade
176
+
177
+ # Search for curatebility
178
+ attr_accessor :curateability
179
+
180
+ # Search for use case
181
+ attr_accessor :use_case
182
+
183
+ # Search for social media suitability
184
+ attr_accessor :channel_suitability
201
185
 
202
186
  attr_accessor :roughness_affinity
203
187
 
@@ -216,6 +200,22 @@ module SongtradrApiClientRuby
216
200
  # Search for a harmonic key
217
201
  attr_accessor :key
218
202
 
203
+ attr_accessor :valence_affinity
204
+
205
+ attr_accessor :arousal_affinity
206
+
207
+ attr_accessor :pleasantness_affinity
208
+
209
+ attr_accessor :engagement_affinity
210
+
211
+ attr_accessor :energy_affinity
212
+
213
+ attr_accessor :tempo_affinity
214
+
215
+ attr_accessor :scale_affinity
216
+
217
+ attr_accessor :timbre_affinity
218
+
219
219
  class EnumAttributeValidator
220
220
  attr_reader :datatype
221
221
  attr_reader :allowable_values
@@ -242,19 +242,6 @@ module SongtradrApiClientRuby
242
242
  def self.attribute_map
243
243
  {
244
244
  :'space' => :'space',
245
- :'roughness' => :'roughness',
246
- :'scale' => :'scale',
247
- :'sound_generation' => :'soundGeneration',
248
- :'tempo' => :'tempo',
249
- :'texture' => :'texture',
250
- :'timbre' => :'timbre',
251
- :'tonality' => :'tonality',
252
- :'valence' => :'valence',
253
- :'vocals' => :'vocals',
254
- :'origin_decade' => :'originDecade',
255
- :'curateability' => :'curateability',
256
- :'use_case' => :'useCase',
257
- :'channel_suitability' => :'channelSuitability',
258
245
  :'language_of_performance' => :'languageOfPerformance',
259
246
  :'arousal' => :'arousal',
260
247
  :'dominant_instrument' => :'dominantInstrument',
@@ -266,6 +253,7 @@ module SongtradrApiClientRuby
266
253
  :'primary_mood_cluster' => :'primaryMoodCluster',
267
254
  :'primary_sound_character' => :'primarySoundCharacter',
268
255
  :'rhythm' => :'rhythm',
256
+ :'audience_region' => :'audienceRegion',
269
257
  :'primary_mood_cluster_affinity' => :'primaryMoodClusterAffinity',
270
258
  :'secondary_mood_cluster' => :'secondaryMoodCluster',
271
259
  :'secondary_mood_cluster_affinity' => :'secondaryMoodClusterAffinity',
@@ -309,15 +297,19 @@ module SongtradrApiClientRuby
309
297
  :'use_case_affinity' => :'useCaseAffinity',
310
298
  :'industry_suitability' => :'industrySuitability',
311
299
  :'industry_suitability_affinity' => :'industrySuitabilityAffinity',
312
- :'audience_region' => :'audienceRegion',
313
- :'valence_affinity' => :'valenceAffinity',
314
- :'arousal_affinity' => :'arousalAffinity',
315
- :'pleasantness_affinity' => :'pleasantnessAffinity',
316
- :'engagement_affinity' => :'engagementAffinity',
317
- :'energy_affinity' => :'energyAffinity',
318
- :'tempo_affinity' => :'tempoAffinity',
319
- :'scale_affinity' => :'scaleAffinity',
320
- :'timbre_affinity' => :'timbreAffinity',
300
+ :'roughness' => :'roughness',
301
+ :'scale' => :'scale',
302
+ :'sound_generation' => :'soundGeneration',
303
+ :'tempo' => :'tempo',
304
+ :'texture' => :'texture',
305
+ :'timbre' => :'timbre',
306
+ :'tonality' => :'tonality',
307
+ :'valence' => :'valence',
308
+ :'vocals' => :'vocals',
309
+ :'origin_decade' => :'originDecade',
310
+ :'curateability' => :'curateability',
311
+ :'use_case' => :'useCase',
312
+ :'channel_suitability' => :'channelSuitability',
321
313
  :'roughness_affinity' => :'roughnessAffinity',
322
314
  :'harmony_affinity' => :'harmonyAffinity',
323
315
  :'texture_affinity' => :'textureAffinity',
@@ -325,7 +317,15 @@ module SongtradrApiClientRuby
325
317
  :'space_affinity' => :'spaceAffinity',
326
318
  :'key_affinity' => :'keyAffinity',
327
319
  :'channel_suitability_affinity' => :'channelSuitabilityAffinity',
328
- :'key' => :'key'
320
+ :'key' => :'key',
321
+ :'valence_affinity' => :'valenceAffinity',
322
+ :'arousal_affinity' => :'arousalAffinity',
323
+ :'pleasantness_affinity' => :'pleasantnessAffinity',
324
+ :'engagement_affinity' => :'engagementAffinity',
325
+ :'energy_affinity' => :'energyAffinity',
326
+ :'tempo_affinity' => :'tempoAffinity',
327
+ :'scale_affinity' => :'scaleAffinity',
328
+ :'timbre_affinity' => :'timbreAffinity'
329
329
  }
330
330
  end
331
331
 
@@ -338,19 +338,6 @@ module SongtradrApiClientRuby
338
338
  def self.openapi_types
339
339
  {
340
340
  :'space' => :'String',
341
- :'roughness' => :'String',
342
- :'scale' => :'String',
343
- :'sound_generation' => :'String',
344
- :'tempo' => :'String',
345
- :'texture' => :'String',
346
- :'timbre' => :'String',
347
- :'tonality' => :'String',
348
- :'valence' => :'String',
349
- :'vocals' => :'String',
350
- :'origin_decade' => :'String',
351
- :'curateability' => :'String',
352
- :'use_case' => :'String',
353
- :'channel_suitability' => :'String',
354
341
  :'language_of_performance' => :'String',
355
342
  :'arousal' => :'String',
356
343
  :'dominant_instrument' => :'String',
@@ -362,6 +349,7 @@ module SongtradrApiClientRuby
362
349
  :'primary_mood_cluster' => :'String',
363
350
  :'primary_sound_character' => :'String',
364
351
  :'rhythm' => :'String',
352
+ :'audience_region' => :'String',
365
353
  :'primary_mood_cluster_affinity' => :'Float',
366
354
  :'secondary_mood_cluster' => :'String',
367
355
  :'secondary_mood_cluster_affinity' => :'Float',
@@ -405,15 +393,19 @@ module SongtradrApiClientRuby
405
393
  :'use_case_affinity' => :'Float',
406
394
  :'industry_suitability' => :'String',
407
395
  :'industry_suitability_affinity' => :'Float',
408
- :'audience_region' => :'String',
409
- :'valence_affinity' => :'Float',
410
- :'arousal_affinity' => :'Float',
411
- :'pleasantness_affinity' => :'Float',
412
- :'engagement_affinity' => :'Float',
413
- :'energy_affinity' => :'Float',
414
- :'tempo_affinity' => :'Float',
415
- :'scale_affinity' => :'Float',
416
- :'timbre_affinity' => :'Float',
396
+ :'roughness' => :'String',
397
+ :'scale' => :'String',
398
+ :'sound_generation' => :'String',
399
+ :'tempo' => :'String',
400
+ :'texture' => :'String',
401
+ :'timbre' => :'String',
402
+ :'tonality' => :'String',
403
+ :'valence' => :'String',
404
+ :'vocals' => :'String',
405
+ :'origin_decade' => :'String',
406
+ :'curateability' => :'String',
407
+ :'use_case' => :'String',
408
+ :'channel_suitability' => :'String',
417
409
  :'roughness_affinity' => :'Float',
418
410
  :'harmony_affinity' => :'Float',
419
411
  :'texture_affinity' => :'Float',
@@ -421,7 +413,15 @@ module SongtradrApiClientRuby
421
413
  :'space_affinity' => :'Float',
422
414
  :'key_affinity' => :'Float',
423
415
  :'channel_suitability_affinity' => :'Float',
424
- :'key' => :'String'
416
+ :'key' => :'String',
417
+ :'valence_affinity' => :'Float',
418
+ :'arousal_affinity' => :'Float',
419
+ :'pleasantness_affinity' => :'Float',
420
+ :'engagement_affinity' => :'Float',
421
+ :'energy_affinity' => :'Float',
422
+ :'tempo_affinity' => :'Float',
423
+ :'scale_affinity' => :'Float',
424
+ :'timbre_affinity' => :'Float'
425
425
  }
426
426
  end
427
427
 
@@ -450,58 +450,6 @@ module SongtradrApiClientRuby
450
450
  self.space = attributes[:'space']
451
451
  end
452
452
 
453
- if attributes.key?(:'roughness')
454
- self.roughness = attributes[:'roughness']
455
- end
456
-
457
- if attributes.key?(:'scale')
458
- self.scale = attributes[:'scale']
459
- end
460
-
461
- if attributes.key?(:'sound_generation')
462
- self.sound_generation = attributes[:'sound_generation']
463
- end
464
-
465
- if attributes.key?(:'tempo')
466
- self.tempo = attributes[:'tempo']
467
- end
468
-
469
- if attributes.key?(:'texture')
470
- self.texture = attributes[:'texture']
471
- end
472
-
473
- if attributes.key?(:'timbre')
474
- self.timbre = attributes[:'timbre']
475
- end
476
-
477
- if attributes.key?(:'tonality')
478
- self.tonality = attributes[:'tonality']
479
- end
480
-
481
- if attributes.key?(:'valence')
482
- self.valence = attributes[:'valence']
483
- end
484
-
485
- if attributes.key?(:'vocals')
486
- self.vocals = attributes[:'vocals']
487
- end
488
-
489
- if attributes.key?(:'origin_decade')
490
- self.origin_decade = attributes[:'origin_decade']
491
- end
492
-
493
- if attributes.key?(:'curateability')
494
- self.curateability = attributes[:'curateability']
495
- end
496
-
497
- if attributes.key?(:'use_case')
498
- self.use_case = attributes[:'use_case']
499
- end
500
-
501
- if attributes.key?(:'channel_suitability')
502
- self.channel_suitability = attributes[:'channel_suitability']
503
- end
504
-
505
453
  if attributes.key?(:'language_of_performance')
506
454
  self.language_of_performance = attributes[:'language_of_performance']
507
455
  end
@@ -546,6 +494,10 @@ module SongtradrApiClientRuby
546
494
  self.rhythm = attributes[:'rhythm']
547
495
  end
548
496
 
497
+ if attributes.key?(:'audience_region')
498
+ self.audience_region = attributes[:'audience_region']
499
+ end
500
+
549
501
  if attributes.key?(:'primary_mood_cluster_affinity')
550
502
  self.primary_mood_cluster_affinity = attributes[:'primary_mood_cluster_affinity']
551
503
  end
@@ -718,40 +670,56 @@ module SongtradrApiClientRuby
718
670
  self.industry_suitability_affinity = attributes[:'industry_suitability_affinity']
719
671
  end
720
672
 
721
- if attributes.key?(:'audience_region')
722
- self.audience_region = attributes[:'audience_region']
673
+ if attributes.key?(:'roughness')
674
+ self.roughness = attributes[:'roughness']
723
675
  end
724
676
 
725
- if attributes.key?(:'valence_affinity')
726
- self.valence_affinity = attributes[:'valence_affinity']
677
+ if attributes.key?(:'scale')
678
+ self.scale = attributes[:'scale']
727
679
  end
728
680
 
729
- if attributes.key?(:'arousal_affinity')
730
- self.arousal_affinity = attributes[:'arousal_affinity']
681
+ if attributes.key?(:'sound_generation')
682
+ self.sound_generation = attributes[:'sound_generation']
731
683
  end
732
684
 
733
- if attributes.key?(:'pleasantness_affinity')
734
- self.pleasantness_affinity = attributes[:'pleasantness_affinity']
685
+ if attributes.key?(:'tempo')
686
+ self.tempo = attributes[:'tempo']
735
687
  end
736
688
 
737
- if attributes.key?(:'engagement_affinity')
738
- self.engagement_affinity = attributes[:'engagement_affinity']
689
+ if attributes.key?(:'texture')
690
+ self.texture = attributes[:'texture']
739
691
  end
740
692
 
741
- if attributes.key?(:'energy_affinity')
742
- self.energy_affinity = attributes[:'energy_affinity']
693
+ if attributes.key?(:'timbre')
694
+ self.timbre = attributes[:'timbre']
743
695
  end
744
696
 
745
- if attributes.key?(:'tempo_affinity')
746
- self.tempo_affinity = attributes[:'tempo_affinity']
697
+ if attributes.key?(:'tonality')
698
+ self.tonality = attributes[:'tonality']
747
699
  end
748
700
 
749
- if attributes.key?(:'scale_affinity')
750
- self.scale_affinity = attributes[:'scale_affinity']
701
+ if attributes.key?(:'valence')
702
+ self.valence = attributes[:'valence']
751
703
  end
752
704
 
753
- if attributes.key?(:'timbre_affinity')
754
- self.timbre_affinity = attributes[:'timbre_affinity']
705
+ if attributes.key?(:'vocals')
706
+ self.vocals = attributes[:'vocals']
707
+ end
708
+
709
+ if attributes.key?(:'origin_decade')
710
+ self.origin_decade = attributes[:'origin_decade']
711
+ end
712
+
713
+ if attributes.key?(:'curateability')
714
+ self.curateability = attributes[:'curateability']
715
+ end
716
+
717
+ if attributes.key?(:'use_case')
718
+ self.use_case = attributes[:'use_case']
719
+ end
720
+
721
+ if attributes.key?(:'channel_suitability')
722
+ self.channel_suitability = attributes[:'channel_suitability']
755
723
  end
756
724
 
757
725
  if attributes.key?(:'roughness_affinity')
@@ -785,6 +753,38 @@ module SongtradrApiClientRuby
785
753
  if attributes.key?(:'key')
786
754
  self.key = attributes[:'key']
787
755
  end
756
+
757
+ if attributes.key?(:'valence_affinity')
758
+ self.valence_affinity = attributes[:'valence_affinity']
759
+ end
760
+
761
+ if attributes.key?(:'arousal_affinity')
762
+ self.arousal_affinity = attributes[:'arousal_affinity']
763
+ end
764
+
765
+ if attributes.key?(:'pleasantness_affinity')
766
+ self.pleasantness_affinity = attributes[:'pleasantness_affinity']
767
+ end
768
+
769
+ if attributes.key?(:'engagement_affinity')
770
+ self.engagement_affinity = attributes[:'engagement_affinity']
771
+ end
772
+
773
+ if attributes.key?(:'energy_affinity')
774
+ self.energy_affinity = attributes[:'energy_affinity']
775
+ end
776
+
777
+ if attributes.key?(:'tempo_affinity')
778
+ self.tempo_affinity = attributes[:'tempo_affinity']
779
+ end
780
+
781
+ if attributes.key?(:'scale_affinity')
782
+ self.scale_affinity = attributes[:'scale_affinity']
783
+ end
784
+
785
+ if attributes.key?(:'timbre_affinity')
786
+ self.timbre_affinity = attributes[:'timbre_affinity']
787
+ end
788
788
  end
789
789
 
790
790
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -801,32 +801,6 @@ module SongtradrApiClientRuby
801
801
  warn '[DEPRECATED] the `valid?` method is obsolete'
802
802
  space_validator = EnumAttributeValidator.new('String', ["very compact", "compact", "moderate space", "wide", "very wide"])
803
803
  return false unless space_validator.valid?(@space)
804
- roughness_validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
805
- return false unless roughness_validator.valid?(@roughness)
806
- scale_validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
807
- return false unless scale_validator.valid?(@scale)
808
- sound_generation_validator = EnumAttributeValidator.new('String', ["acoustic", "electric", "electronic", "mixed sound generation"])
809
- return false unless sound_generation_validator.valid?(@sound_generation)
810
- tempo_validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
811
- return false unless tempo_validator.valid?(@tempo)
812
- texture_validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
813
- return false unless texture_validator.valid?(@texture)
814
- timbre_validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
815
- return false unless timbre_validator.valid?(@timbre)
816
- tonality_validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
817
- return false unless tonality_validator.valid?(@tonality)
818
- valence_validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
819
- return false unless valence_validator.valid?(@valence)
820
- vocals_validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
821
- return false unless vocals_validator.valid?(@vocals)
822
- origin_decade_validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
823
- return false unless origin_decade_validator.valid?(@origin_decade)
824
- curateability_validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
825
- return false unless curateability_validator.valid?(@curateability)
826
- use_case_validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax"])
827
- return false unless use_case_validator.valid?(@use_case)
828
- channel_suitability_validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
829
- return false unless channel_suitability_validator.valid?(@channel_suitability)
830
804
  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"])
831
805
  return false unless language_of_performance_validator.valid?(@language_of_performance)
832
806
  arousal_validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
@@ -849,6 +823,8 @@ module SongtradrApiClientRuby
849
823
  return false unless primary_sound_character_validator.valid?(@primary_sound_character)
850
824
  rhythm_validator = EnumAttributeValidator.new('String', ["common time", "triple meter", "complex time signature", "binary rhythm", "ternary rhythm"])
851
825
  return false unless rhythm_validator.valid?(@rhythm)
826
+ 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"])
827
+ return false unless audience_region_validator.valid?(@audience_region)
852
828
  secondary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
853
829
  return false unless secondary_mood_cluster_validator.valid?(@secondary_mood_cluster)
854
830
  tertiary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
@@ -879,8 +855,32 @@ module SongtradrApiClientRuby
879
855
  return false unless origin_region_validator.valid?(@origin_region)
880
856
  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"])
881
857
  return false unless industry_suitability_validator.valid?(@industry_suitability)
882
- 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"])
883
- return false unless audience_region_validator.valid?(@audience_region)
858
+ roughness_validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
859
+ return false unless roughness_validator.valid?(@roughness)
860
+ scale_validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
861
+ return false unless scale_validator.valid?(@scale)
862
+ sound_generation_validator = EnumAttributeValidator.new('String', ["acoustic", "electric", "electronic", "mixed sound generation"])
863
+ return false unless sound_generation_validator.valid?(@sound_generation)
864
+ tempo_validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
865
+ return false unless tempo_validator.valid?(@tempo)
866
+ texture_validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
867
+ return false unless texture_validator.valid?(@texture)
868
+ timbre_validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
869
+ return false unless timbre_validator.valid?(@timbre)
870
+ tonality_validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
871
+ return false unless tonality_validator.valid?(@tonality)
872
+ valence_validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
873
+ return false unless valence_validator.valid?(@valence)
874
+ vocals_validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
875
+ return false unless vocals_validator.valid?(@vocals)
876
+ origin_decade_validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
877
+ return false unless origin_decade_validator.valid?(@origin_decade)
878
+ curateability_validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
879
+ return false unless curateability_validator.valid?(@curateability)
880
+ use_case_validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax"])
881
+ return false unless use_case_validator.valid?(@use_case)
882
+ channel_suitability_validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
883
+ return false unless channel_suitability_validator.valid?(@channel_suitability)
884
884
  key_validator = EnumAttributeValidator.new('String', ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B", "unclear"])
885
885
  return false unless key_validator.valid?(@key)
886
886
  true
@@ -896,136 +896,6 @@ module SongtradrApiClientRuby
896
896
  @space = space
897
897
  end
898
898
 
899
- # Custom attribute writer method checking allowed values (enum).
900
- # @param [Object] roughness Object to be assigned
901
- def roughness=(roughness)
902
- validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
903
- unless validator.valid?(roughness)
904
- fail ArgumentError, "invalid value for \"roughness\", must be one of #{validator.allowable_values}."
905
- end
906
- @roughness = roughness
907
- end
908
-
909
- # Custom attribute writer method checking allowed values (enum).
910
- # @param [Object] scale Object to be assigned
911
- def scale=(scale)
912
- validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
913
- unless validator.valid?(scale)
914
- fail ArgumentError, "invalid value for \"scale\", must be one of #{validator.allowable_values}."
915
- end
916
- @scale = scale
917
- end
918
-
919
- # Custom attribute writer method checking allowed values (enum).
920
- # @param [Object] sound_generation Object to be assigned
921
- def sound_generation=(sound_generation)
922
- validator = EnumAttributeValidator.new('String', ["acoustic", "electric", "electronic", "mixed sound generation"])
923
- unless validator.valid?(sound_generation)
924
- fail ArgumentError, "invalid value for \"sound_generation\", must be one of #{validator.allowable_values}."
925
- end
926
- @sound_generation = sound_generation
927
- end
928
-
929
- # Custom attribute writer method checking allowed values (enum).
930
- # @param [Object] tempo Object to be assigned
931
- def tempo=(tempo)
932
- validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
933
- unless validator.valid?(tempo)
934
- fail ArgumentError, "invalid value for \"tempo\", must be one of #{validator.allowable_values}."
935
- end
936
- @tempo = tempo
937
- end
938
-
939
- # Custom attribute writer method checking allowed values (enum).
940
- # @param [Object] texture Object to be assigned
941
- def texture=(texture)
942
- validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
943
- unless validator.valid?(texture)
944
- fail ArgumentError, "invalid value for \"texture\", must be one of #{validator.allowable_values}."
945
- end
946
- @texture = texture
947
- end
948
-
949
- # Custom attribute writer method checking allowed values (enum).
950
- # @param [Object] timbre Object to be assigned
951
- def timbre=(timbre)
952
- validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
953
- unless validator.valid?(timbre)
954
- fail ArgumentError, "invalid value for \"timbre\", must be one of #{validator.allowable_values}."
955
- end
956
- @timbre = timbre
957
- end
958
-
959
- # Custom attribute writer method checking allowed values (enum).
960
- # @param [Object] tonality Object to be assigned
961
- def tonality=(tonality)
962
- validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
963
- unless validator.valid?(tonality)
964
- fail ArgumentError, "invalid value for \"tonality\", must be one of #{validator.allowable_values}."
965
- end
966
- @tonality = tonality
967
- end
968
-
969
- # Custom attribute writer method checking allowed values (enum).
970
- # @param [Object] valence Object to be assigned
971
- def valence=(valence)
972
- validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
973
- unless validator.valid?(valence)
974
- fail ArgumentError, "invalid value for \"valence\", must be one of #{validator.allowable_values}."
975
- end
976
- @valence = valence
977
- end
978
-
979
- # Custom attribute writer method checking allowed values (enum).
980
- # @param [Object] vocals Object to be assigned
981
- def vocals=(vocals)
982
- validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
983
- unless validator.valid?(vocals)
984
- fail ArgumentError, "invalid value for \"vocals\", must be one of #{validator.allowable_values}."
985
- end
986
- @vocals = vocals
987
- end
988
-
989
- # Custom attribute writer method checking allowed values (enum).
990
- # @param [Object] origin_decade Object to be assigned
991
- def origin_decade=(origin_decade)
992
- validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
993
- unless validator.valid?(origin_decade)
994
- fail ArgumentError, "invalid value for \"origin_decade\", must be one of #{validator.allowable_values}."
995
- end
996
- @origin_decade = origin_decade
997
- end
998
-
999
- # Custom attribute writer method checking allowed values (enum).
1000
- # @param [Object] curateability Object to be assigned
1001
- def curateability=(curateability)
1002
- validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
1003
- unless validator.valid?(curateability)
1004
- fail ArgumentError, "invalid value for \"curateability\", must be one of #{validator.allowable_values}."
1005
- end
1006
- @curateability = curateability
1007
- end
1008
-
1009
- # Custom attribute writer method checking allowed values (enum).
1010
- # @param [Object] use_case Object to be assigned
1011
- def use_case=(use_case)
1012
- validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax"])
1013
- unless validator.valid?(use_case)
1014
- fail ArgumentError, "invalid value for \"use_case\", must be one of #{validator.allowable_values}."
1015
- end
1016
- @use_case = use_case
1017
- end
1018
-
1019
- # Custom attribute writer method checking allowed values (enum).
1020
- # @param [Object] channel_suitability Object to be assigned
1021
- def channel_suitability=(channel_suitability)
1022
- validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
1023
- unless validator.valid?(channel_suitability)
1024
- fail ArgumentError, "invalid value for \"channel_suitability\", must be one of #{validator.allowable_values}."
1025
- end
1026
- @channel_suitability = channel_suitability
1027
- end
1028
-
1029
899
  # Custom attribute writer method checking allowed values (enum).
1030
900
  # @param [Object] language_of_performance Object to be assigned
1031
901
  def language_of_performance=(language_of_performance)
@@ -1136,6 +1006,16 @@ module SongtradrApiClientRuby
1136
1006
  @rhythm = rhythm
1137
1007
  end
1138
1008
 
1009
+ # Custom attribute writer method checking allowed values (enum).
1010
+ # @param [Object] audience_region Object to be assigned
1011
+ def audience_region=(audience_region)
1012
+ 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"])
1013
+ unless validator.valid?(audience_region)
1014
+ fail ArgumentError, "invalid value for \"audience_region\", must be one of #{validator.allowable_values}."
1015
+ end
1016
+ @audience_region = audience_region
1017
+ end
1018
+
1139
1019
  # Custom attribute writer method checking allowed values (enum).
1140
1020
  # @param [Object] secondary_mood_cluster Object to be assigned
1141
1021
  def secondary_mood_cluster=(secondary_mood_cluster)
@@ -1287,13 +1167,133 @@ module SongtradrApiClientRuby
1287
1167
  end
1288
1168
 
1289
1169
  # Custom attribute writer method checking allowed values (enum).
1290
- # @param [Object] audience_region Object to be assigned
1291
- def audience_region=(audience_region)
1292
- 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"])
1293
- unless validator.valid?(audience_region)
1294
- fail ArgumentError, "invalid value for \"audience_region\", must be one of #{validator.allowable_values}."
1170
+ # @param [Object] roughness Object to be assigned
1171
+ def roughness=(roughness)
1172
+ validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
1173
+ unless validator.valid?(roughness)
1174
+ fail ArgumentError, "invalid value for \"roughness\", must be one of #{validator.allowable_values}."
1295
1175
  end
1296
- @audience_region = audience_region
1176
+ @roughness = roughness
1177
+ end
1178
+
1179
+ # Custom attribute writer method checking allowed values (enum).
1180
+ # @param [Object] scale Object to be assigned
1181
+ def scale=(scale)
1182
+ validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
1183
+ unless validator.valid?(scale)
1184
+ fail ArgumentError, "invalid value for \"scale\", must be one of #{validator.allowable_values}."
1185
+ end
1186
+ @scale = scale
1187
+ end
1188
+
1189
+ # Custom attribute writer method checking allowed values (enum).
1190
+ # @param [Object] sound_generation Object to be assigned
1191
+ def sound_generation=(sound_generation)
1192
+ validator = EnumAttributeValidator.new('String', ["acoustic", "electric", "electronic", "mixed sound generation"])
1193
+ unless validator.valid?(sound_generation)
1194
+ fail ArgumentError, "invalid value for \"sound_generation\", must be one of #{validator.allowable_values}."
1195
+ end
1196
+ @sound_generation = sound_generation
1197
+ end
1198
+
1199
+ # Custom attribute writer method checking allowed values (enum).
1200
+ # @param [Object] tempo Object to be assigned
1201
+ def tempo=(tempo)
1202
+ validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
1203
+ unless validator.valid?(tempo)
1204
+ fail ArgumentError, "invalid value for \"tempo\", must be one of #{validator.allowable_values}."
1205
+ end
1206
+ @tempo = tempo
1207
+ end
1208
+
1209
+ # Custom attribute writer method checking allowed values (enum).
1210
+ # @param [Object] texture Object to be assigned
1211
+ def texture=(texture)
1212
+ validator = EnumAttributeValidator.new('String', ["very thin", "thin", "moderate texture", "full", "very full"])
1213
+ unless validator.valid?(texture)
1214
+ fail ArgumentError, "invalid value for \"texture\", must be one of #{validator.allowable_values}."
1215
+ end
1216
+ @texture = texture
1217
+ end
1218
+
1219
+ # Custom attribute writer method checking allowed values (enum).
1220
+ # @param [Object] timbre Object to be assigned
1221
+ def timbre=(timbre)
1222
+ validator = EnumAttributeValidator.new('String', ["very warm", "warm", "moderate timbre", "bright", "very bright"])
1223
+ unless validator.valid?(timbre)
1224
+ fail ArgumentError, "invalid value for \"timbre\", must be one of #{validator.allowable_values}."
1225
+ end
1226
+ @timbre = timbre
1227
+ end
1228
+
1229
+ # Custom attribute writer method checking allowed values (enum).
1230
+ # @param [Object] tonality Object to be assigned
1231
+ def tonality=(tonality)
1232
+ validator = EnumAttributeValidator.new('String', ["monotonous", "moderate melodiousness", "melodious", "atonal"])
1233
+ unless validator.valid?(tonality)
1234
+ fail ArgumentError, "invalid value for \"tonality\", must be one of #{validator.allowable_values}."
1235
+ end
1236
+ @tonality = tonality
1237
+ end
1238
+
1239
+ # Custom attribute writer method checking allowed values (enum).
1240
+ # @param [Object] valence Object to be assigned
1241
+ def valence=(valence)
1242
+ validator = EnumAttributeValidator.new('String', ["very sad", "sad", "moderate valence", "positive", "very positive", "varying valence"])
1243
+ unless validator.valid?(valence)
1244
+ fail ArgumentError, "invalid value for \"valence\", must be one of #{validator.allowable_values}."
1245
+ end
1246
+ @valence = valence
1247
+ end
1248
+
1249
+ # Custom attribute writer method checking allowed values (enum).
1250
+ # @param [Object] vocals Object to be assigned
1251
+ def vocals=(vocals)
1252
+ validator = EnumAttributeValidator.new('String', ["instrumental", "female vocals", "male vocals", "mixed vocals", "diverse gender vocals"])
1253
+ unless validator.valid?(vocals)
1254
+ fail ArgumentError, "invalid value for \"vocals\", must be one of #{validator.allowable_values}."
1255
+ end
1256
+ @vocals = vocals
1257
+ end
1258
+
1259
+ # Custom attribute writer method checking allowed values (enum).
1260
+ # @param [Object] origin_decade Object to be assigned
1261
+ def origin_decade=(origin_decade)
1262
+ validator = EnumAttributeValidator.new('String', ["pre-1950s", "1950s", "1960s", "1970s", "1980s", "1990s", "2000s", "2010s", "2020s"])
1263
+ unless validator.valid?(origin_decade)
1264
+ fail ArgumentError, "invalid value for \"origin_decade\", must be one of #{validator.allowable_values}."
1265
+ end
1266
+ @origin_decade = origin_decade
1267
+ end
1268
+
1269
+ # Custom attribute writer method checking allowed values (enum).
1270
+ # @param [Object] curateability Object to be assigned
1271
+ def curateability=(curateability)
1272
+ validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
1273
+ unless validator.valid?(curateability)
1274
+ fail ArgumentError, "invalid value for \"curateability\", must be one of #{validator.allowable_values}."
1275
+ end
1276
+ @curateability = curateability
1277
+ end
1278
+
1279
+ # Custom attribute writer method checking allowed values (enum).
1280
+ # @param [Object] use_case Object to be assigned
1281
+ def use_case=(use_case)
1282
+ validator = EnumAttributeValidator.new('String', ["background", "sport", "focus", "christmas", "film", "summer", "adverts", "party", "relax"])
1283
+ unless validator.valid?(use_case)
1284
+ fail ArgumentError, "invalid value for \"use_case\", must be one of #{validator.allowable_values}."
1285
+ end
1286
+ @use_case = use_case
1287
+ end
1288
+
1289
+ # Custom attribute writer method checking allowed values (enum).
1290
+ # @param [Object] channel_suitability Object to be assigned
1291
+ def channel_suitability=(channel_suitability)
1292
+ validator = EnumAttributeValidator.new('String', ["Spotify", "TikTok", "Unfitting", "YouTube"])
1293
+ unless validator.valid?(channel_suitability)
1294
+ fail ArgumentError, "invalid value for \"channel_suitability\", must be one of #{validator.allowable_values}."
1295
+ end
1296
+ @channel_suitability = channel_suitability
1297
1297
  end
1298
1298
 
1299
1299
  # Custom attribute writer method checking allowed values (enum).
@@ -1312,19 +1312,6 @@ module SongtradrApiClientRuby
1312
1312
  return true if self.equal?(o)
1313
1313
  self.class == o.class &&
1314
1314
  space == o.space &&
1315
- roughness == o.roughness &&
1316
- scale == o.scale &&
1317
- sound_generation == o.sound_generation &&
1318
- tempo == o.tempo &&
1319
- texture == o.texture &&
1320
- timbre == o.timbre &&
1321
- tonality == o.tonality &&
1322
- valence == o.valence &&
1323
- vocals == o.vocals &&
1324
- origin_decade == o.origin_decade &&
1325
- curateability == o.curateability &&
1326
- use_case == o.use_case &&
1327
- channel_suitability == o.channel_suitability &&
1328
1315
  language_of_performance == o.language_of_performance &&
1329
1316
  arousal == o.arousal &&
1330
1317
  dominant_instrument == o.dominant_instrument &&
@@ -1336,6 +1323,7 @@ module SongtradrApiClientRuby
1336
1323
  primary_mood_cluster == o.primary_mood_cluster &&
1337
1324
  primary_sound_character == o.primary_sound_character &&
1338
1325
  rhythm == o.rhythm &&
1326
+ audience_region == o.audience_region &&
1339
1327
  primary_mood_cluster_affinity == o.primary_mood_cluster_affinity &&
1340
1328
  secondary_mood_cluster == o.secondary_mood_cluster &&
1341
1329
  secondary_mood_cluster_affinity == o.secondary_mood_cluster_affinity &&
@@ -1379,15 +1367,19 @@ module SongtradrApiClientRuby
1379
1367
  use_case_affinity == o.use_case_affinity &&
1380
1368
  industry_suitability == o.industry_suitability &&
1381
1369
  industry_suitability_affinity == o.industry_suitability_affinity &&
1382
- audience_region == o.audience_region &&
1383
- valence_affinity == o.valence_affinity &&
1384
- arousal_affinity == o.arousal_affinity &&
1385
- pleasantness_affinity == o.pleasantness_affinity &&
1386
- engagement_affinity == o.engagement_affinity &&
1387
- energy_affinity == o.energy_affinity &&
1388
- tempo_affinity == o.tempo_affinity &&
1389
- scale_affinity == o.scale_affinity &&
1390
- timbre_affinity == o.timbre_affinity &&
1370
+ roughness == o.roughness &&
1371
+ scale == o.scale &&
1372
+ sound_generation == o.sound_generation &&
1373
+ tempo == o.tempo &&
1374
+ texture == o.texture &&
1375
+ timbre == o.timbre &&
1376
+ tonality == o.tonality &&
1377
+ valence == o.valence &&
1378
+ vocals == o.vocals &&
1379
+ origin_decade == o.origin_decade &&
1380
+ curateability == o.curateability &&
1381
+ use_case == o.use_case &&
1382
+ channel_suitability == o.channel_suitability &&
1391
1383
  roughness_affinity == o.roughness_affinity &&
1392
1384
  harmony_affinity == o.harmony_affinity &&
1393
1385
  texture_affinity == o.texture_affinity &&
@@ -1395,7 +1387,15 @@ module SongtradrApiClientRuby
1395
1387
  space_affinity == o.space_affinity &&
1396
1388
  key_affinity == o.key_affinity &&
1397
1389
  channel_suitability_affinity == o.channel_suitability_affinity &&
1398
- key == o.key
1390
+ key == o.key &&
1391
+ valence_affinity == o.valence_affinity &&
1392
+ arousal_affinity == o.arousal_affinity &&
1393
+ pleasantness_affinity == o.pleasantness_affinity &&
1394
+ engagement_affinity == o.engagement_affinity &&
1395
+ energy_affinity == o.energy_affinity &&
1396
+ tempo_affinity == o.tempo_affinity &&
1397
+ scale_affinity == o.scale_affinity &&
1398
+ timbre_affinity == o.timbre_affinity
1399
1399
  end
1400
1400
 
1401
1401
  # @see the `==` method
@@ -1407,7 +1407,7 @@ module SongtradrApiClientRuby
1407
1407
  # Calculates hash code according to all attributes.
1408
1408
  # @return [Integer] Hash code
1409
1409
  def hash
1410
- [space, roughness, scale, sound_generation, tempo, texture, timbre, tonality, valence, vocals, origin_decade, curateability, use_case, channel_suitability, language_of_performance, arousal, dominant_instrument, energy, engagement, groovyness, harmony, pleasantness, primary_mood_cluster, primary_sound_character, rhythm, 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, key].hash
1410
+ [space, language_of_performance, arousal, dominant_instrument, energy, engagement, groovyness, harmony, pleasantness, primary_mood_cluster, primary_sound_character, rhythm, audience_region, 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, roughness, scale, sound_generation, tempo, texture, timbre, tonality, valence, vocals, origin_decade, curateability, use_case, channel_suitability, roughness_affinity, harmony_affinity, texture_affinity, groovyness_affinity, space_affinity, key_affinity, channel_suitability_affinity, key, valence_affinity, arousal_affinity, pleasantness_affinity, engagement_affinity, energy_affinity, tempo_affinity, scale_affinity, timbre_affinity].hash
1411
1411
  end
1412
1412
 
1413
1413
  # Builds the object from hash