Code Monkey home page Code Monkey logo

cuegen's People

Contributors

johnsome avatar mganss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cuegen's Issues

Enhancement: Offset cue

Hi, thx for a great piece of software.

One little enhancement wish though. It would be great if you could add an offset backbeat to a drop or phrase group.

Today a cue is set at the start of a phrase group. If one could add option i.e. "-backbeat=-16" then the cue would be set 16 beats prior to the start of the phrase.

Hope it makes sense.
Tia

rekordbox cloud

when using rekordbox cloud sync none of the files are found, in rekordbox the path seems to be dropbox/folder/file

is there a way to input in the rest of the path to the dropbox folder?

Not working on Macbook M1

Hi,

Would it be possible to get this running on Macbook M1 architecture? Would love to use it.

Error trying this:
Error: Error occurred during creation of cues for "99993103" from "..." System.IO.FileNotFoundException: Could not find file '...'.
File name: '...'
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String , OpenFlags , Int32 )
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String , FileMode , FileAccess , FileShare , FileOptions , Int64 )
at System.IO.Strategies.OSFileStreamStrategy..ctor(String , FileMode , FileAccess , FileShare , FileOptions , Int64 )
at TagLib.File.LocalFileAbstraction.get_ReadStream()
at TagLib.File.set_Mode(AccessMode value)
at TagLib.NonContainer.File.Read(ReadStyle propertiesStyle) at TagLib.File.Create(IFileAbstraction abstraction, String mimetype, ReadStyle propertiesStyle)
at CueGen.TagFile..ctor(String filePath)
at CueGen.Content.GetTag()
at CueGen.Generator.CreateCuesForContent(UInt64& maxId, SQLiteConnection db, Content content)
at SQLite.SQLiteConnection.RunInTransaction(Action action)
at CueGen.Generator.Generate()

Ability To Write Serato Cue Points

Not an issue, but it sure would be amazing to be able to write rekordbox cue points as serato cue points. I was looking through the code and i see the definitions of how you are reading in the serato cue points (it's all a bit foreign to me). I don't have mixed in key, but would love for rekordbox to be able to analyze (phrase/bpm/beatgrid) and then just apply the same cue points your applying to the rekordbox database to the actual MP3's.

access to path denied error on macOS

I am getting the following error for every track when using on macOS Monterey, even with sudo:

Error: Error occurred during creation of cues for "99638553" from "FILEPATH.mp3" System.UnauthorizedAccessException: Access to the path 'FILEPATH.mp3' is denied.
 ---> System.IO.IOException: Operation not permitted
   --- End of inner exception stack trace ---
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String , OpenFlags , Int32 )
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String , FileMode , FileAccess , FileShare , FileOptions , Int64 )
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String , FileMode , FileAccess , FileShare , FileOptions , Int64 )
   at TagLib.File.LocalFileAbstraction.get_ReadStream()
   at TagLib.File.set_Mode(AccessMode value)
   at TagLib.NonContainer.File.Read(ReadStyle propertiesStyle)   at TagLib.File.Create(IFileAbstraction abstraction, String mimetype, ReadStyle propertiesStyle)
   at CueGen.TagFile..ctor(String filePath)
   at CueGen.Content.GetTag()
   at CueGen.Generator.CreateCuesForContent(UInt64& maxId, SQLiteConnection db, Content content)
   at SQLite.SQLiteConnection.RunInTransaction(Action action)
   at CueGen.Generator.Generate()

Mac OS Error Message "Error: Error occurred during creation of cues"

Error: Error occurred during creation of cues for "49682660" from "/Users/Anonymous/Downloads/track.mp3" System.FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
at System.Convert.FromBase64String(String s)
at CueGen.TagFile..ctor(String filePath)
at CueGen.Generator.CreateCuesForContent(UInt64& maxId, SQLiteConnection db, Content content)
at CueGen.Generator.<>c__DisplayClass19_3.b__8()
at SQLite.SQLiteConnection.RunInTransaction(Action action)
at CueGen.Generator.Generate()

I got this for every mp3 file.

Rekordbox 6.5.x not recognizing the changes

Hello,

I’ve used the .exe to set the cue points but it seems that they are not appearing in the rekordbox 6. The progress mark so fine and is executing successfully finishing at 100%. Also I’ve checked the modified date for the .db file and it’s modified when I called the script.

do you have any suggestions?

Thank you for your work !

Mac OS Version

Hi,

i use your Tool for Windows and it works awesome. I'm very interesting in to get a Version for Mac OS.
It would be great if you make my dreams come true. :)

Regards,
William

Cue point 32 beats before Chorus

Hi,

Thank you for your work, it's a great great tools :)

I would like ask you if possible that create a cue point 32 bets before the Chorus ?

I try with 2 run of your tool but when I start the second run all cue point is deleted ?

I use your tool withe the phaser mode

Thanks

GUI version

1st! i love your tool, it's great and don't know why MiK use that great way by themselfs.

So you said if someone is intertrested in a GUI, he should write a issu. So i do it here. A lot of my DJ Friends like to use it to but never used console stuff - so they would happy to have an GUI version. THXAL

Option to snap to hot cue point

Is there an option to set memory cues from a hot cue point? I have already manually set some hot cue points for my tracks but the merge option doesn't seem to work with hot cues. Ideally I would need memory cues 8 or 16 bars from the hot cue point in each direction.

It will also throw an error when running --phrase-length 16 -m -s

Error: Error occurred during creation of cues for "192498168" from "C:/Music/DnB 2022/01 - Break & Total Science - Blame You.mp3" System.FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
at System.Convert.FromBase64CharPtr(Char* , Int32 )
at System.Convert.FromBase64String(String s)
at CueGen.TagFile..ctor(String filePath)
at CueGen.Content.GetTag()
at CueGen.Generator.CreateCuesForContent(UInt64& maxId, SQLiteConnection db, Content content)
at CueGen.Generator.<>c__DisplayClass20_3.b__6()
at SQLite.SQLiteConnection.RunInTransaction(Action action)
at CueGen.Generator.Generate()

Enhancement: Simultaneous creation of Memory and Hot Cues

Hi Michael, this is an excellent tool - thank you for creating it!
I've spent the evening testing it with my rekordbox library though I wasn't able to get it to generate both Memory and Hot Cues for my tracks.
(Why would one want to do this? Hot Cues are very handy on DJ Controllers, but older club gear and displays tend to only support Memory Cues - so personally I use them both the same way, with manually added memory cues where I want warnings etc).

Currently, if I have the tool generate one and then the other, they overwrite each other, even when using --merge.
Is this possible and I'm just holding it wrong?
Or if not, could it be implemented as an option?
Thanks in advance!

MacOS broken?

Struggling to get this working on MacOS.

Zip extracts CueGen.Console - Yet I'm not able to run this at all. Am I missing something obvious?

No merge?

Hi, first of all....great piece of software 👍

I want to add hotcues as well as memory cues to my tracks. I'm not using MIK.

The first run creating the hotcues with --prhase is working very well.
Then I want to add some memory cues 16 bars prior to Chorus and Down phrases, but can't seem to make it work.
This: CueGen.Console --merge --names=Chorus --phrase --offset=-16 is deleting the hotcues and placing memory cue 16 bars prior to every phase....can you help?

Error: Error occurred during creation of cues

Hey. Got this error:

   at TagLib.File.Create(IFileAbstraction abstraction, String mimetype, ReadStyle propertiesStyle)
   at CueGen.TagFile..ctor(String filePath)
   at CueGen.Content.GetTag()
   at CueGen.Generator.CreateCuesForContent(UInt64& maxId, SQLiteConnection db, Content content)
   at CueGen.Generator.<>c__DisplayClass20_3.<Generate>b__6()
   at SQLite.SQLiteConnection.RunInTransaction(Action action)
   at CueGen.Generator.Generate()

Can you help please? Is it some kind permission issue or something else?

disable merge

i want to disable the merge function. How could i do that?
I think -m for merge is enabled for default.

Error - Not valid base64 string

Hi, throwing this error on all but 2 songs when I try to add cues:

Error occurred during creation of cues for "96617" from "C:/Users/hears/Desktop/Stuff For LEvels/swedish_house_mafia_-don't_you_worry_child(intro_edit).mp3" System.FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
at System.Convert.FromBase64CharPtr(Char* , Int32 )
at System.Convert.FromBase64String(String s)
at CueGen.TagFile..ctor(String filePath)
at CueGen.Content.GetTag()
at CueGen.Generator.CreateCuesForContent(UInt64& maxId, SQLiteConnection db, Content content)
at CueGen.Generator.<>c__DisplayClass20_3.b__6()
at SQLite.SQLiteConnection.RunInTransaction(Action action)
at CueGen.Generator.Generate()

Any clue how to fix this?

Couple of errors

Hi

Great tool. Im getting some errors. about 50% of my library throws an error-
Could not find part of the path
1172/1172Error: Error occurred during creation of cues for "9978813" from "G:/Rekordbox Tracks/Toolroom Ibiza/Ten Story - At The Downlow (Original Mix).mp3" System.IO.DirectoryNotFoundException: Could not find a part of the path 'G:\Rekordbox Tracks\Toolroom Ibiza\Ten Story - At The Downlow (Original Mix).mp3'.
at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String , FileMode , FileAccess , FileShare , FileOptions )
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String , FileMode , FileAccess , FileShare , FileOptions , Int64 )
at System.IO.Strategies.OSFileStreamStrategy..ctor(String , FileMode , FileAccess , FileShare , FileOptions , Int64 )
at TagLib.File.LocalFileAbstraction.get_ReadStream()
at TagLib.File.set_Mode(AccessMode value)
at TagLib.NonContainer.File.Read(ReadStyle propertiesStyle) at TagLib.File.Create(IFileAbstraction abstraction, String mimetype, ReadStyle propertiesStyle)
at CueGen.TagFile..ctor(String filePath)
at CueGen.Content.GetTag()
at CueGen.Generator.CreateCuesForContent(UInt64& maxId, SQLiteConnection db, Content content)
at SQLite.SQLiteConnection.RunInTransaction(Action action)
at CueGen.Generator.Generate()

I cannot remove any cuepoints added by this program.
I cannot create memory points (not clear on how to do this)

Question. Can the phrase "Chorus" be renamed to drop? I can see a function but cant rename.

A UI version would be amazing, id share it with the Rekordbox groups im involved in for sure

Thanks

Upgraded MIK 8->10 error

Hi Michael,
I've upgraded my MIK to version 10 and I can't get cuegen to add cues to my DB anymore. Is there a way to reset it all?

Script runs with no errors but rekordbox showing no cues

First off, huge kudos on this project. Super useful.

I'm running this on OSX, Rekordbox 6.7.0. I'm trying to run it on 1 specific file to test it out. Here's the command I'm using:

./CueGen.Console -p -v trace -g "/Users/danyal/Google Drive/My Drive/Music/DJ/lossless/Dale Howard - Drums.aiff"

I want it to generate the cue points using phrase, not mixed in key. File is analyzed and has analysis lock on. Here's the output:

Information: Starting CueGen version "1.0.34.0"
Information: Rekordbox database is at "/Users/danyal/Library/Pioneer/rekordbox/master.db"
Information: Creating database backup at "/Users/danyal/Library/Pioneer/rekordbox/master.backup.2023-04-20-18-45-20.db"
Information: Getting contents from database "/Users/danyal/Library/Pioneer/rekordbox/master.db"
Information: 2371 contents read
Information: Getting cues from database "/Users/danyal/Library/Pioneer/rekordbox/master.db"
Information: 12 cues read
Information: Getting contentCues from database "/Users/danyal/Library/Pioneer/rekordbox/master.db"
Information: 28 contentCues read
Information: Getting SongMyTags from database "/Users/danyal/Library/Pioneer/rekordbox/master.db"
Information: 12066 songMyTags read
Information: Finished cue points creation without errors

Do you support Flac files ?

Your tool is awesome.
But unfortunately nothing happens for Flac files :

nformation: Reading tag for "99983284" from "/Users/XXXXX/XXXX/XXX/XX XX/73 - Bastille - Revolution.flac"
Information: Found 0 cue points
Information: Removing existing generated cue points for "99983284"
Information: Can create 8 cue points
Information: Updating contentCue "043db43a-054c-4a92-9c6a-35ec40af1d4f"
Information: Finished cue points creation with errors

I see cue points in MIK

MacOS : "System.NullReferenceException: Object reference not set to an instance of an object" for every mp3 in the library

Steps :

  1. Analyzed tracks in Rekordbox and then quit it.
  2. Imported the same tracks in MIK and analysed for key, with serato option checked, exported cue points for the entire collection.

Tried cuegen after these 2 steps and got the error as pasted in Title. Cue points were not visible at all by this time.
So, went ahead with a workaround to import cue points in Rekordbox, step 3 is that workaround.
3. Used a third party app called "MIXO". Imported the same tracks to which cues were written in step 2, into mixo, and exported as rekordbox xml.
4. Imported this Rekordbox xml into rekordbox through xml browse feature in settings, successfully got colour coded hot cues on entire library. But for some tracks these hot cues were all aligned, while for others they were a little off, while way too off(more than a beat or two at around 110bpm) for a few tracks.
5. Again backed up entire library with backup music as well option, for just in case, quit rekordbox.
6. went to cuegen again, thinking that maybe earlier error was coming as cue points were not visible at all, but same error displayed for every song in the library.

Version and other details are here :
Mac OS High Sierra
Rekordbox 6.5.3
Mixed in Key 8.5.3
Mixo 0.39.0

Here attaching an Mp3 file by going to finder and into rekordbox backed up music files, so as per its latest state I believe.
0377013E_74. DJ Snake - Let Me Love You.mp3.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.