Changeset 3587

Show
Ignore:
Timestamp:
07/09/09 03:05:42 (1 year ago)
Author:
sletz
Message:

Use attribute((packed)) again, more fixes for 64/32 mixed mode. Torben Hohn changes for 64/32 mixed mode in wscripts.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • jack2/trunk/jackmp/ChangeLog

    r3576 r3587  
    2626--------------------------- 
    2727 
     282009-07-09 Stephane Letz  <letz@grame.fr> 
     29 
     30        * Use __attribute__((__packed__)) again, more fixes for 64/32 mixed mode. 
     31        * Torben Hohn changes for 64/32 mixed mode in wscripts. 
     32 
    28332009-07-07 Stephane Letz  <letz@grame.fr> 
    2934 
  • jack2/trunk/jackmp/common/jack/jack.h

    r3585 r3587  
    237237/** 
    238238 * Tell the Jack server to call @a thread_callback in the RT thread. 
    239  * Typical use are in conjunction with @a jack_cycle_wait and @ jack_cycle_signal functions. 
     239 * Typical use are in conjunction with @a jack_cycle_wait and @a jack_cycle_signal functions. 
    240240 * The code in the supplied function must be suitable for real-time 
    241241 * execution.  That means that it cannot call functions that might 
  • jack2/trunk/jackmp/common/jack/midiport.h

    r3231 r3587  
    4848 */ 
    4949 
    50 /* Get number of events in a port buffer. 
     50/** Get number of events in a port buffer. 
    5151 * 
    5252 * @param port_buffer Port buffer from which to retrieve event. 
  • jack2/trunk/jackmp/common/JackActivationCount.h

    r2880 r3587  
    7474        } 
    7575 
    76 }
     76}  POST_PACKED_STRUCTURE
    7777 
    7878} // end of namespace 
  • jack2/trunk/jackmp/common/JackConnectionManager.h

    r3462 r3587  
    117117        } 
    118118 
    119 }
     119} POST_PACKED_STRUCTURE
    120120 
    121121/*! 
     
    152152            } 
    153153        } 
    154 }; 
     154         
     155} POST_PACKED_STRUCTURE; 
    155156 
    156157/*! 
     
    227228        } 
    228229 
    229 }
     230} POST_PACKED_STRUCTURE
    230231 
    231232/*! 
     
    340341        } 
    341342 
    342 }
     343} POST_PACKED_STRUCTURE
    343344 
    344345/*! 
     
    357358    ~JackClientTiming() 
    358359    {} 
     360     
    359361} POST_PACKED_STRUCTURE; 
    360362 
     
    451453        int SuspendRefNum(JackClientControl* control, JackSynchro* table, JackClientTiming* timing, long time_out_usec); 
    452454         
    453 }
     455} POST_PACKED_STRUCTURE
    454456 
    455457} // end of namespace 
  • jack2/trunk/jackmp/common/JackConstants.h

    r3526 r3587  
    3939 
    4040#define DRIVER_PORT_NUM 256 
    41 #define PORT_NUM_FOR_CLIENT 256 
     41#define PORT_NUM_FOR_CLIENT 512 
    4242#define FIRST_AVAILABLE_PORT 1 
    4343 
  • jack2/trunk/jackmp/common/JackFilters.h

    r3428 r3587  
    5555            return mean / MAX_SIZE; 
    5656        } 
    57     }; 
     57         
     58    } POST_PACKED_STRUCTURE; 
    5859     
    5960    class JackDelayLockedLoop 
     
    137138            } 
    138139   
    139     }
     140    } POST_PACKED_STRUCTURE
    140141     
    141142    class JackAtomicDelayLockedLoop : public JackAtomicState<JackDelayLockedLoop> 
     
    202203                return res; 
    203204            } 
    204     }
     205    } POST_PACKED_STRUCTURE
    205206     
    206207    /* 
     
    302303        */ 
    303304 
    304          
    305305        double GetRatio(int error) 
    306306        { 
  • jack2/trunk/jackmp/common/wscript

    r3581 r3587  
    227227        clientlib.env.append_value("LINKFLAGS", "-lnsl -lsocket") 
    228228 
     229    if bld.env['BUILD_WITH_32_64']: 
     230        print "create 32bit lib..." 
     231        clientlib32bit = clientlib.clone('lib32') 
     232 
    229233    create_jack_process_obj(bld, 'netmanager', 'JackNetManager.cpp', serverlib) 
    230234 
  • jack2/trunk/jackmp/README

    r3585 r3587  
    2142141.9.1 : Fix jackctl_server_unload_internal. Filter SIGPIPE to avoid having client get a SIGPIPE when trying to access a died server. Libjack shutdown handler does not "deactivate" (fActive = false) the client anymore, so that jack_deactivate correctly does the job later on. Better isolation of server and clients system resources to allow starting the server in several user account at the same time. Report ringbuffer.c fixes from jack1. Client and library global context cleanup in case of incorrect shutdown handling (that is applications not correctly closing client after server has shutdown). Use JACK_DRIVER_DIR variable in internal clients loader. For ALSA driver, synchronize with latest jack1 memops functions. Synchronize jack2 public headers with jack1 ones. Implement jack_client_real_time_priority and jack_client_max_real_time_priority API. Use up to BUFFER_SIZE_MAX frames in midi ports, fix for ticket #117. Cleanup server starting code for clients directly linked with libjackserver.so. JackMessageBuffer was using thread "Stop" scheme in destructor, now use the safer thread "Kill" way. Synchronize ALSA backend code with JACK1 one. Set default mode to 'slow' in JackNetDriver and JackNetAdapter. Simplify audio packet order verification. Fix JackNetInterface::SetNetBufferSize for socket buffer size computation and JackNetMasterInterface::DataRecv if synch packet is received, various cleanup. Better recovery of network overload situations, now "resynchronize" by skipping cycles.". Support for BIG_ENDIAN machines in NetJack2. Support for BIG_ENDIAN machines in NetJack2 for MIDI ports. Support for "-h" option in internal clients to print the parameters. In NetJack2, fix a bug when capture or playback only channels are used. Add a JACK_INTERNAL_DIR environment variable to be used for internal clients. Add a resample quality parameter in audioadapter. Now correctly return an error if JackServer::SetBufferSize could not change the buffer size (and was just restoring the current one). Use PRIu32 kind of macro in JackAlsaDriver again. Add a resample quality parameter in netadapter. 
    2152151.9.2 : Solaris version. New "profiling" tools. Rework the mutex/signal classes. Support for BIG_ENDIAN machines in NetJack2. D-BUS based device reservation to better coexist with PulseAudio on Linux. Add auto_connect parameter in netmanager and netadapter. Use Torben Hohn PI controler code for adapters. Client incorrect re-naming fixed : now done at socket and fifo level. Virtualize and allow overriding of thread creation function, to allow Wine support (from JACK1). 
     2161.9.3 : New JackBoomerDriver class for Boomer driver on Solaris. Add mixed 32/64 bits mode (off by default). Native MIDI backend (JackCoreMidiDriver, JackWinMMEDriver). In ALSA audio card reservation code, tries to open the card even if reservation fails. Clock source setting on Linux. Add jackctl_server_switch_master API. Fix transport callback (timebase master, sync) issue when used after jack_activate (RT thread was not running). D-Bus access for jackctl_server_add_slave/jackctl_server_remove_slave API. Cleanup "loopback" stuff in server. Torben Hohn fix for InitTime and GetMicroSeconds in JackWinTime.c. New jack_free function added in jack.h. Reworked Torben Hohn fix for server restart issue on Windows. Correct jack_set_error_function, jack_set_info_function and jack_set_thread_creator functions. Correct JackFifo::TimedWait for EINTR handling. Move DBus based audio device reservation code in ALSA backend compilation. Correct JackTransportEngine::MakeAllLocating, sync callback has to be called in this case also. NetJack2 code : better error checkout, method renaming. Tim Bechmann patch : hammerfall, only release monitor thread, if it has been created. Tim Bechmann memops.c optimization patches.  
    216217 
    217218This is a work in progress but the implementation is now stable enough to be tested. jackdmp has been used successfully with the following applications : Ardour, Hydrogen, Jamin, Qjackctl, Jack-Rack, SooperLooper, AlsaPlayer...   
  • jack2/trunk/jackmp/wscript

    r3581 r3587  
    6262 
    6363    opt.add_option('--libdir', type='string', help="Library directory [Default: <prefix>/lib]") 
     64    opt.add_option('--libdir32', type='string', help="32bit Library directory [Default: <prefix>/lib32]") 
    6465    opt.add_option('--dbus', action='store_true', default=False, help='Enable D-Bus JACK (jackdbus)') 
    6566    opt.add_option('--classic', action='store_true', default=False, help='Force enable standard JACK (jackd) even if D-Bus JACK (jackdbus) is enabled too') 
     
    207208    print 
    208209 
     210    if Options.options.mixed == True: 
     211        env_variant2 = conf.env.copy() 
     212        conf.set_env_name('lib32', env_variant2) 
     213        env_variant2.set_variant('lib32') 
     214        conf.setenv('lib32') 
     215        conf.env.append_unique('CXXFLAGS', '-m32') 
     216        conf.env.append_unique('CCFLAGS', '-m32') 
     217        conf.env.append_unique('LINKFLAGS', '-m32') 
     218        conf.write_config_header('config.h') 
     219        if Options.options.libdir32: 
     220            conf.env['LIBDIR'] = Options.options.libdir32 
     221        else: 
     222            conf.env['LIBDIR'] = conf.env['PREFIX'] + '/lib32/' 
     223 
    209224def build(bld): 
     225    print ("make[1]: Entering directory `" + os.getcwd() + "/" + blddir + "'" ) 
    210226    if not os.access('svnversion.h', os.R_OK): 
    211227        create_svnversion_task(bld)