Sophie

Sophie

distrib > Mageia > 6 > armv7hl > by-pkgid > bc1744e2f8f12e679e26791ba096a3a2 > files > 10

libfreebob-devel-1.0.11-14.mga6.armv7hl.rpm

2006-11-20  Daniel Wagner  <wagi@monom.org>

	* freebob_set_samplerate: return value consitency fix. On success
	it return 0 else -1. Reported by Jamie Gennis jgennis at gmail dot com

	* freebob_streaming_start: Reset the playback ringbuffer before calling 
	freebob_streaming_start. 
	
2006-11-11  Daniel Wagner  <wagi@monom.org>

	* src/bebob/bebob_avdevice.cpp (setSamplingFrequencyPlug): copy past
	error fixed. Reported by Jamie Gennis jgennis at gmail dot com

2006-10-07  Daniel Wagner  <wagi@monom.org>

	* libfreebob-1.0 released

2006-06-24  Daniel Wagner  <wagi@monom.org>

	* tests/streaming/Makefile.am: Fixed build problem with missing '/'.

2006-06-10  Daniel Wagner  <wagi@monom.org>

	* Changed building rules: No static sub libraries
	are build anymore.

2006-06-01  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bump to 1.0.0

	* Changed all FreeBob to FreeBoB
	* Removed all .cvsignore
	* Added Pieter to AUTHORS
	* Updated NEWS and README (release canditate date added)

2006-05-31  Daniel Wagner  <wagi@monom.org>

	* Free all allocated asprintf buffers after xmlNewChild.
	Compiler warning removed

2006-05-31  Pieter Palmers  <pieterpalmers@users.sourceforge.net>
    * src/devicemanager.cpp:
    - fixed some memory leaks
    * src/bebob_light/bebob_light_avdevice.cpp:
    - fixed some memory leaks
    - implemented a test to see if the correct AVC subunits are 
      present
    - fixed a bug that added NULL to the subunit list when an
      unsupported AVC subunit was found.
    * src/libfreebobavc/avc_generic.cpp:
    - fixed memory leak
    * src/libfreebobavc/ieee1394service.cpp:
    - fixed memory leak
    * src/libfreebobavc/avc_extended_plug_info.cpp:
    - fixed memory leak
    * src/libfreebobstreaming/messagebuffer.h:
    - add extern "C"
    * src/libfreebobstreaming/freebob_streaming.c:
    - fixed problem with verbosity setting not being passed on
    - reformatted some error/debug messages
    * configure.ac: version bump to 0.9.4

2006-05-29  Pieter Palmers  <pieterpalmers@users.sourceforge.net>
    - implemented a hacked solution to the naming problem when 
      using 2 identical devices. Now the port name is prefixed 
      with "dev#?" with # being the device number (in order of 
      discovery), and the ? being either "c" or "p", meaning 
      "capture" or "playback". Note however that there is no 
      guarantee that device 1 will be the same device next time 
      you start up. This will have to change in 2.0.
    * configure.ac: version bump to 0.9.3

2006-05-26  Pieter Palmers  <pieterpalmers@users.sourceforge.net>
	* src/libfreebobstreaming/*: 
    - added a 'verbose' option to disable/enable message output
    - removed some residual messages
    * configure.ac: version bump to 0.9.2

2006-05-24  Pieter Palmers  <pieterpalmers@users.sourceforge.net>
    * README:
    - updated readme to reflect recent changes
    * src/libfreebobstreaming/*: 
    - message buffer fix
    * configure.ac: 
    - Made -O2 the default for non-debug builds
    - Version bump to 0.9.1

2006-05-22  Pieter Palmers  <pieterpalmers@users.sourceforge.net>
    * */Makefile.am:
    - fixed some problems wrt missing files in SVN and in make dist

    * configure.ac: version bump to 0.9.0 (release candidate 1)

2006-05-12  Pieter Palmers  <pieterpalmers@users.sourceforge.net>
	* src/libfreebobstreaming/*: 
	- Code cleanup
	- Improved SSE code
	- ISO connection parameters are calculated instead of being user
	  specified. Note: you need a new jackd backend version due to this.
	
	* configure.ac: Version bumped to 0.8.2

2006-05-06  Daniel Wagner  <wagi@monom.org>

	* This patch fixes two issues when building:
	- libfreebob include files aren't found when build dir != source dir
	- some libraries aren't found when they're not in a system install dir

	Jeremy Kerr

2006-05-04  Pieter Palmers  <pieterpalmers@users.sourceforge.net>

	* configure.ac: Version bumped to 0.8.1

	* Introduced SSE-accellerated packet encoders/decoders

2006-05-04  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bumped to 0.8.0

	* Discovering code ported stable 0.2.0 version
	to head and activated for default discovering.

2006-05-04  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bumped to 0.7.2

	* src/bebob: Some cleanup on naming and
	namespaces.

2006-05-03  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bumped to 0.7.1

	* Fixed bug in SignalSource command which
	prevented one to set the samplerate.

2006-04-23  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bumped to 0.7.0

	* Abstract interface IAvDevice introduced. 
	* BeBoB device discovering code moved into bebob directory.
	* Bounce device added.

2006-04-17  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bumped to 0.6.4

	* src/libfreebobavc/avc_generic.cpp (serialize): Decode subunit_type 
	and subunit_id field.
	(fire): avc1394_transaction_block2 inteface change update.
	* src/libfreebobavc/ieee1394service.cpp (transactionBlock): Likewise.
	* src/libfreebobavc/ieee1394service.h: Likewise.

2006-04-11  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bumped to 0.6.3
	
	* src/avdevicesubunit.cpp (discoverFunctionBlocks): reformating.
	(discoverFunctionBlocksDo): Really added a correct
	bugfix for the reuse of ExtendedSubunitInfoCmd.

2006-04-07  Pieter Palmers <pieterpalmers@users.sourceforge.net>

	* src/avdevice.h src/avdevice.cpp: moved the include of stdint.h
	from the implementation to the header, to fix certain compilation
	problems wrt uint64_t. This datatype is also used in the class
	definition in avdevice.h.

2006-04-05  Pieter Palmers <pieterpalmers@users.sourceforge.net>

	* configure.ac: Version bump to 0.6.2

	* src/freebob.cpp: Retry setting the sample rate if it fails the
	first time.
	
	* src/libfreebobstreaming/*: Added an way to choose for playback
	or capture only (for ALSA plugin), using the options passed when
	creating the freebob device.  * src/libfreebobstreaming/*: fixed
	the bug that prevented playback only operation.

2006-04-04  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bump to 0.6.1

	* src/avdevicesubunit.cpp (discoverFunctionBlocksDo): 
	ExtendedSubunitInfoCmd is not reusable at this point. 
	Moved into its own block so that's initatilialized correctly.

2006-03-30  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bump to 0.6.0

	* src/*: Verbose bool turned int verbose level.
	
	* src/libfreebobavc/*: Moved fire implementation to 
	base class (AVCCommand). 
	
	* libfreebob/freebob.h: freebob_sleep_after_avc_command
	workaround added.

	* tests/test-freebob.c: Verbose bool turned into verbose level.
	Workaround: sleep after avc command added.

	* tests/streaming/Makefile.am (*_SOURCES): Added libavc1394 to LDADD.
	* tests/Makefile.am (*_SOURCES): Likewise.
	
	* tests/streaming/teststreaming2.c (fid_in): compiler warning fixed.

2006-03-20  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bump to 0.5.2

	* src/avplug.cpp (discoverStreamFormat): If no stream format information
	is available or format hierarchy root is not Audio&Music skip plug. 
	(discoverSupportedStreamFormats): Added 'support' for IEC60968-3 (SPDIF transparent)

2006-03-15  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bump to 0.5.1
	
	* src/libfreebobavc/avc_extended_plug_info.cpp (fire): 
	  Handle NOT_IMPLEMENTED.
	
	* src/avplug.h: Input and output plug discovering part
	fixed. Now connection are correctly handled.
	* src/avplug.cpp: Likewise.
	* src/avdevicesubunit.cpp: Likewise.

2006-03-12  Daniel Wagner  <wagi@monom.org>

	* src/libfreebobavc/ieee1394service.cpp (transactionBlock): Set retry
	value to 10. 

2006-03-10  Daniel Wagner  <wagi@monom.org>

	* configure.ac: Version bump to 0.5.0

	* src/avdevice.cpp: Plug connection discovering
	finished. 
	* src/avdevicesubunit.cpp: Likewise.
	* src/avdevicesubunit.h: Likewise.
	* src/avplug.cpp: Likewise.
	* src/avplug.h: Likewise.
	* src/functionblock.cpp: Likewise.
	* src/functionblock.h: Likewise.
	
	* src/libfreebobavc/Makefile.am: New files added.
	* src/libfreebobavc/avc_extended_subunit_info.cpp: Likewise.
	* src/libfreebobavc/avc_extended_subunit_info.h: Likewise

	* src/libfreebobavc/avc_definitions.h: Several small improvements.
	* src/libfreebobavc/avc_extended_cmd_generic.cpp: Likewise.
	* src/libfreebobavc/avc_extended_cmd_generic.h: Likewise.
	* src/libfreebobavc/avc_extended_plug_info.cpp: Likewise.
	* src/libfreebobavc/avc_generic.cpp: Likewise.

2006-03-05  Daniel Wagner  <wagi@monom.org>

	* src/avdevice.cpp: Plug connection discovering also on
	subunits (disabled because missing funciton blocks).
	Sync connections code cleanup.
	* src/avdevice.h: Likewise.
	* src/avdevicesubunit.cpp: Likewise.
	* src/avdevicesubunit.h: Likewise.
	* src/avplug.cpp: Likewise.
	* src/avplug.h: Likewise.

	* src/Makefile.am: Added functionblock.cpp and
	functionblock.h
	* src/functionblock.cpp: New file
	* src/functionblock.h: Likewise.

2006-03-04  Daniel Wagner  <wagi@monom.org>

	* src/avdevice.cpp: Sync mode discovering improved.
	* src/avdevice.h: Likewise.
	* src/avplug.cpp: Likewise.
	* src/avplug.h: Likewise.

	* tests/test-freebob.c: Added 'odiscover' command which
	does not print the xml stuff.

	* src/avdevice.cpp: Added 'verbose' argument to constructor
	and set debug level to DEBUG_LEVEL_VERBOSE if 'verbose'
	is true, e.g enables verbose mode with '-v' argument passed
	to test-freebob.
	* src/avdevice.h: Likewsise.
	* src/avdevicesubunit.cpp: Likewsise.
	* src/avdevicesubunit.h: Likewsise.
	* src/avplug.cpp: Likewsise.
	* src/avplug.h: Likewsise.
	* src/devicemanager.cpp: Likewsise.
	* src/debugmodule/debugmodule.cpp: Likewsise.
	* src/debugmodule/debugmodule.h: Likewsise.
	* src/debugmodule/test_debugmodule.cpp: Likewsise.
	
	* src/avdevice.cpp: eAP_* renamed into eAPA_*.
	EAvPlugDirection and EAvPlugType introduced. All PlugAddress:ePD_ and 
	ExtendedPlugInfoPlugTypeSpecificData::eEPIPT_* exchanged with corresponding
	AvPlug definitions.
	* src/avdevice.h: Likewise.
	* src/avdevicesubunit.cpp: Likewise.
	* src/avdevicesubunit.h: Likewise.
	* src/avdevicexml.cpp: Likewise.
	* src/avplug.cpp: Likewise.
	* src/avplug.h: Likewise.

2006-03-02  Daniel Wagner  <wagi@monom.org>

	* src/avplug.cpp (discoverStreamFormat): Sanity check turned
	into warning.

	* configure.ac: bumb minor version to 0.4

	* src/libfreebobavc/avc_extended_cmd_generic.h: plugAddressPlugDirectionToString
	and plugAddressAddressModeToString added.
	* src/libfreebobavc/avc_extended_cmd_generic.cpp: Likewise.

	* src/avplug.h: Enum EAvPlugType renamed to EAvPlugAddressType.
	getPlugAddressType added. getPlugType returns now real plug type.
	(class AvPlugManager): getPlugByType added.

	* src/avdevice.h: getPlugByType added.
	* src/avdevice.cpp: Likewise.
	(discoverSyncModes): Use getPlugByType instead
	of hardcoded id to find sync plugs.

	* src/devicemanager.h: Verbose argument not in constructor
	instead in discover method.
	* src/devicemanager.cpp: Likewise.

	* libfreebob/freebob.h (freebob_discover_devices): Verbose argument
	added.
	* src/libfreebobstreaming/freebob_streaming.c: Likewise.
	* src/freebob.cpp: Likewise.
	* tests/test-freebob.c: Likewise.

2006-03-01  Daniel Wagner  <wagi@monom.org>

	* configure.ac: bumb minor version to 0.3

	* src/avdevice.cpp: Discover connections between plugs.
	* src/avdevice.h: Likewise.
	* src/avdevicesubunit.cpp: Likewise.
	* src/avdevicesubunit.h: Likewise.
	* src/avdevicexml.cpp: Likewise.
	* src/avplug.cpp: Likewise.
	* src/avplug.h: Likewise.
	* src/devicemanager.cpp: Likewise.
	* src/devicemanager.h: Likewise.
	* src/freebob.cpp: Likewise.

	* src/libfreebobavc/avc_extended_cmd_generic.cpp: Give
	return value to caller. New undefined plug address
	introduced. Handling of response message is more rebust now.
	* src/libfreebobavc/avc_extended_cmd_generic.h: Likewise.
	* src/libfreebobavc/avc_extended_plug_info.cpp: Likewise.
	* src/libfreebobavc/avc_extended_stream_format.cpp: Likewise.
	* src/libfreebobavc/avc_extended_stream_format.h: Likewise.
	* src/libfreebobavc/avc_plug_info.cpp: Likewise.
	* src/libfreebobavc/avc_signal_source.cpp: Likewise.
	* src/libfreebobavc/avc_signal_source.h: Likewise.
	* src/libfreebobavc/avc_subunit_info.cpp: Likewise.
	* src/libfreebobavc/avc_unit_info.cpp: Likewise.
	* src/libfreebobavc/avc_extended_plug_info.cpp: Likewise.
	* src/libfreebobavc/avc_extended_stream_format.cpp: Likewise.
	* src/libfreebobavc/avc_extended_cmd_generic.cpp:
	* src/libfreebobavc/avc_extended_cmd_generic.h: Likewise.

	* src/libfreebobstreaming/freebob_debug.h: DEBUG is defined through --enable-debug
	switch.

	* src/libfreebobstreaming/freebob_connections.h: Removed double defined variable 
	if DEBUG is defined.

2006-02-28  Pieter Palmers <pieterpalmers@users.sourceforge.net>
	* Added the streaming API that was previously hardcoded into the jackd backend
	  to the library as src/libfreebobstreaming.
	* Added test programs for the streaming API in tests/streaming

2006-02-26  Daniel Wagner  <wagi@monom.org>

	* src/avdevice.cpp: Some more refactoring (m_isoInputPlugs and m_isoOutputPlugs
	unified into m_isoPlugs). Discovering of unit external plugs.
	* src/avdevice.h: Likewise.
	* src/avdevicexml.cpp: Likewise.
	* src/avdevicesubunit.cpp: Likewise.
	* src/avdevicesubunit.h: Likewise.
	* src/avplug.cpp: Likewise.
	* src/avplug.h: Likewise.

	* src/libfreebobavc/avc_extended_cmd_generic.h (class UnitPlugAddress): 
	ePT_Unknown enum added.

2006-02-22  Daniel Wagner  <wagi@monom.org>

	*  configure.ac
	src/Makefile.am
        src/avdevice.cpp
        src/avdevice.h
        src/avdevicesubunit.cpp
        src/avdevicesubunit.h
        src/avdevicexml.cpp
        src/avplug.cpp
	src/avplug.h
        src/avplugxml.cpp
        src/libfreebobavc/avc_extended_plug_info.cpp
        src/libfreebobavc/avc_extended_plug_info.h
        src/libfreebobavc/avc_extended_stream_format.cpp
        src/libfreebobavc/avc_extended_stream_format.h
        src/libfreebobavc/avc_plug_info.cpp
        src/libfreebobavc/avc_plug_info.h:
	Refactoring: plug discovering is now part of AvPlug
	instead of AvDevice.
	All plugs of music and audio subunit are now also
	discovered.
	libfreebobavc: Copy constructor added.

	The overhaul is not finished. This is the first
	version which works again.

2006-01-19  Daniel Wagner  <wagi@monom.org>

        * This patch cleans up the external dependency detection for 
	libfreebob. At present, building libfreebob is not possible 
	if libraries are outside the system include/library paths 
	(ie /usr/ and /usr/local). Use the results of pkg-config to 
	specify the correct paths to the automake system.

	Becuase we're using pkgconfig, there's no real need to use 
	AC_CHECK_LIB or AC_CHECK_HEADERS. However, these could 
	potentially be reinstated, but need to be fixed to check in 
	the locations specified by pkgconfig.

	* It is not currently possible to build freebob in a directory 
	outside the source dir (ie, builddir != srcdir). This patch 
	fixes the include paths to allow this. (it's handy for keeping 
	the source tree clean, or when building on multiple architectures 
	- I use a build dir of $srcdir/obj-$arch-$os)

	Both patches are written by Jeremy Kerr <jk@ozlabs.org>

2006-01-12  Daniel Wagner  <wagi@monom.org>

	* src/avdevice.cpp: Include stdint.h.
	Some compilers seem to need the definitions.

2006-01-08  Daniel Wagner  <wagi@monom.org>

	*  libfreebob/freebob.h
	libfreebob/xmlparser.h
	src/avdevice.cpp
	src/xmlparser.c
	tests/test-freebob.c:
	Add stream format info support.

        * src/avdevice.h
	src/avdevice.cpp: 
	Refactoring and code duplication removal.
	
	* src/avdevice.cpp (getModelName): 
	Return model name and not vendor name.
	(getVendorName): 
	Return vendor name and not model name.
	(discoverStep10Plug): Implementation added.
	(enumerateSubUnits): max_subunit_id removed.
	(addXmlDescription): Add stream format infos.

	* src/avdevice.h: discoverStep10 added.
	Renaming of addPlugToXmlDescription to addXmlDescriptionPlug.
	ESampleRate to ESamplingFrequency changes.

	* src/avplug.cpp (getSampleRate): 
	Use convertESamplingFrequency instead of
	local implementation.

	* src/avplug.h: 
	ESampleRate to ESamplingFrequency changes.
	Added FormatInfo struct.

	* src/devicemanager.cpp (getXmlDescription): 
	Print GUID correctly.

	* src/freebob.cpp (parseSampleRate): 
	Moved to avc_definitions.cpp

	* src/libfreebobavc/avc_definitions.h
	src/libfreebobavc/avc_definitions.cpp: 
	Renamed ESampleRate back to ESamlingFrequency.
	Added connvert functions for ESamplingFrequency.

	* configure.ac: New micro version.

2006-01-06  Daniel Wagner  <wagi@monom.org>

	* tests/test-freebob.c (main): setsamplerate on all
	devices takes now the samplerate argument.

	* src/freebob.cpp (freebob_set_samplerate): After setting
	sampling rate rediscover devices.

	* src/devicemanager.cpp (discover): Clear vector as well after
	delete all elements. Cout and cerr replaced with debugModule.

	* src/avdevice.cpp (discoverStep8): Skip sync plug.
	(discoverStep9): Sanity check fixed and reenabled.

	* configure.ac: New micro version.

	* src/avdevice.h 
	src/avdevice.cpp (setSampleRate): Implementation added.

	* src/devicemanager.cpp 
	src/devicemanager.h (getAvDevice): New functions
	(setNodeSampleFrequency): removed.

	* src/freebob.cpp (parseSampleRate): New function.
	(freebob_set_samplerate): Use AvDevice directly
	for setting samplerate.

	* src/libfreebobavc/avc_definitions.h
	src/libfreebobavc/avc_definitions.cpp: Changed ESampleFrequency
	to ESampleRate.

	* tests/test-freebob.c: Info added about OPERATION arguments.
	Parse sample rate for setsamplerate command.
	Let emacs reindent code. Sorry Pieter :)

2006-01-04  Daniel Wagner  <wagi@monom.org>

	* tests/test-extplugcmd.cpp: Changed test application
	to use PlugType and PlugName command for testing.

	* src/libfreebobavc/avc_extended_plug_info.cpp (serialize): 
	The string.length() thing did not work as expected. A workaround
	added which converts the C++ string into a C string before strlen
	is used.

2006-01-03  Daniel Wagner  <wagi@monom.org>

	* src/devicemanager.cpp (discover): If config rom initializing
	failes just skip this device. The PHY might be in power safe 
	mode and then there is no config rom to be discovered.

2006-01-02  Pieter Palmer <pieterpalmers@users.sourceforge.net>

	* tests/test-freebob.c: Added support for scanning the whole bus.
	Added xmldump operation to dump an XML description of the FW bus.

	* src/freebob.cpp src/freebob.h: Added freebob_print_xml_description 
	to print an XML description of the bus.
	Added freebob_node_is_valid_freebob_device().
	Added freebob_get_nb_devices_on_bus().
	Added freebob_get_device_node_id().
	Added freebob_set_samplerate() as a dummy (unimplemented)

	* src/libfreebobavc/avc_connect.cpp 
	src/libfreebobavc/avc_extended_stream_format.cpp
	src/libfreebobavc/avc_extended_stream_format.h
	src/libfreebobavc/avc_plug_info.cpp
	src/libfreebobavc/avc_signal_source.cpp
	src/avcdevice.cpp 
	src/avdevice.h 
	src/avplug.cpp 
	src/avplug.h
	src/devicemanager.cpp
	src/devicemanager.h:
	Fixed NodeId bug.
	Commented out sanity check that failed for midi channels.
	Fixed Dimension bug.
	Increased all "XXX random length" requests.
	Made a mess of clean code ;)

	* configure.ac: Bumped library verson

	* src/xmlparser.c
	tests/test-freeebob.c: Added support to detect & use 
	multiple devices on the bus.

	* src/libfreebobavc/avc_extendec_plug_info.cpp
	src/configrom.cpp:
	Some small memory access bugfixes.
	
2006-01-02  Daniel Wagner  <wagi@monom.org>

	* src/avdevice.cpp (discoverStep9): Sanity check: 8 logical
	midi channel fit into 1 channel.

2005-12-31  Daniel Wagner  <wagi@monom.org>

	* src/debugmodule/debugmodule.h: debugFatal, debugError
	and debugWarning declaration always declared.

	* src/xmlparser.c (freebob_xmlparse_connection): Parse IsoChannel
	node.

	* src/freebob.cpp (freebob_print_connection_info): Print all
	members from connection_spec (IsoChannel and IsMaster).

	* src/avdevice.cpp (addPlugToXmlDescription): Set direction
	according library interface definition and not according
	avc model. 
	Add IsoChannel node.

	* configure.ac: Version set to 0.0.2

2005-12-30  Daniel Wagner  <wagi@monom.org>

	* src/libfreebobavc/avc_extended_stream_format.cpp (fire): Buffer
	length increased.

	* src/avdevice.cpp (discoverStep9): Error message extended.
	More debug info added.

	* src/debugmodule/debugmodule.h: Enable debugFatal, debugError and 
	also in the release case.

2005-12-28  Daniel Wagner  <wagi@monom.org>

	* tests/test-freebob.c (main): Debug info added.

	* src/libfreebobavc/ieee1394service.cpp (initialize): Use 
	raw1394_new_handle_on_port instead of raw1394_new_handle and
	raw1394_set_port.

	* src/devicemanager.cpp (initialize): After deleteing 1394 service 
	clear also pointer.

	* libfreebob/freebob.h: freebob_direction enum names changed
	members which jack backed freebob needs to freebob_connection added
	
	* configure.ac: Update library version depency.

2005-12-27  Daniel Wagner  <wagi@monom.org>

	* src/libfreebobavc/avc_extended_plug_info.cpp (serialize): 
	Do cast of the length field to let the compiler know which version
	of the serializing code it has to take.

2005-12-26  Daniel Wagner  <wagi@monom.org>

	* Initial check-in and first beta relase 'late x-mass gift'.