- Create metadataController to orchestrate the retrieval of metadata for given recording IDs.
- Develop metadataRetrieval for direct API communication with MusicBrainz, handling request execution and response parsing.
- Implement musicBrainzApiErrorHandler from scratch to provide specific error messages for different HTTP response codes related to MusicBrainz API requests.
- Ensure complete integration across newly written components for a cohesive metadata retrieval flow.
These changes establish a new MusicBrainz API integration system that facilitates metadata retrieval with comprehensive error handling features, improving the resilience and maintainability of the application.
- Transitioned audio recognition in audioRecognition service from Audd API to AcoustID, leveraging audio fingerprinting instead of direct audio file analysis.
- Created acoustidApiErrorHandler for modular error handling within the audioRecognition service.
- Developed a retry mechanism for axios requests in the retryAxios service to enhance robustness.
- Added dependencies on fpcalc and chromaprint to generate audio fingerprints, now required to be installed and set in the system PATH for Windows environments.
Removed all files, dependencies, and mentions related to the AuDD API. Cleaned up the src directory, removing all non-developed or unused items, as part of a major cleanup. This change is due to the strategic shift towards using audio fingerprinting for song recognition, as opposed to sending the raw audio file itself.
Remove dotenv package and update the application to use Node.jss built-in --env-file flag for loading environment variables. This change is made to simplify the configuration by utilizing native capabilities introduced in Node.js v16.x.x.