songtradr_api_client_ruby 1.13.4 → 1.13.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (281) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/README.md +48 -5
  4. data/docs/AdminApiCreateUserDTO.md +76 -0
  5. data/docs/AdminApiUpdateUserDTO.md +76 -0
  6. data/docs/AdminUsersControllerApi.md +355 -0
  7. data/docs/AgeRange.md +20 -0
  8. data/docs/ApiKeyDTO.md +3 -3
  9. data/docs/Beard.md +20 -0
  10. data/docs/BoundingBox.md +24 -0
  11. data/docs/ContextValue.md +18 -0
  12. data/docs/CuratePlaylistDTO.md +26 -0
  13. data/docs/CuratePlaylistResponseDTO.md +18 -0
  14. data/docs/DominantColor.md +30 -0
  15. data/docs/Emotion.md +20 -0
  16. data/docs/EyeDirection.md +22 -0
  17. data/docs/EyeOpen.md +20 -0
  18. data/docs/Eyeglasses.md +20 -0
  19. data/docs/FaceDetail.md +50 -0
  20. data/docs/FaceDetection.md +20 -0
  21. data/docs/FaceOccluded.md +20 -0
  22. data/docs/FileSmallDTO.md +7 -7
  23. data/docs/Gender.md +20 -0
  24. data/docs/ImageQuality.md +20 -0
  25. data/docs/ImageRecognitionResponse.md +20 -0
  26. data/docs/Instance.md +22 -0
  27. data/docs/InternalApiApi.md +149 -0
  28. data/docs/Label.md +28 -0
  29. data/docs/LabelAlias.md +18 -0
  30. data/docs/LabelCategory.md +18 -0
  31. data/docs/LabelDetection.md +26 -0
  32. data/docs/Landmark.md +22 -0
  33. data/docs/MouthOpen.md +20 -0
  34. data/docs/MusicalFeaturesDTO.md +26 -26
  35. data/docs/Mustache.md +20 -0
  36. data/docs/Parent.md +18 -0
  37. data/docs/PlaylistApi.md +70 -0
  38. data/docs/PlaylistLargeDTO.md +3 -3
  39. data/docs/Pose.md +22 -0
  40. data/docs/ProductMediumDTO.md +2 -2
  41. data/docs/ProductPartyDTO.md +3 -3
  42. data/docs/RecordingLargeDTO.md +11 -11
  43. data/docs/RecordingMediumDTO.md +9 -9
  44. data/docs/RecordingMinimalWithMusicalFeaturesDTO.md +3 -3
  45. data/docs/RecordingPartyDTO.md +3 -3
  46. data/docs/RecordingSmallDTO.md +4 -4
  47. data/docs/SaveFileDTO.md +42 -0
  48. data/docs/SaveFileRecordingDTO.md +5 -1
  49. data/docs/Smile.md +20 -0
  50. data/docs/Sunglasses.md +20 -0
  51. data/docs/UserApi.md +140 -0
  52. data/docs/VideoRecognitionResponse.md +20 -0
  53. data/lib/songtradr_api_client_ruby/api/admin_users_controller_api.rb +346 -0
  54. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +1 -1
  55. data/lib/songtradr_api_client_ruby/api/api_keys_api.rb +1 -1
  56. data/lib/songtradr_api_client_ruby/api/internal_api_api.rb +169 -0
  57. data/lib/songtradr_api_client_ruby/api/party_api.rb +1 -1
  58. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +78 -1
  59. data/lib/songtradr_api_client_ruby/api/recording_api.rb +1 -1
  60. data/lib/songtradr_api_client_ruby/api/user_api.rb +137 -1
  61. data/lib/songtradr_api_client_ruby/api_client.rb +3 -2
  62. data/lib/songtradr_api_client_ruby/api_error.rb +1 -1
  63. data/lib/songtradr_api_client_ruby/configuration.rb +2 -1
  64. data/lib/songtradr_api_client_ruby/models/admin_api_create_user_dto.rb +489 -0
  65. data/lib/songtradr_api_client_ruby/models/admin_api_update_user_dto.rb +475 -0
  66. data/lib/songtradr_api_client_ruby/models/admin_api_user_dto.rb +1 -1
  67. data/lib/songtradr_api_client_ruby/models/age_range.rb +223 -0
  68. data/lib/songtradr_api_client_ruby/models/api_key_dto.rb +14 -14
  69. data/lib/songtradr_api_client_ruby/models/beard.rb +223 -0
  70. data/lib/songtradr_api_client_ruby/models/bounding_box.rb +241 -0
  71. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +1 -1
  72. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +1 -1
  73. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +1 -1
  74. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +1 -1
  75. data/lib/songtradr_api_client_ruby/models/context_value.rb +216 -0
  76. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +1 -1
  77. data/lib/songtradr_api_client_ruby/models/create_api_key_dto.rb +1 -1
  78. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +256 -0
  79. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +216 -0
  80. data/lib/songtradr_api_client_ruby/models/dominant_color.rb +268 -0
  81. data/lib/songtradr_api_client_ruby/models/emotion.rb +223 -0
  82. data/lib/songtradr_api_client_ruby/models/error_response.rb +1 -1
  83. data/lib/songtradr_api_client_ruby/models/eye_direction.rb +232 -0
  84. data/lib/songtradr_api_client_ruby/models/eye_open.rb +223 -0
  85. data/lib/songtradr_api_client_ruby/models/eyeglasses.rb +223 -0
  86. data/lib/songtradr_api_client_ruby/models/face_detail.rb +362 -0
  87. data/lib/songtradr_api_client_ruby/models/face_detection.rb +223 -0
  88. data/lib/songtradr_api_client_ruby/models/face_occluded.rb +223 -0
  89. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +1 -1
  90. data/lib/songtradr_api_client_ruby/models/file_dto.rb +1 -1
  91. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +1 -1
  92. data/lib/songtradr_api_client_ruby/models/file_minimal_with_url_dto.rb +1 -1
  93. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +32 -32
  94. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +1 -1
  95. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +1 -1
  96. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +1 -1
  97. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +1 -1
  98. data/lib/songtradr_api_client_ruby/models/gender.rb +223 -0
  99. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +1 -1
  100. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +1 -1
  101. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +1 -1
  102. data/lib/songtradr_api_client_ruby/models/image_quality.rb +223 -0
  103. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +227 -0
  104. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +1 -1
  105. data/lib/songtradr_api_client_ruby/models/instance.rb +234 -0
  106. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +1 -1
  107. data/lib/songtradr_api_client_ruby/models/label.rb +267 -0
  108. data/lib/songtradr_api_client_ruby/models/label_alias.rb +214 -0
  109. data/lib/songtradr_api_client_ruby/models/label_category.rb +214 -0
  110. data/lib/songtradr_api_client_ruby/models/label_detection.rb +250 -0
  111. data/lib/songtradr_api_client_ruby/models/landmark.rb +232 -0
  112. data/lib/songtradr_api_client_ruby/models/login_dto.rb +1 -1
  113. data/lib/songtradr_api_client_ruby/models/mouth_open.rb +223 -0
  114. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +302 -302
  115. data/lib/songtradr_api_client_ruby/models/mustache.rb +223 -0
  116. data/lib/songtradr_api_client_ruby/models/p_line_dto.rb +1 -1
  117. data/lib/songtradr_api_client_ruby/models/parent.rb +214 -0
  118. data/lib/songtradr_api_client_ruby/models/party_large_dto.rb +1 -1
  119. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +1 -1
  120. data/lib/songtradr_api_client_ruby/models/playlist_large_dto.rb +16 -16
  121. data/lib/songtradr_api_client_ruby/models/pose.rb +232 -0
  122. data/lib/songtradr_api_client_ruby/models/product_medium_dto.rb +11 -11
  123. data/lib/songtradr_api_client_ruby/models/product_party_dto.rb +16 -16
  124. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +1 -1
  125. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +1 -1
  126. data/lib/songtradr_api_client_ruby/models/recording_large_dto.rb +59 -59
  127. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +1 -1
  128. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +50 -50
  129. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +16 -16
  130. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +1 -1
  131. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +1 -1
  132. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +16 -16
  133. data/lib/songtradr_api_client_ruby/models/recording_playlist_dto.rb +1 -1
  134. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +28 -28
  135. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +1 -1
  136. data/lib/songtradr_api_client_ruby/models/save_file_dto.rb +323 -0
  137. data/lib/songtradr_api_client_ruby/models/save_file_recording_dto.rb +23 -5
  138. data/lib/songtradr_api_client_ruby/models/save_playlist_dto.rb +1 -1
  139. data/lib/songtradr_api_client_ruby/models/save_recording_genre_dto.rb +1 -1
  140. data/lib/songtradr_api_client_ruby/models/save_recording_party_dto.rb +1 -1
  141. data/lib/songtradr_api_client_ruby/models/save_recording_playlist_dto.rb +1 -1
  142. data/lib/songtradr_api_client_ruby/models/save_recording_tag_dto.rb +1 -1
  143. data/lib/songtradr_api_client_ruby/models/save_referrer_dto.rb +1 -1
  144. data/lib/songtradr_api_client_ruby/models/save_taggrams_dto.rb +1 -1
  145. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +1 -1
  146. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +1 -1
  147. data/lib/songtradr_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +1 -1
  148. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +1 -1
  149. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +1 -1
  150. data/lib/songtradr_api_client_ruby/models/smile.rb +223 -0
  151. data/lib/songtradr_api_client_ruby/models/sunglasses.rb +223 -0
  152. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +1 -1
  153. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +1 -1
  154. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +1 -1
  155. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +1 -1
  156. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +1 -1
  157. data/lib/songtradr_api_client_ruby/models/title_dto.rb +1 -1
  158. data/lib/songtradr_api_client_ruby/models/token_request.rb +1 -1
  159. data/lib/songtradr_api_client_ruby/models/track_dto.rb +1 -1
  160. data/lib/songtradr_api_client_ruby/models/track_to_medium_product_dto.rb +1 -1
  161. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +1 -1
  162. data/lib/songtradr_api_client_ruby/models/usage_dto.rb +1 -1
  163. data/lib/songtradr_api_client_ruby/models/user_dto.rb +1 -1
  164. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +227 -0
  165. data/lib/songtradr_api_client_ruby/version.rb +2 -2
  166. data/lib/songtradr_api_client_ruby.rb +36 -1
  167. data/openapi-generator-config.yaml +1 -1
  168. data/songtradr_api_client_ruby.gemspec +1 -1
  169. data/spec/api/admin_users_controller_api_spec.rb +93 -0
  170. data/spec/api/allowed_values_api_spec.rb +1 -1
  171. data/spec/api/api_keys_api_spec.rb +1 -1
  172. data/spec/api/internal_api_api_spec.rb +58 -0
  173. data/spec/api/party_api_spec.rb +1 -1
  174. data/spec/api/playlist_api_spec.rb +13 -1
  175. data/spec/api/recording_api_spec.rb +1 -1
  176. data/spec/api/user_api_spec.rb +25 -1
  177. data/spec/api_client_spec.rb +1 -1
  178. data/spec/configuration_spec.rb +1 -1
  179. data/spec/models/admin_api_create_user_dto_spec.rb +210 -0
  180. data/spec/models/admin_api_update_user_dto_spec.rb +210 -0
  181. data/spec/models/admin_api_user_dto_spec.rb +4 -2
  182. data/spec/models/age_range_spec.rb +42 -0
  183. data/spec/models/api_key_dto_spec.rb +6 -4
  184. data/spec/models/beard_spec.rb +42 -0
  185. data/spec/models/bounding_box_spec.rb +54 -0
  186. data/spec/models/category_medium_dto_spec.rb +4 -2
  187. data/spec/models/category_minimal_dto_spec.rb +4 -2
  188. data/spec/models/config_access_dto_spec.rb +4 -2
  189. data/spec/models/config_identifier_dto_spec.rb +4 -2
  190. data/spec/models/context_value_spec.rb +36 -0
  191. data/spec/models/contributor_type_dto_spec.rb +4 -2
  192. data/spec/models/create_api_key_dto_spec.rb +4 -2
  193. data/spec/models/curate_playlist_dto_spec.rb +60 -0
  194. data/spec/models/curate_playlist_response_dto_spec.rb +36 -0
  195. data/spec/models/dominant_color_spec.rb +72 -0
  196. data/spec/models/emotion_spec.rb +42 -0
  197. data/spec/models/error_response_spec.rb +4 -2
  198. data/spec/models/eye_direction_spec.rb +48 -0
  199. data/spec/models/eye_open_spec.rb +42 -0
  200. data/spec/models/eyeglasses_spec.rb +42 -0
  201. data/spec/models/face_detail_spec.rb +132 -0
  202. data/spec/models/face_detection_spec.rb +42 -0
  203. data/spec/models/face_occluded_spec.rb +42 -0
  204. data/spec/models/field_summary_dto_spec.rb +4 -2
  205. data/spec/models/file_dto_spec.rb +4 -2
  206. data/spec/models/file_list_dto_spec.rb +4 -2
  207. data/spec/models/file_minimal_with_url_dto_spec.rb +4 -2
  208. data/spec/models/file_small_dto_spec.rb +20 -18
  209. data/spec/models/file_upload_dto_spec.rb +4 -2
  210. data/spec/models/file_w_ith_url_dto_spec.rb +4 -2
  211. data/spec/models/files_summary_dto_spec.rb +4 -2
  212. data/spec/models/forgot_password_dto_spec.rb +4 -2
  213. data/spec/models/gender_spec.rb +42 -0
  214. data/spec/models/genre_dto_spec.rb +4 -2
  215. data/spec/models/genre_minimal_dto_spec.rb +4 -2
  216. data/spec/models/genres_summary_dto_spec.rb +4 -2
  217. data/spec/models/image_quality_spec.rb +42 -0
  218. data/spec/models/image_recognition_response_spec.rb +42 -0
  219. data/spec/models/init_put_recording_audio_dto_spec.rb +4 -2
  220. data/spec/models/instance_spec.rb +48 -0
  221. data/spec/models/jwt_token_dto_spec.rb +4 -2
  222. data/spec/models/label_alias_spec.rb +36 -0
  223. data/spec/models/label_category_spec.rb +36 -0
  224. data/spec/models/label_detection_spec.rb +60 -0
  225. data/spec/models/label_spec.rb +66 -0
  226. data/spec/models/landmark_spec.rb +48 -0
  227. data/spec/models/login_dto_spec.rb +4 -2
  228. data/spec/models/mouth_open_spec.rb +42 -0
  229. data/spec/models/musical_features_dto_spec.rb +134 -132
  230. data/spec/models/mustache_spec.rb +42 -0
  231. data/spec/models/p_line_dto_spec.rb +4 -2
  232. data/spec/models/parent_spec.rb +36 -0
  233. data/spec/models/party_large_dto_spec.rb +4 -2
  234. data/spec/models/party_small_dto_spec.rb +4 -2
  235. data/spec/models/playlist_large_dto_spec.rb +10 -8
  236. data/spec/models/pose_spec.rb +48 -0
  237. data/spec/models/product_medium_dto_spec.rb +7 -5
  238. data/spec/models/product_party_dto_spec.rb +6 -4
  239. data/spec/models/recording_for_similarity_search_dto_spec.rb +4 -2
  240. data/spec/models/recording_genre_prediction_dto_spec.rb +4 -2
  241. data/spec/models/recording_large_dto_spec.rb +15 -13
  242. data/spec/models/recording_list_dto_spec.rb +4 -2
  243. data/spec/models/recording_medium_dto_spec.rb +15 -13
  244. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +6 -4
  245. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +4 -2
  246. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +4 -2
  247. data/spec/models/recording_party_dto_spec.rb +6 -4
  248. data/spec/models/recording_playlist_dto_spec.rb +4 -2
  249. data/spec/models/recording_small_dto_spec.rb +6 -4
  250. data/spec/models/recording_tag_small_dto_spec.rb +4 -2
  251. data/spec/models/save_file_dto_spec.rb +108 -0
  252. data/spec/models/save_file_recording_dto_spec.rb +16 -2
  253. data/spec/models/save_playlist_dto_spec.rb +4 -2
  254. data/spec/models/save_recording_genre_dto_spec.rb +4 -2
  255. data/spec/models/save_recording_party_dto_spec.rb +4 -2
  256. data/spec/models/save_recording_playlist_dto_spec.rb +4 -2
  257. data/spec/models/save_recording_tag_dto_spec.rb +4 -2
  258. data/spec/models/save_referrer_dto_spec.rb +4 -2
  259. data/spec/models/save_taggrams_dto_spec.rb +4 -2
  260. data/spec/models/save_user_dto_spec.rb +4 -2
  261. data/spec/models/search_filter_values_dto_spec.rb +4 -2
  262. data/spec/models/search_recording_granular_abstraction_dto_spec.rb +4 -2
  263. data/spec/models/search_recording_granular_dto_spec.rb +4 -2
  264. data/spec/models/sign_up_dto_spec.rb +4 -2
  265. data/spec/models/smile_spec.rb +42 -0
  266. data/spec/models/sunglasses_spec.rb +42 -0
  267. data/spec/models/tag_dto_spec.rb +4 -2
  268. data/spec/models/tag_small_dto_spec.rb +4 -2
  269. data/spec/models/taggram_dto_spec.rb +4 -2
  270. data/spec/models/tags_summary_dto_spec.rb +4 -2
  271. data/spec/models/tagstrength_dto_spec.rb +4 -2
  272. data/spec/models/title_dto_spec.rb +4 -2
  273. data/spec/models/token_request_spec.rb +4 -2
  274. data/spec/models/track_dto_spec.rb +4 -2
  275. data/spec/models/track_to_medium_product_dto_spec.rb +4 -2
  276. data/spec/models/update_password_dto_spec.rb +4 -2
  277. data/spec/models/usage_dto_spec.rb +4 -2
  278. data/spec/models/user_dto_spec.rb +4 -2
  279. data/spec/models/video_recognition_response_spec.rb +42 -0
  280. data/spec/spec_helper.rb +1 -1
  281. metadata +201 -61
@@ -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.5
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,18 @@ module SongtradrApiClientRuby
90
51
  # Search for rhythm
91
52
  attr_accessor :rhythm
92
53
 
54
+ # Search for roughness
55
+ attr_accessor :roughness
56
+
57
+ # Search for a tonal scale
58
+ attr_accessor :scale
59
+
60
+ # Search for type of sound generation
61
+ attr_accessor :sound_generation
62
+
63
+ # Search for tempo
64
+ attr_accessor :tempo
65
+
93
66
  attr_accessor :primary_mood_cluster_affinity
94
67
 
95
68
  # Search for a language of the lyrics
@@ -183,6 +156,33 @@ module SongtradrApiClientRuby
183
156
 
184
157
  attr_accessor :audience_region
185
158
 
159
+ # Search for texture
160
+ attr_accessor :texture
161
+
162
+ # Search for timbre
163
+ attr_accessor :timbre
164
+
165
+ # Search for tonality
166
+ attr_accessor :tonality
167
+
168
+ # Search for a valence
169
+ attr_accessor :valence
170
+
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
185
+
186
186
  attr_accessor :valence_affinity
187
187
 
188
188
  attr_accessor :arousal_affinity
@@ -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,10 @@ module SongtradrApiClientRuby
266
253
  :'primary_mood_cluster' => :'primaryMoodCluster',
267
254
  :'primary_sound_character' => :'primarySoundCharacter',
268
255
  :'rhythm' => :'rhythm',
256
+ :'roughness' => :'roughness',
257
+ :'scale' => :'scale',
258
+ :'sound_generation' => :'soundGeneration',
259
+ :'tempo' => :'tempo',
269
260
  :'primary_mood_cluster_affinity' => :'primaryMoodClusterAffinity',
270
261
  :'secondary_mood_cluster' => :'secondaryMoodCluster',
271
262
  :'secondary_mood_cluster_affinity' => :'secondaryMoodClusterAffinity',
@@ -310,6 +301,15 @@ module SongtradrApiClientRuby
310
301
  :'industry_suitability' => :'industrySuitability',
311
302
  :'industry_suitability_affinity' => :'industrySuitabilityAffinity',
312
303
  :'audience_region' => :'audienceRegion',
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',
313
313
  :'valence_affinity' => :'valenceAffinity',
314
314
  :'arousal_affinity' => :'arousalAffinity',
315
315
  :'pleasantness_affinity' => :'pleasantnessAffinity',
@@ -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,10 @@ module SongtradrApiClientRuby
362
349
  :'primary_mood_cluster' => :'String',
363
350
  :'primary_sound_character' => :'String',
364
351
  :'rhythm' => :'String',
352
+ :'roughness' => :'String',
353
+ :'scale' => :'String',
354
+ :'sound_generation' => :'String',
355
+ :'tempo' => :'String',
365
356
  :'primary_mood_cluster_affinity' => :'Float',
366
357
  :'secondary_mood_cluster' => :'String',
367
358
  :'secondary_mood_cluster_affinity' => :'Float',
@@ -406,6 +397,15 @@ module SongtradrApiClientRuby
406
397
  :'industry_suitability' => :'String',
407
398
  :'industry_suitability_affinity' => :'Float',
408
399
  :'audience_region' => :'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',
409
409
  :'valence_affinity' => :'Float',
410
410
  :'arousal_affinity' => :'Float',
411
411
  :'pleasantness_affinity' => :'Float',
@@ -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,22 @@ module SongtradrApiClientRuby
546
494
  self.rhythm = attributes[:'rhythm']
547
495
  end
548
496
 
497
+ if attributes.key?(:'roughness')
498
+ self.roughness = attributes[:'roughness']
499
+ end
500
+
501
+ if attributes.key?(:'scale')
502
+ self.scale = attributes[:'scale']
503
+ end
504
+
505
+ if attributes.key?(:'sound_generation')
506
+ self.sound_generation = attributes[:'sound_generation']
507
+ end
508
+
509
+ if attributes.key?(:'tempo')
510
+ self.tempo = attributes[:'tempo']
511
+ end
512
+
549
513
  if attributes.key?(:'primary_mood_cluster_affinity')
550
514
  self.primary_mood_cluster_affinity = attributes[:'primary_mood_cluster_affinity']
551
515
  end
@@ -722,6 +686,42 @@ module SongtradrApiClientRuby
722
686
  self.audience_region = attributes[:'audience_region']
723
687
  end
724
688
 
689
+ if attributes.key?(:'texture')
690
+ self.texture = attributes[:'texture']
691
+ end
692
+
693
+ if attributes.key?(:'timbre')
694
+ self.timbre = attributes[:'timbre']
695
+ end
696
+
697
+ if attributes.key?(:'tonality')
698
+ self.tonality = attributes[:'tonality']
699
+ end
700
+
701
+ if attributes.key?(:'valence')
702
+ self.valence = attributes[:'valence']
703
+ end
704
+
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']
723
+ end
724
+
725
725
  if attributes.key?(:'valence_affinity')
726
726
  self.valence_affinity = attributes[:'valence_affinity']
727
727
  end
@@ -801,6 +801,28 @@ 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
+ 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"])
805
+ return false unless language_of_performance_validator.valid?(@language_of_performance)
806
+ arousal_validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
807
+ return false unless arousal_validator.valid?(@arousal)
808
+ 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"])
809
+ return false unless dominant_instrument_validator.valid?(@dominant_instrument)
810
+ energy_validator = EnumAttributeValidator.new('String', ["very quiet", "quiet", "moderate", "loud", "very loud", "dynamic"])
811
+ return false unless energy_validator.valid?(@energy)
812
+ engagement_validator = EnumAttributeValidator.new('String', ["very unengaging", "unengaging", "neutral engagement", "engaging", "very engaging", "varying engagement"])
813
+ return false unless engagement_validator.valid?(@engagement)
814
+ groovyness_validator = EnumAttributeValidator.new('String', ["very steady", "steady", "moderate rhythm feel", "groovy", "very groovy"])
815
+ return false unless groovyness_validator.valid?(@groovyness)
816
+ harmony_validator = EnumAttributeValidator.new('String', ["very dissonant", "dissonant", "moderate harmonies", "harmonious", "very harmonious"])
817
+ return false unless harmony_validator.valid?(@harmony)
818
+ pleasantness_validator = EnumAttributeValidator.new('String', ["very unpleasant", "unpleasant", "neutral pleasantness", "pleasant", "very pleasant", "varying pleasantness"])
819
+ return false unless pleasantness_validator.valid?(@pleasantness)
820
+ primary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
821
+ return false unless primary_mood_cluster_validator.valid?(@primary_mood_cluster)
822
+ primary_sound_character_validator = EnumAttributeValidator.new('String', ["brassy", "bright", "clear", "deep", "distorted", "flat", "full", "groovy", "melodious", "natural", "resonant", "shrill", "steady", "thin", "warm"])
823
+ return false unless primary_sound_character_validator.valid?(@primary_sound_character)
824
+ rhythm_validator = EnumAttributeValidator.new('String', ["common time", "triple meter", "complex time signature", "binary rhythm", "ternary rhythm"])
825
+ return false unless rhythm_validator.valid?(@rhythm)
804
826
  roughness_validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
805
827
  return false unless roughness_validator.valid?(@roughness)
806
828
  scale_validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
@@ -809,46 +831,6 @@ module SongtradrApiClientRuby
809
831
  return false unless sound_generation_validator.valid?(@sound_generation)
810
832
  tempo_validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
811
833
  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
- 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
- return false unless language_of_performance_validator.valid?(@language_of_performance)
832
- arousal_validator = EnumAttributeValidator.new('String', ["very calm", "calm", "moderate arousal", "energetic", "very energetic", "varying arousal"])
833
- return false unless arousal_validator.valid?(@arousal)
834
- 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"])
835
- return false unless dominant_instrument_validator.valid?(@dominant_instrument)
836
- energy_validator = EnumAttributeValidator.new('String', ["very quiet", "quiet", "moderate", "loud", "very loud", "dynamic"])
837
- return false unless energy_validator.valid?(@energy)
838
- engagement_validator = EnumAttributeValidator.new('String', ["very unengaging", "unengaging", "neutral engagement", "engaging", "very engaging", "varying engagement"])
839
- return false unless engagement_validator.valid?(@engagement)
840
- groovyness_validator = EnumAttributeValidator.new('String', ["very steady", "steady", "moderate rhythm feel", "groovy", "very groovy"])
841
- return false unless groovyness_validator.valid?(@groovyness)
842
- harmony_validator = EnumAttributeValidator.new('String', ["very dissonant", "dissonant", "moderate harmonies", "harmonious", "very harmonious"])
843
- return false unless harmony_validator.valid?(@harmony)
844
- pleasantness_validator = EnumAttributeValidator.new('String', ["very unpleasant", "unpleasant", "neutral pleasantness", "pleasant", "very pleasant", "varying pleasantness"])
845
- return false unless pleasantness_validator.valid?(@pleasantness)
846
- primary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
847
- return false unless primary_mood_cluster_validator.valid?(@primary_mood_cluster)
848
- primary_sound_character_validator = EnumAttributeValidator.new('String', ["brassy", "bright", "clear", "deep", "distorted", "flat", "full", "groovy", "melodious", "natural", "resonant", "shrill", "steady", "thin", "warm"])
849
- return false unless primary_sound_character_validator.valid?(@primary_sound_character)
850
- rhythm_validator = EnumAttributeValidator.new('String', ["common time", "triple meter", "complex time signature", "binary rhythm", "ternary rhythm"])
851
- return false unless rhythm_validator.valid?(@rhythm)
852
834
  secondary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
853
835
  return false unless secondary_mood_cluster_validator.valid?(@secondary_mood_cluster)
854
836
  tertiary_mood_cluster_validator = EnumAttributeValidator.new('String', ["aggressive", "amusing", "anxious", "calm", "devotional", "dreamy", "energetic", "enigmatic", "epic", "erotic", "positive", "sad", "scary", "wild"])
@@ -881,6 +863,24 @@ module SongtradrApiClientRuby
881
863
  return false unless industry_suitability_validator.valid?(@industry_suitability)
882
864
  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
865
  return false unless audience_region_validator.valid?(@audience_region)
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,46 @@ module SongtradrApiClientRuby
1136
1006
  @rhythm = rhythm
1137
1007
  end
1138
1008
 
1009
+ # Custom attribute writer method checking allowed values (enum).
1010
+ # @param [Object] roughness Object to be assigned
1011
+ def roughness=(roughness)
1012
+ validator = EnumAttributeValidator.new('String', ["very clear", "clear", "moderate roughness", "distorted", "very distorted"])
1013
+ unless validator.valid?(roughness)
1014
+ fail ArgumentError, "invalid value for \"roughness\", must be one of #{validator.allowable_values}."
1015
+ end
1016
+ @roughness = roughness
1017
+ end
1018
+
1019
+ # Custom attribute writer method checking allowed values (enum).
1020
+ # @param [Object] scale Object to be assigned
1021
+ def scale=(scale)
1022
+ validator = EnumAttributeValidator.new('String', ["major key", "minor key", "neutral key"])
1023
+ unless validator.valid?(scale)
1024
+ fail ArgumentError, "invalid value for \"scale\", must be one of #{validator.allowable_values}."
1025
+ end
1026
+ @scale = scale
1027
+ end
1028
+
1029
+ # Custom attribute writer method checking allowed values (enum).
1030
+ # @param [Object] sound_generation Object to be assigned
1031
+ def sound_generation=(sound_generation)
1032
+ validator = EnumAttributeValidator.new('String', ["acoustic", "electric", "electronic", "mixed sound generation"])
1033
+ unless validator.valid?(sound_generation)
1034
+ fail ArgumentError, "invalid value for \"sound_generation\", must be one of #{validator.allowable_values}."
1035
+ end
1036
+ @sound_generation = sound_generation
1037
+ end
1038
+
1039
+ # Custom attribute writer method checking allowed values (enum).
1040
+ # @param [Object] tempo Object to be assigned
1041
+ def tempo=(tempo)
1042
+ validator = EnumAttributeValidator.new('String', ["very slow", "slow", "mid-tempo", "fast", "very fast", "varying tempo"])
1043
+ unless validator.valid?(tempo)
1044
+ fail ArgumentError, "invalid value for \"tempo\", must be one of #{validator.allowable_values}."
1045
+ end
1046
+ @tempo = tempo
1047
+ end
1048
+
1139
1049
  # Custom attribute writer method checking allowed values (enum).
1140
1050
  # @param [Object] secondary_mood_cluster Object to be assigned
1141
1051
  def secondary_mood_cluster=(secondary_mood_cluster)
@@ -1296,6 +1206,96 @@ module SongtradrApiClientRuby
1296
1206
  @audience_region = audience_region
1297
1207
  end
1298
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
+ end
1298
+
1299
1299
  # Custom attribute writer method checking allowed values (enum).
1300
1300
  # @param [Object] key Object to be assigned
1301
1301
  def key=(key)
@@ -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,10 @@ 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
+ roughness == o.roughness &&
1327
+ scale == o.scale &&
1328
+ sound_generation == o.sound_generation &&
1329
+ tempo == o.tempo &&
1339
1330
  primary_mood_cluster_affinity == o.primary_mood_cluster_affinity &&
1340
1331
  secondary_mood_cluster == o.secondary_mood_cluster &&
1341
1332
  secondary_mood_cluster_affinity == o.secondary_mood_cluster_affinity &&
@@ -1380,6 +1371,15 @@ module SongtradrApiClientRuby
1380
1371
  industry_suitability == o.industry_suitability &&
1381
1372
  industry_suitability_affinity == o.industry_suitability_affinity &&
1382
1373
  audience_region == o.audience_region &&
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 &&
1383
1383
  valence_affinity == o.valence_affinity &&
1384
1384
  arousal_affinity == o.arousal_affinity &&
1385
1385
  pleasantness_affinity == o.pleasantness_affinity &&
@@ -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, roughness, scale, sound_generation, tempo, 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, texture, timbre, tonality, valence, vocals, origin_decade, curateability, use_case, channel_suitability, 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
1411
1411
  end
1412
1412
 
1413
1413
  # Builds the object from hash