void Java_org_deadc0de_apple2ix_Apple2Preferences_nativeSetAudioLatency(JNIEnv *env, jclass cls, jfloat latencySecs) { #if !TESTING LOG("audio latency : %fsecs", latencySecs); assert(cpu_isPaused()); audio_setLatency(latencySecs); timing_reinitializeAudio(); #endif }
jboolean Java_org_deadc0de_apple2ix_Apple2Preferences_nativeSetMockingboardEnabled(JNIEnv *env, jclass cls, jboolean enabled) { #if !TESTING LOG("mockingboard enabled : %d", enabled); assert(cpu_isPaused()); MB_SetEnabled(enabled); timing_reinitializeAudio(); #endif return enabled; }
static void timing_prefsChanged(const char *domain) { (void)domain; float fVal = 1.0; cpu_scale_factor = prefs_parseFloatValue(PREF_DOMAIN_VM, PREF_CPU_SCALE, &fVal) ? fVal / 100.f : 1.f; if (cpu_scale_factor < CPU_SCALE_SLOWEST) { cpu_scale_factor = CPU_SCALE_SLOWEST; } if (cpu_scale_factor > CPU_SCALE_FASTEST_PIVOT) { cpu_scale_factor = CPU_SCALE_FASTEST; } cpu_altscale_factor = prefs_parseFloatValue(PREF_DOMAIN_VM, PREF_CPU_SCALE_ALT, &fVal) ? fVal / 100.f : 1.f; if (cpu_altscale_factor < CPU_SCALE_SLOWEST) { cpu_altscale_factor = CPU_SCALE_SLOWEST; } if (cpu_altscale_factor > CPU_SCALE_FASTEST_PIVOT) { cpu_altscale_factor = CPU_SCALE_FASTEST; } static float audioLatency = 0.f; float latency = prefs_parseFloatValue(PREF_DOMAIN_AUDIO, PREF_AUDIO_LATENCY, &fVal) ? fVal : 0.25f; #define SMALL_EPSILON (1.f/1024.f) if (fabsf(audioLatency - latency) > SMALL_EPSILON) { audioLatency = latency; audio_setLatency(latency); timing_reinitializeAudio(); } static bool mbEnabled = false; bool bVal = false; bool enabled = prefs_parseBoolValue(PREF_DOMAIN_AUDIO, PREF_MOCKINGBOARD_ENABLED, &bVal) ? bVal : true; if (enabled != mbEnabled) { mbEnabled = enabled; MB_SetEnabled(enabled); timing_reinitializeAudio(); } auto_adjust_speed = prefs_parseBoolValue(PREF_DOMAIN_INTERFACE, PREF_DISK_FAST_LOADING, &bVal) ? bVal : true; }