Skip to content

Remove global automation from MidiImport - #5223

Merged
PhysSong merged 2 commits into
LMMS:masterfrom
Veratil:remove-midi-global-automation
Oct 15, 2019
Merged

Remove global automation from MidiImport#5223
PhysSong merged 2 commits into
LMMS:masterfrom
Veratil:remove-midi-global-automation

Conversation

@Veratil

@Veratil Veratil commented Oct 6, 2019

Copy link
Copy Markdown
Contributor

Completes step 1 from #403

@LmmsBot

LmmsBot commented Oct 6, 2019

Copy link
Copy Markdown

Downloads for this pull request

Generated by the LMMS pull requests bot.
SHA: ff93d48

Comment thread plugins/MidiImport/MidiImport.cpp Outdated
@PhysSong

Copy link
Copy Markdown
Member

The rest of this PR looks fine.

@PhysSong
PhysSong merged commit 170d28f into LMMS:master Oct 15, 2019
@Reflexe

Reflexe commented Oct 16, 2019

Copy link
Copy Markdown
Member

This PR is broken with VS builds. see https://ci.appveyor.com/project/Lukas-W/lmms/builds/28005325/job/1d524yxraw2rrw5q

MidiImport.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall TrackContentObject::movePosition(class MidiTime const &)" (?movePosition@TrackContentObject@@UAEXABVMidiTime@@@Z) [C:\projects\lmms\build\plugins\MidiImport\midiimport.vcxproj]
MidiImport.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall TrackContentObject::changeLength(class MidiTime const &)" (?changeLength@TrackContentObject@@UAEXABVMidiTime@@@Z) [C:\projects\lmms\build\plugins\MidiImport\midiimport.vcxproj]
C:\projects\lmms\build\plugins\Debug\midiimport.dll : fatal error LNK1120: 2 unresolved externals 

@Veratil

Veratil commented Oct 16, 2019

Copy link
Copy Markdown
Contributor Author

This PR is broken with VS builds. see https://ci.appveyor.com/project/Lukas-W/lmms/builds/28005325/job/1d524yxraw2rrw5q

MidiImport.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall TrackContentObject::movePosition(class MidiTime const &)" (?movePosition@TrackContentObject@@UAEXABVMidiTime@@@Z) [C:\projects\lmms\build\plugins\MidiImport\midiimport.vcxproj]
MidiImport.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall TrackContentObject::changeLength(class MidiTime const &)" (?changeLength@TrackContentObject@@UAEXABVMidiTime@@@Z) [C:\projects\lmms\build\plugins\MidiImport\midiimport.vcxproj]
C:\projects\lmms\build\plugins\Debug\midiimport.dll : fatal error LNK1120: 2 unresolved externals 

I don't see how this PR would affect that, I didn't touch those functions.

@PhysSong

Copy link
Copy Markdown
Member

I'm not sure why MinGW builds pass while MSVC builds fail, but I found the reason: class TrackContentObject is not marked as exported. Changing class TrackContentObject to class LMMS_EXPORT TrackContentObject in Track.h will fix this.

PhysSong added a commit that referenced this pull request Oct 16, 2019
Fix a build error introduced in #5223.
PhysSong added a commit to PhysSong/lmms that referenced this pull request Oct 16, 2019
Fix a build error introduced in LMMS#5223.
PhysSong added a commit that referenced this pull request Oct 16, 2019
Fix a build error introduced in #5223.
@PhysSong

Copy link
Copy Markdown
Member

I found that MIDI import still uses global automation because Song::tempoAutomationPattern() uses it.

@Veratil

Veratil commented Jan 17, 2021

Copy link
Copy Markdown
Contributor Author

I found that MIDI import still uses global automation because Song::tempoAutomationPattern() uses it.

There's also a few calls to AutomationPattern::globalAutomationPattern which in turn calls Engine::getSong()->globalAutomationTrack(). The hole gets deeper. 🤔

@PhysSong

Copy link
Copy Markdown
Member

There's also a few calls to AutomationPattern::globalAutomationPattern which in turn calls Engine::getSong()->globalAutomationTrack().

True, but after removing Song::tempoAutomationPattern and its usage, new global automation patterns can be created only by manual GUI actions.

sdasda7777 pushed a commit to sdasda7777/lmms that referenced this pull request Jun 28, 2022
sdasda7777 pushed a commit to sdasda7777/lmms that referenced this pull request Jun 28, 2022
Fix a build error introduced in LMMS#5223.
@zonkmachine zonkmachine mentioned this pull request Apr 9, 2024
4 tasks
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