summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/coremidi/core_midi.cpp19
-rw-r--r--drivers/coremidi/core_midi.h2
-rw-r--r--drivers/gles2/shaders/cubemap_filter.glsl6
-rw-r--r--drivers/gles3/shaders/cubemap_filter.glsl10
-rw-r--r--drivers/winmidi/win_midi.cpp6
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?");
+ }
}
}