r827: Fix a crash when no audio output device can be opened.
[cinelerra_cv.git] / cinelerra / sighandler.C
bloba14100e9f11f2a71fa6c3b0011bd777326d5ac9a
1 #include "asset.h"
2 #include "file.h"
3 #include "sighandler.h"
5 SigHandler::SigHandler()
6  : BC_Signals()
10 void SigHandler::signal_handler(int signum)
12         printf("SigHandler::signal_handler total files=%d\n", 
13                 files.total);
14         for(int i = 0; i < files.total; i++)
15         {
16                 printf("Closing %s\n", files.values[i]->asset->path);
17                 files.values[i]->close_file(1);
18         }
21 void SigHandler::push_file(File *file)
23 // Check for duplicate
24         for(int i = 0; i < files.total; i++)
25         {
26                 if(files.values[i] == file)
27                 {
28                         printf("SigHandler::push_file: file %s already on table.\n",
29                                 file->asset->path);
30                         return;
31                 }
32         }
34 // Append file
35         files.append(file);
38 void SigHandler::pull_file(File *file)
40         for(int i = 0; i < files.total; i++)
41         {
42                 if(files.values[i] == file)
43                 {
44                         files.remove_number(i);
45                         return;
46                 }
47         }
48         printf("SigHandler::pull_file: file %s not on table.\n",
49                 file->asset->path);