static Playlist() { lock(libspotify.Mutex) { callbacks = new libspotify.sp_playlist_callbacks(); callbacks.playlist_renamed = Marshal.GetFunctionPointerForDelegate(playlist_renamed); callbacks.playlist_state_changed = Marshal.GetFunctionPointerForDelegate(playlist_state_changed); callbacks.playlist_update_in_progress = Marshal.GetFunctionPointerForDelegate(playlist_update_in_progress); callbacks.tracks_added = Marshal.GetFunctionPointerForDelegate(tracks_added); callbacks.tracks_moved = Marshal.GetFunctionPointerForDelegate(tracks_moved); callbacks.tracks_removed = Marshal.GetFunctionPointerForDelegate(tracks_removed); callbacks.playlist_metadata_updated = Marshal.GetFunctionPointerForDelegate(metadata_updated); int size = Marshal.SizeOf(callbacks); callbacksPtr = Marshal.AllocHGlobal(size); Marshal.StructureToPtr(callbacks, callbacksPtr, true); } }
static Playlist() { lock (libspotify.Mutex) { callbacks = new libspotify.sp_playlist_callbacks(); callbacks.playlist_renamed = Marshal.GetFunctionPointerForDelegate(playlist_renamed); callbacks.playlist_state_changed = Marshal.GetFunctionPointerForDelegate(playlist_state_changed); callbacks.playlist_update_in_progress = Marshal.GetFunctionPointerForDelegate(playlist_update_in_progress); callbacks.tracks_added = Marshal.GetFunctionPointerForDelegate(tracks_added); callbacks.tracks_moved = Marshal.GetFunctionPointerForDelegate(tracks_moved); callbacks.tracks_removed = Marshal.GetFunctionPointerForDelegate(tracks_removed); callbacks.playlist_metadata_updated = Marshal.GetFunctionPointerForDelegate(metadata_updated); int size = Marshal.SizeOf(callbacks); callbacksPtr = Marshal.AllocHGlobal(size); Marshal.StructureToPtr(callbacks, callbacksPtr, true); } }