Removed unused session_control.cc.
[ardour.git] / libs / ardour / globals.cc
index e83a8ab2e4d424d7651ff2f77a00961c67b151e5..05b7f3e8f03c212f5e41b62da0923ee9f9da9c6d 100644 (file)
@@ -15,7 +15,6 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id: globals.cc 935 2006-09-29 21:39:39Z paul $
 */
 
 #include <cstdio> // Needed so that libraptor (included in lrdf) won't complain
@@ -196,43 +195,44 @@ setup_hardware_optimization (bool try_optimization)
 {
         bool generic_mix_functions = true;
 
+
        if (try_optimization) {
 
 #if defined (ARCH_X86) && defined (BUILD_SSE_OPTIMIZATIONS)
        
-               unsigned int use_sse = 0;
+               unsigned long use_sse = 0;
 
 #ifndef USE_X86_64_ASM
-               asm volatile (
+               asm (
                                 "mov $1, %%eax\n"
                                 "pushl %%ebx\n"
                                 "cpuid\n"
-                                "popl %%ebx\n"
-                                "andl $33554432, %%edx\n"
                                 "movl %%edx, %0\n"
-                            : "=m" (use_sse)
+                                "popl %%ebx\n"
+                            : "=r" (use_sse)
                             : 
                         : "%eax", "%ecx", "%edx", "memory");
+
 #else
 
-               asm volatile (
-                                "movq $1, %%rax\n"
+               asm (
                                 "pushq %%rbx\n"
+                                "movq $1, %%rax\n"
                                 "cpuid\n"
-                                "popq %%rbx\n"
-                                "andq $33554432, %%rdx\n"
                                 "movq %%rdx, %0\n"
-                            : "=m" (use_sse)
+                                "popq %%rbx\n"
+                            : "=r" (use_sse)
                             : 
-                        : "%rax", "%rbx", "%rcx", "%rdx", "memory");
+                        : "%rax", "%rcx", "%rdx", "memory");
 
 #endif /* USE_X86_64_ASM */
+               use_sse &= (1 << 25); // bit 25 = SSE support
                
                if (use_sse) {
                        info << "Using SSE optimized routines" << endmsg;
        
                        // SSE SET
-                       Session::compute_peak                   = x86_sse_compute_peak;
+                       Session::compute_peak           = x86_sse_compute_peak;
                        Session::apply_gain_to_buffer   = x86_sse_apply_gain_to_buffer;
                        Session::mix_buffers_with_gain  = x86_sse_mix_buffers_with_gain;
                        Session::mix_buffers_no_gain    = x86_sse_mix_buffers_no_gain;
@@ -278,8 +278,6 @@ ARDOUR::init (bool use_vst, bool try_optimization)
 
        (void) bindtextdomain(PACKAGE, LOCALEDIR);
 
-       PBD::ID::init ();
-
        setup_enum_writer ();
 
        lrdf_init();
@@ -615,6 +613,7 @@ std::istream& operator>>(std::istream& o, HeaderFormat& var) { return int_to_typ
 std::istream& operator>>(std::istream& o, SampleFormat& var) { return int_to_type<SampleFormat> (o, var); }
 std::istream& operator>>(std::istream& o, AutoConnectOption& var) { return int_to_type<AutoConnectOption> (o, var); }
 std::istream& operator>>(std::istream& o, MonitorModel& var) { return int_to_type<MonitorModel> (o, var); }
+std::istream& operator>>(std::istream& o, RemoteModel& var) { return int_to_type<RemoteModel> (o, var); }
 std::istream& operator>>(std::istream& o, EditMode& var) { return int_to_type<EditMode> (o, var); }
 std::istream& operator>>(std::istream& o, SoloModel& var) { return int_to_type<SoloModel> (o, var); }
 std::istream& operator>>(std::istream& o, LayerModel& var) { return int_to_type<LayerModel> (o, var); }