Exemple #1
0
 internal bool RadioSearch(int fromYear, int toYear, sp_radio_genre genre, object state)
 {
     lock (libspotify.Mutex)
     {
         int id = GetUserStateId();
         states[id] = state;
         IntPtr browsePtr = libspotify.sp_radio_search_create(sessionPtr, fromYear, toYear, genre, Marshal.GetFunctionPointerForDelegate(search_complete_cb), new IntPtr(id));
         return(browsePtr != IntPtr.Zero);
     }
 }
Exemple #2
0
        internal Search RadioSearchSync(int fromYear, int toYear, sp_radio_genre genre, TimeSpan timeout)
        {
            ManualResetEvent waitHandle = new ManualResetEvent(false);
            int id = GetInternalStateId();

            lock (libspotify.Mutex)
            {
                states[id] = waitHandle;
                if (libspotify.sp_radio_search_create(sessionPtr, fromYear, toYear, genre,
                                                      Marshal.GetFunctionPointerForDelegate(search_complete_cb), new IntPtr(id)) == IntPtr.Zero)
                {
                    waitHandle.Close();
                    states.Remove(id);
                    return(null);
                }
            }

            return(GetSyncResponse(id, waitHandle, timeout) as Search);
        }
Exemple #3
0
 internal static extern IntPtr sp_radio_search_create(IntPtr sessionPtr, int from_year, int to_year, sp_radio_genre genres,
                                                      IntPtr callbackPtr, IntPtr userDataPtr);
 internal static extern IntPtr sp_radio_search_create(IntPtr sessionPtr, int from_year, int to_year, sp_radio_genre genres,
     IntPtr callbackPtr, IntPtr userDataPtr);
Exemple #5
0
        internal Search RadioSearchSync(int fromYear, int toYear, sp_radio_genre genre, TimeSpan timeout)
        {
            ManualResetEvent waitHandle = new ManualResetEvent(false);
            int id = GetInternalStateId();

            lock (libspotify.Mutex)
            {
                states[id] = waitHandle;
                if (libspotify.sp_radio_search_create(sessionPtr, fromYear, toYear, genre,
                    Marshal.GetFunctionPointerForDelegate(search_complete_cb), new IntPtr(id)) == IntPtr.Zero)
                {
                    waitHandle.Close();
                    states.Remove(id);
                    return null;
                }
            }

            return GetSyncResponse(id, waitHandle, timeout) as Search;
        }
Exemple #6
0
 internal bool RadioSearch(int fromYear, int toYear, sp_radio_genre genre, object state)
 {
     lock (libspotify.Mutex)
     {
         int id = GetUserStateId();
         states[id] = state;
         IntPtr browsePtr = libspotify.sp_radio_search_create(sessionPtr, fromYear, toYear, genre, Marshal.GetFunctionPointerForDelegate(search_complete_cb), new IntPtr(id));
         return browsePtr != IntPtr.Zero;
     }
 }