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

fix 'Set Linear' not saving properly (#1642) #2742

Merged
merged 3 commits into from Aug 14, 2016
Merged

fix 'Set Linear' not saving properly (#1642) #2742

merged 3 commits into from Aug 14, 2016

Conversation

@serdnab
Copy link
Contributor

@serdnab serdnab commented Apr 28, 2016

I added setScaleType( Linear ) when the loading element doesn't have a child element (containing scale type or automation data) as this is the default save way for non automated linear knobs
fixes #1642

@Umcaruje
Copy link
Member

@Umcaruje Umcaruje commented Apr 30, 2016

@serdnab could you please rename the PR to something more descriptive like " Fix 'Set Linear' not saving properly"

It'd be also very good if you renamed your commit too (git commit --amend) and afterwards you'll need to force push (git push -f)

Loading

@serdnab serdnab changed the title fix for #1642 fix 'Set Linear' not saving properly (#1642) May 1, 2016
@Umcaruje
Copy link
Member

@Umcaruje Umcaruje commented May 1, 2016

Did a quick test, seems to fix #1642 for me. I'm not comfortable with merging this though, without any more extensive testing, because I'm not familiar with this part of the codebase at all.

Loading

@Umcaruje
Copy link
Member

@Umcaruje Umcaruje commented Jun 12, 2016

@LMMS/developers could someone else review/test this PR out, so we could merge?

Loading

@jasp00
Copy link
Member

@jasp00 jasp00 commented Jun 12, 2016

Should not the backward compatibility code be in an upgrade method in src/core/DataFile.cpp?

Loading

@Umcaruje
Copy link
Member

@Umcaruje Umcaruje commented Jul 5, 2016

@serdnab could you please address the issue @jasp00 pointed out?

Loading

@serdnab
Copy link
Contributor Author

@serdnab serdnab commented Jul 9, 2016

Which is your opinion on opening old projects that their origin versions of lmms didn't have logarithmic knobs. Open it linear or as detected by isLogarithmic() in LadspaManager.cpp?

Loading

@tresf
Copy link
Member

@tresf tresf commented Jul 9, 2016

Which is your opinion on opening old projects that their origin versions of lmms didn't have logarithmic knobs. Open it linear or as detected by isLogarithmic() in LadspaManager.cpp?

Linear.

Loading

@tresf
Copy link
Member

@tresf tresf commented Jul 9, 2016

Also as @jasp00 points out, we want to always preserve the bug for older projects when possible. e.g. if it was incorrectly setting Logarithmic before when Linear was explicitly being clicked, write Logarithmic to the config and make them change it again to take effect. These things can really destroy projects if not upgraded properly.

Loading

@serdnab
Copy link
Contributor Author

@serdnab serdnab commented Jul 21, 2016

@Umcaruje

could you please address the issue @jasp00 pointed out?

done

Loading

@jasp00
Copy link
Member

@jasp00 jasp00 commented Jul 21, 2016

@serdnab: This branch has conflicts that must be resolved

Loading

@serdnab
Copy link
Contributor Author

@serdnab serdnab commented Jul 22, 2016

@jasp00

This branch has conflicts that must be resolved

solved

Loading

void upgrade_1_1_0();
void upgrade_1_1_91();

void upgrade();

void loadData( const QByteArray & _data, const QString & _sourceFile );

void findIds(const QDomElement& elem, QList<jo_id_t>& idList);
Copy link
Member

@jasp00 jasp00 Jul 23, 2016

Choose a reason for hiding this comment

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

This function does not depend on the class. It should be a static function in DataFile.cpp.

Loading

@serdnab
Copy link
Contributor Author

@serdnab serdnab commented Jul 29, 2016

@jasp00

addressed your requests

Loading


jo_id_t id;
for(jo_id_t tid = last_assigned_id + 1;
idList.contains(id = tid); tid++)
Copy link
Member

@jasp00 jasp00 Aug 2, 2016

Choose a reason for hiding this comment

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

id should be used directly in the loop, tid is not needed.

Loading

@serdnab
Copy link
Contributor Author

@serdnab serdnab commented Aug 10, 2016

@jasp00

done
deleted the unnecessary variable

Loading

void DataFile::upgrade_1_0_99()
{
jo_id_t last_assigned_id = 0;

Copy link
Member

@jasp00 jasp00 Aug 14, 2016

Choose a reason for hiding this comment

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

Empty lines should not have any indentation, but coding conventions are not against this.

Loading

@jasp00
Copy link
Member

@jasp00 jasp00 commented Aug 14, 2016

Current projects do not need a manual upgrade in this case.

Loading

@jasp00 jasp00 merged commit 07021ed into LMMS:master Aug 14, 2016
1 check passed
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants