Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support multiple library folders. #21

Merged
merged 91 commits into from
Dec 5, 2013
Merged

Conversation

kain88-de
Copy link
Member

Enable Mixxx to handle several Library Folders and add an option to move them to another location without dataloss.

Directories can also be added from the browse-view

"REPLACE(location," %escaper.escapeString(oldFolder)%","% escaper.escapeString(newFolder)%")"
", directory="
"REPLACE(directory,"% escaper.escapeString(oldFolder)%","% escaper.escapeString(newFolder)%") "
"WHERE track_locations.maindir_id = "%QString::number(dirId) );
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm having problems with this part of the code. When I run the relocation query inside of mixxx it does not work. But when I use the generated query directly with sqlite3 everything is fine. This worked before so I have no clue what the error might be

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're probably hitting issues because the column values are double-escaped (see my other comments on using FieldEscaper).

(Also, the commented bindValues below don't need FieldEscaper)

The new algorithm walks up the directory tree and check if he finds the
possible parent. This is better and easier then the old version. I also
adopted the tests to create real temporary folders.
@kain88-de
Copy link
Member Author

I already fixed some of you comments. I'll do the rest tomorrow. Before we merge this I would really like to run my tests on windows and for this I need the libchromaprint binary from the buildserver. According to the docs Qt handles the differences in Windows and Unix style filepaths but I want to be sure before merging this.

Also for the corner case it would be really nice if you can explain it. I figure since I'm the dev for this feature I should understand possible corner cases

@rryan
Copy link
Member

rryan commented Dec 5, 2013

Thanks! I think you can test the symlinks using QFile::link to create links between your temp directories.

As for the slashes, Qt definitely handles this for us. This is slightly embarrassing but I couldn't figure out how to push the latest winlib with TortoiseBzr. It kept failing and I gave up a few months ago. I'll try again.

@rryan
Copy link
Member

rryan commented Dec 5, 2013

OK, I pushed the latest 1.12 dependencies here: https://github.com/mixxxdj/winlib. It was high time we ditched Bazaar for hosting winlib anyway.

@kain88-de
Copy link
Member Author

Ah nice. I updated the wiki with the new location of winlib. I'll have time on the weekend to test everything

@rryan
Copy link
Member

rryan commented Dec 5, 2013

Cool - I actually think it'd be fine if you merge it now (after fixing the other minor comments I made). Qt definitely handles the path separators for us (we would have had tons of other problems if it didn't). Plus any fixes there wouldn't be to the data model so it wouldn't risk corrupting user data for those running at HEAD.

I'd like to merge this before features_key so that you don't have to deal w/ merge conflicts :).

@kain88-de
Copy link
Member Author

Ok I fixed your last comments. You can merge it if you want. It will take me some time to get the tests running on windows.

@rryan
Copy link
Member

rryan commented Dec 5, 2013

Great, thanks!

rryan added a commit that referenced this pull request Dec 5, 2013
Support multiple library folders.
@rryan rryan merged commit 6c15845 into mixxxdj:master Dec 5, 2013
@@ -272,6 +283,7 @@
<tabstop>checkbox_ID3_sync</tabstop>
<tabstop>checkBox_use_relative_path</tabstop>
<tabstop>checkBox_show_rhythmbox</tabstop>
<tabstop>checkBox_show_banshee</tabstop>
<tabstop>checkBox_show_itunes</tabstop>
<tabstop>checkBox_show_traktor</tabstop>
</tabstops>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @kain88-de,

It looks like we have merge issues on this file in master now.
Can you have a look at it?

What is:
Support Mixxx by counting and sharing bundled song playback and outbound link statistics

Haven't we removed it?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what merge conflict? for me everything works fine.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, you have fixed the promo issues in master. I have now fixes the external library alignment as well. So this issue is solved.

@kain88-de kain88-de deleted the multiplyFolders branch December 7, 2013 14:40
esbrandt added a commit to mixxxdj/manual that referenced this pull request Feb 2, 2014
@daschuer daschuer mentioned this pull request Dec 28, 2014
@daschuer daschuer mentioned this pull request Aug 13, 2017
19 tasks
@daschuer daschuer mentioned this pull request Jun 11, 2018
11 tasks
Be-ing added a commit that referenced this pull request May 15, 2019
QT < 5.6 compatible getDevicePixelRatioF()
Holzhaus referenced this pull request in Holzhaus/mixxx Aug 23, 2020
m0dB pushed a commit to m0dB/mixxx that referenced this pull request Jan 21, 2024
Update downloads page with RC1 links and analytics conversions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants