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 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)

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

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.

@Umcaruje
Copy link
Member

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

@jasp00
Copy link
Member

jasp00 commented Jun 12, 2016

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

@Umcaruje
Copy link
Member

Umcaruje commented Jul 5, 2016

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

@serdnab
Copy link
Contributor Author

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?

@tresf
Copy link
Member

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.

@tresf
Copy link
Member

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.

@serdnab
Copy link
Contributor Author

serdnab commented Jul 21, 2016

@Umcaruje

could you please address the issue @jasp00 pointed out?

done

@jasp00
Copy link
Member

jasp00 commented Jul 21, 2016

@serdnab: This branch has conflicts that must be resolved

@serdnab
Copy link
Contributor Author

serdnab commented Jul 22, 2016

@jasp00

This branch has conflicts that must be resolved

solved

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

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.

@serdnab
Copy link
Contributor Author

serdnab commented Jul 29, 2016

@jasp00

addressed your requests


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

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.

@serdnab
Copy link
Contributor Author

serdnab commented Aug 10, 2016

@jasp00

done
deleted the unnecessary variable

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

Copy link
Member

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.

@jasp00
Copy link
Member

jasp00 commented Aug 14, 2016

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

@jasp00 jasp00 merged commit 07021ed into LMMS:master Aug 14, 2016
sdasda7777 pushed a commit to sdasda7777/lmms that referenced this pull request Jun 28, 2022
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