diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/coremidi/core_midi.cpp | 19 | ||||
-rw-r--r-- | drivers/coremidi/core_midi.h | 2 | ||||
-rw-r--r-- | drivers/gles2/shaders/cubemap_filter.glsl | 6 | ||||
-rw-r--r-- | drivers/gles3/shaders/cubemap_filter.glsl | 10 | ||||
-rw-r--r-- | drivers/winmidi/win_midi.cpp | 6 |
5 files changed, 35 insertions, 8 deletions
diff --git a/drivers/coremidi/core_midi.cpp b/drivers/coremidi/core_midi.cpp index 3619be4a8e..6d4624e05b 100644 --- a/drivers/coremidi/core_midi.cpp +++ b/drivers/coremidi/core_midi.cpp @@ -92,6 +92,25 @@ void MIDIDriverCoreMidi::close() { } } +PoolStringArray MIDIDriverCoreMidi::get_connected_inputs() { + + PoolStringArray list; + + for (int i = 0; i < connected_sources.size(); i++) { + MIDIEndpointRef source = connected_sources[i]; + CFStringRef ref = NULL; + char name[256]; + + MIDIObjectGetStringProperty(source, kMIDIPropertyDisplayName, &ref); + CFStringGetCString(ref, name, sizeof(name), kCFStringEncodingUTF8); + CFRelease(ref); + + list.push_back(name); + } + + return list; +} + MIDIDriverCoreMidi::MIDIDriverCoreMidi() { client = 0; diff --git a/drivers/coremidi/core_midi.h b/drivers/coremidi/core_midi.h index fd35e12f4b..c6b443764f 100644 --- a/drivers/coremidi/core_midi.h +++ b/drivers/coremidi/core_midi.h @@ -53,6 +53,8 @@ public: virtual Error open(); virtual void close(); + PoolStringArray get_connected_inputs(); + MIDIDriverCoreMidi(); virtual ~MIDIDriverCoreMidi(); }; diff --git a/drivers/gles2/shaders/cubemap_filter.glsl b/drivers/gles2/shaders/cubemap_filter.glsl index 6c26c5ce89..0d60104480 100644 --- a/drivers/gles2/shaders/cubemap_filter.glsl +++ b/drivers/gles2/shaders/cubemap_filter.glsl @@ -170,10 +170,10 @@ void main() { if (NdotL > 0.0) { #ifdef USE_SOURCE_PANORAMA - sum.rgb += texturePanorama(source_panorama, H).rgb * NdotL; + sum.rgb += texturePanorama(source_panorama, L).rgb * NdotL; #else - H.y = -H.y; - sum.rgb += textureCubeLod(source_cube, H, 0.0).rgb * NdotL; + L.y = -L.y; + sum.rgb += textureCubeLod(source_cube, L, 0.0).rgb * NdotL; #endif sum.a += NdotL; diff --git a/drivers/gles3/shaders/cubemap_filter.glsl b/drivers/gles3/shaders/cubemap_filter.glsl index 1462aacf89..7f2dc5057c 100644 --- a/drivers/gles3/shaders/cubemap_filter.glsl +++ b/drivers/gles3/shaders/cubemap_filter.glsl @@ -244,23 +244,23 @@ void main() { vec3 H = ImportanceSampleGGX(xi, roughness, N); vec3 V = N; - vec3 L = normalize(2.0 * dot(V, H) * H - V); + vec3 L = (2.0 * dot(V, H) * H - V); float ndotl = clamp(dot(N, L), 0.0, 1.0); if (ndotl > 0.0) { #ifdef USE_SOURCE_PANORAMA - sum.rgb += texturePanorama(H, source_panorama).rgb * ndotl; + sum.rgb += texturePanorama(L, source_panorama).rgb * ndotl; #endif #ifdef USE_SOURCE_DUAL_PARABOLOID_ARRAY - sum.rgb += textureDualParaboloidArray(H).rgb * ndotl; + sum.rgb += textureDualParaboloidArray(L).rgb * ndotl; #endif #if !defined(USE_SOURCE_DUAL_PARABOLOID_ARRAY) && !defined(USE_SOURCE_PANORAMA) - H.y = -H.y; - sum.rgb += textureLod(source_cube, H, 0.0).rgb * ndotl; + L.y = -L.y; + sum.rgb += textureLod(source_cube, L, 0.0).rgb * ndotl; #endif sum.a += ndotl; } diff --git a/drivers/winmidi/win_midi.cpp b/drivers/winmidi/win_midi.cpp index 6da6e31b2b..63f7f13685 100644 --- a/drivers/winmidi/win_midi.cpp +++ b/drivers/winmidi/win_midi.cpp @@ -53,6 +53,12 @@ Error MIDIDriverWinMidi::open() { char err[256]; midiInGetErrorText(res, err, 256); ERR_PRINTS("midiInOpen error: " + String(err)); + + MIDIINCAPS caps; + res = midiInGetDevCaps(i, &caps, sizeof(MIDIINCAPS)); + if (res == MMSYSERR_NOERROR) { + ERR_PRINTS("Can't open MIDI device \"" + String(caps.szPname) + "\", is it being used by another application?"); + } } } |