]> git.sesse.net Git - mlt/blob - demo/demo
reorganized consumer_westley.
[mlt] / demo / demo
1 #!/bin/bash
2
3 function show_consumers( )
4 {
5         awk -F '\t' '{ printf( "%d. %s\n", ++ i, $1 ); }' < consumers.ini
6 }
7
8 function get_consumer( )
9 {
10         option=$1
11         [ "$option" != "" ] && [ $option -gt 0 ] && sed 's/\t\+/\t/g' < consumers.ini | cut -f 2 | head -n $option | tail -n -1
12 }
13
14 function show_menu( )
15 {
16         sed 's/\t\+/\t/g' < demo.ini |
17         awk -F '\t' '{ printf( "%2d. %-30.30s", ++ i, $2 ); if ( i % 2 == 0 ) printf( "\n" ); } END { if ( i % 2 == 1 ) printf( "\n" ); }'
18 }
19
20 function check_dependencies( )
21 {
22         option=$1
23         if [ $option -gt 0 ]
24         then
25                 deps=`sed 's/\t\+/\t/g' < demo.ini | cut -f 3 | head -n $option | tail -n -1`
26                 if [ "$deps" != "" ]
27                 then
28                         echo "$deps" | 
29                         tr ',' '\n' | 
30                         while read dep 
31                         do
32                                 ls $dep > /dev/null 2>&1
33                                 val=$?
34                                 [ $val != 0 ] && echo Failed to find $dep >&2 && echo $val
35                         done
36                 fi
37                 echo 0
38         fi
39 }
40
41 function get_demo( )
42 {
43         option=$1
44         if [ $option -gt 0 ]
45         then
46                 cut -f 1 demo.ini | head -n $option | tail -n -1
47         fi
48 }
49
50 cd ..; . setenv; cd -
51
52 while [ 1 ]
53 do
54
55         echo Select Consumer
56         echo
57
58         show_consumers
59
60         echo
61         echo 0. Exit
62         echo
63         echo -n "Option: "
64         read option
65         echo
66
67         [ "$option" == "0" ] && break
68
69         export MLT_CONSUMER=`get_consumer $option`
70
71         while [ "$option" != "0" -a "$MLT_CONSUMER" != "" ]
72         do
73                 echo Choose Demo
74                 echo
75         
76                 show_menu
77         
78                 echo
79                 echo -n "Option: "
80                 read option
81                 echo
82
83                 [ "$option" == "" ] && break
84         
85                 demo=`get_demo $option`
86                 usable=`check_dependencies $option`
87         
88                 if [ "$usable" = "0" -a "$demo" != "" ]
89                 then
90                         if [ "$MLT_CONSUMER" == "westley:" ]
91                         then    export WESTLEY_CONSUMER="westley:$demo.westley"
92                                         bash $demo -consumer $WESTLEY_CONSUMER
93                                         inigo +$demo.txt out=100 $demo.westley $demo.westley -filter watermark:watermark1.png composite.fill=true
94                         elif [ "$MLT_CONSUMER" == "westley" ]
95                         then    bash $demo -consumer $MLT_CONSUMER | less
96                         else    bash $demo -consumer $MLT_CONSUMER
97                         fi
98                 elif [ "$usable" != "" ]
99                 then
100                         echo 
101                         echo Unable to locate suitable files for the demo - please provide them.
102                         read pause
103                 fi
104         
105                 stty sane
106         done
107
108 done