songtradr_api_client_ruby 1.13.4 → 1.13.6

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