Gibson Guitar Board: Key Tag - Gibson Guitar Board

Jump to content

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Key Tag

#21 User is offline   BeatJacker 

  • Member
  • Group: Members
  • Posts: 16
  • Joined: 27-January 17

  Posted 05 April 2017 - 04:25 PM

View PostBeatJacker, on 04 March 2017 - 02:56 PM, said:

Would you agree it's fair to keep the DD database and the ID3 tag data in sync with each other? Anytime you try to read in data, you read it first from the ID3 tags (if they have data), and write the data to the DD database, so that data created in other DJ software doesn't have to be recreated from scratch, and waste so much time. Anytime you write the DD database, you also write it to the ID3 tags, so the data that you create will carry over to other DJ software without wasting time remaking it.


Bump. Any comment, Luis, about the general plan: READ FROM ALL sources of data (ID3 tags, local DD database file), and when the user updates any data, WRITE TO ALL sources of data (ID3 tags, local DD database file). The goal being, to ALWAYS read that valuable data which my other DJ software happens to have saved in those ID3 tags. And, to ALWAYS write the data back out to those ID3 tags, so that my other DJ software will be up to date, and on the same page. Not only on first time the app starts, or first time you import some tracks. But EVERY TIME you read or write ANY of the data, at ANY point while running DD. Make sense?
0

#22 User is offline   Luis Serrano 

  • Moderator
  • Group: Gibson Pro Audio
  • Posts: 478
  • Joined: 30-April 15

Posted 06 April 2017 - 05:16 PM

It makes sense but there are some problems to solve:

- Discover the different "private" tags used by other programs (every program will be different). Not all the important data is stored in the tags (cues, loops...).
- Find a way to update DD's database when other programs change this data (...ideally without spending too much time checking all the items in the database).

There are some programs out there that converts the database from one dj program to others, they don't use tags, just the database. The reason is that except the more common tags (artist, tittle, genre...), all the important Dj data stuff is stored in the custom databases that every program have.

You only have to look at the "rating" or "bpm" tags to see how difficult is to handle tags, they are used differently by programs, there isn't any standard way to do it, and it's even more difficult when handling tags for different formats (mp3, mp4, flac, ogg, ...etc.). It's a mess to be honest.
1

#23 User is offline   BeatJacker 

  • Member
  • Group: Members
  • Posts: 16
  • Joined: 27-January 17

Posted 18 April 2017 - 12:22 AM

View PostLuis Serrano, on 06 April 2017 - 05:16 PM, said:

It makes sense but there are some problems to solve:

- Discover the different "private" tags used by other programs (every program will be different). Not all the important data is stored in the tags (cues, loops...).
- Find a way to update DD's database when other programs change this data (...ideally without spending too much time checking all the items in the database).

There are some programs out there that converts the database from one dj program to others, they don't use tags, just the database. The reason is that except the more common tags (artist, tittle, genre...), all the important Dj data stuff is stored in the custom databases that every program have.

You only have to look at the "rating" or "bpm" tags to see how difficult is to handle tags, they are used differently by programs, there isn't any standard way to do it, and it's even more difficult when handling tags for different formats (mp3, mp4, flac, ogg, ...etc.). It's a mess to be honest.


You're right. It's a bit of a mess. This is why it's best to use a "persistence layer" which is basically a class of code whose only job is to detect the type of digital audio file (mp3, m4a, ogg, wav, etc.) for each track, and this persistence layer class will simultaneously create/read/update/delete the data into a corresponding correct audio-file specific tag, which depend on the type of audio file it has detected, and also simultaneously, create/read/update/delete the information about the track to the DD database.

All DD needs to do is make a call to the persistence layer, for example, to "read in all data about this track", and the persistence layer decides how best to do that, and does it. Same for create the data, update the data, and delete the data.
0

Share this topic:


  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users