@@ -13,7 +13,7 @@ import type {
1313import  {  queue  }  from  './queue' 
1414import  {  current_playlist_id  }  from  '@/components/TrackList.svelte' 
1515import  {  navigate  }  from  './router' 
16- import  {  call ,  get_error_message ,  strict_call  }  from  './error' 
16+ import  {  call ,  error_popup ,   get_error_message ,  strict_call  }  from  './error' 
1717
1818export  const  is_dev  =  window . is_dev 
1919export  const  local_data_path  =  window . local_data_path 
@@ -23,21 +23,21 @@ export const is_windws = window.is_windows
2323const  inner_addon  =  window . addon 
2424export  const  ItunesImport  =  inner_addon . ItunesImport 
2525
26- call ( ( addon )  =>  addon . load_data ( is_dev ,  local_data_path ,  library_path ) ) 
26+ strict_call ( ( addon )  =>  addon . load_data ( is_dev ,  local_data_path ,  library_path ) ) 
2727
28- export  const  paths  =  call ( ( addon )  =>  addon . get_paths ( ) ) 
28+ export  const  paths  =  strict_call ( ( addon )  =>  addon . get_paths ( ) ) 
2929export  function  join_paths ( ...args : string [ ] )  { 
3030	return  args . join ( paths . pathSeparator ) 
3131} 
3232
3333export  const  track_lists_details_map  =  ( ( )  =>  { 
34- 	const  initial  =  call ( ( addon )  =>  addon . get_track_lists_details ( ) ) 
34+ 	const  initial  =  strict_call ( ( addon )  =>  addon . get_track_lists_details ( ) ) 
3535
3636	const  {  subscribe,  set }  =  writable ( initial ) 
3737	return  { 
3838		subscribe, 
3939		refresh ( )  { 
40- 			set ( call ( ( addon )  =>  addon . get_track_lists_details ( ) ) ) 
40+ 			set ( strict_call ( ( addon )  =>  addon . get_track_lists_details ( ) ) ) 
4141		} , 
4242	} 
4343} ) ( ) 
@@ -47,7 +47,9 @@ export async function add_tracks_to_playlist(
4747	check_duplicates  =  true , 
4848)  { 
4949	if  ( check_duplicates )  { 
50- 		const  filtered_ids  =  call ( ( addon )  =>  addon . playlist_filter_duplicates ( playlist_id ,  track_ids ) ) 
50+ 		const  filtered_ids  =  strict_call ( ( addon )  => 
51+ 			addon . playlist_filter_duplicates ( playlist_id ,  track_ids ) , 
52+ 		) 
5153		const  duplicates  =  track_ids . length  -  filtered_ids . length 
5254		if  ( duplicates  >  0 )  { 
5355			const  result  =  await  ipc_renderer . invoke ( 'showMessageBox' ,  false ,  { 
@@ -68,18 +70,21 @@ export async function add_tracks_to_playlist(
6870		} 
6971	} 
7072	if  ( track_ids . length  >=  1 )  { 
71- 		call ( ( addon )  =>  addon . add_tracks_to_playlist ( playlist_id ,  track_ids ) ) 
73+ 		strict_call ( ( addon )  =>  addon . add_tracks_to_playlist ( playlist_id ,  track_ids ) ) 
7274		tracklist_updated . emit ( ) 
7375		save ( ) 
7476	} 
7577} 
7678export  function  remove_from_playlist ( playlist_id : TrackListID ,  item_ids : ItemId [ ] )  { 
77- 	call ( ( addon )  =>  addon . remove_from_playlist ( playlist_id ,  item_ids ) ) 
79+ 	strict_call ( ( addon )  =>  addon . remove_from_playlist ( playlist_id ,  item_ids ) ) 
7880	tracklist_updated . emit ( ) 
7981	save ( ) 
8082} 
8183export  function  delete_tracks_with_item_ids ( item_ids : ItemId [ ] )  { 
82- 	call ( ( addon )  =>  addon . delete_tracks_with_item_ids ( item_ids ) ) 
84+ 	const  result  =  strict_call ( ( addon )  =>  addon . delete_tracks_with_item_ids ( item_ids ) ) 
85+ 	if  ( result . type  ===  'FileDeletionError' )  { 
86+ 		error_popup ( result . field0 ) 
87+ 	} 
8388	tracklist_updated . emit ( ) 
8489	queue . removeDeleted ( ) 
8590	save ( ) 
0 commit comments