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

This is great! A couple of points... #6

Open
beely opened this issue Nov 11, 2019 · 4 comments
Open

This is great! A couple of points... #6

beely opened this issue Nov 11, 2019 · 4 comments

Comments

@beely
Copy link

beely commented Nov 11, 2019

Hey - thanks for this, it's like a dream come true and super-useful!

I'm experiencing two issues with it - firstly, I get persistent crashes after some arbitrary time - if I leave it open, after say ten minutes or so, it will randomly crash. I'll sort out a crash log shortly below together with system details etc.

If I leave it running, it will always eventually crash, sometimes about 5-10 mins, sometimes up to 30 mins or more.

Secondly, if possible, a feature request. Currently the app listens to incoming MIDI on all ports. So if I learn, say CC#12 on Chan 1 to a control, the app will respond to that message regardless of the MIDI port it arrives on. I'd like the mapping to apply only to the MIDI port it was learnt from.

The reason being is that I'm controlling the app from one MIDI controller, and there is another MIDI controller on a separate port, that occasionally sends spurious MIDI values due to it's encoders being "twitchy", which resets levels randomly. It's not so easy to change the mappings here as a workaround as these controllers have all kinds of things mapped to them, although I can probably sort something out.

But that feature would be useful to me, hence the FR...

@beely
Copy link
Author

beely commented Nov 11, 2019

System:
MBP 2011, 16GB, High Sierra 10.13.6

Crash log (ask if you need more details):

Process: Focusrite Midi Control [31176]
Path: /Applications/Utilities/Focusrite Midi Control.app/Contents/MacOS/Focusrite Midi Control
Identifier: raduvarga.Focusrite-Midi-Control
Version: 1.5 (5)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Focusrite Midi Control [31176]
User ID: 501

Date/Time: 2019-11-11 20:56:47.212 +0000
OS Version: Mac OS X 10.13.6 (17G65)
Report Version: 12
Anonymous UUID: FFF54B39-9A25-E46B-AEEA-8B777385A378

Sleep/Wake UUID: A7D69194-ACA3-4E9F-982A-F55423A8F0FE

Time Awake Since Boot: 380000 seconds
Time Since Wake: 35000 seconds

System Integrity Protection: disabled

Crashed Thread: 5 Dispatch queue: com.apple.root.default-qos

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000040e0715fbec8
Exception Note: EXC_CORPSE_NOTIFY

Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]

Thread 5 (crashed thread)

Thread 5 Crashed:: Dispatch queue: com.apple.root.default-qos
0 libobjc.A.dylib 0x00007fff62ceed3b objc_retain + 27
1 libswiftCore.dylib 0x000000010ad7c021 swift::metadataimpl::ValueWitnessesswift::metadataimpl::ObjCRetainableBox::initializeWithCopy(swift::OpaqueValue*, swift::OpaqueValue*, swift::TargetMetadataswift::InProcess const*) + 17
2 libswiftCore.dylib 0x000000010ab6fef6 VariantDictionaryBuffer.nativeUpdateValue(:forKey:) + 1430
3 libswiftCore.dylib 0x000000010ab02585 _T0s10DictionaryVq_Sgxcis + 245
4 raduvarga.Focusrite-Midi-Control 0x000000010a934fbc closure #1 in newMidiMessageReceived(midiMessage:) + 172
5 raduvarga.Focusrite-Midi-Control 0x000000010a93501d partial apply for closure #1 in newMidiMessageReceived(midiMessage:) + 13
6 raduvarga.Focusrite-Midi-Control 0x000000010a93504d _T0Ieg_IeyB_TR + 45
7 libdispatch.dylib 0x00007fff638ed4dd _dispatch_block_sync_invoke + 102
8 libdispatch.dylib 0x00007fff638dadb8 _dispatch_client_callout + 8
9 libdispatch.dylib 0x00007fff638f0fc9 _dispatch_sync_function_invoke + 54
10 libdispatch.dylib 0x00007fff638ee433 _dispatch_sync_block_with_private_data + 395
11 libswiftDispatch.dylib 0x000000010b1205d1 DispatchQueue.sync(execute:) + 49
12 libswiftDispatch.dylib 0x000000010b120570 DispatchQueue.sync(execute:) + 16
13 raduvarga.Focusrite-Midi-Control 0x000000010a934ee3 newMidiMessageReceived(midiMessage:) + 275
14 raduvarga.Focusrite-Midi-Control 0x000000010a934d74 MyMIDIReadProc(pktList:readProcRefCon:srcConnRefCon:) + 10004
15 raduvarga.Focusrite-Midi-Control 0x000000010a935b39 @objc MyMIDIReadProc(pktList:readProcRefCon:srcConnRefCon:) + 9
16 com.apple.audio.midi.CoreMIDI 0x00007fff3c7c7a55 LocalMIDIReceiverList::HandleMIDIIn(unsigned int, unsigned int, void*, MIDIPacketList const*) + 117
17 com.apple.audio.midi.CoreMIDI 0x00007fff3c7c78da MIDIProcess::RunMIDIInThread() + 138
18 com.apple.audio.midi.CoreMIDI 0x00007fff3c7d8c8e XThread::RunHelper(void*) + 10
19 com.apple.audio.midi.CoreMIDI 0x00007fff3c7dce7b CAPThread::Entry(CAPThread*) + 77
20 libsystem_pthread.dylib 0x00007fff63c2c661 _pthread_body + 340
21 libsystem_pthread.dylib 0x00007fff63c2c50d _pthread_start + 377
22 libsystem_pthread.dylib 0x00007fff63c2bbf9 thread_start + 13

@raduvarga
Copy link
Owner

Hi @beely!

I know about the crash problem, I know where it is but didn't really figure out how to fix it. It's my first project in this programming language so I'm missing something.

About the thing with midi channels I wasn't aware of, it totally makes sense the way you described, I will try to implement this change ,shouldn't be a big deal.

About the first issue I'll give it another shot.

@beely
Copy link
Author

beely commented Nov 11, 2019

Awesome, thank you - I've got a workaround for the MIDI port thing in the meantime.

Thanks again for making this!

@raduvarga
Copy link
Owner

@beely The crashes are fixed now in the new version, it's stable and has many more features now, check it out here: https://www.raduvarga.com/software/focusrite-midi-control

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

No branches or pull requests

2 participants