ScannerIntegration

Erland Isaksson edited this page Dec 31, 2015 · 1 revision

Introduction

This is a brief description of the current ideas regarding scanner integration. The purpose of the scanner integration is to:

  • Make it possible connect SBS standard tables with the Social Music Discovery database tables
  • Make it possible to import tag information into the Social Music Discovery database tables

Details

The general idea during scanning is:

  1. Standard SBS scanner will scan a music file
  2. The Social Music Discovery plugin will get a callback after the track has been stored in the standard SBS database tracks table
  3. In the callback, we will calculate a unique id for the music file. At the moment the plan is to calculate a SHA256 based on the audio bytes in the music file.
  4. The unique id will be stored in the tracks table in SBS database in a new column

Questions to answer:

  1. Should we use SHA256 for the unique id which is used in the relation between SBS database and Social Music Discovery database ?
  2. If SHA256 is selected, which implementation should we choose ?
  3. Should we use the interger based tracks.id column or the SHA256 column in database relations ? 1. Do we even need to join between the different databases ? 1. Is there a difference in performance when joining integer columns compared to varchar(64) columns ?
  4. How does an added track during SBS scanning affect our DB ?
  5. How does a removed track during SBS scanning affect our DB ?
  6. How does an updated track during SBS scanning affect our DB ?
  7. Do we need to be able to pre-calculate the unique id to improve performance of scanning on slow hardware ? * If it's needed we can implement a separate tool that calculates the id and stores it in a custom tag. The scanner can read the custom tag and use the id in it if it exists and only calculate if the custom tag isn't available. * We need to tool that can verify the id in the custom tag towards a newly calculated id based on the lastest audio data in the file
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.