Rev 315 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 252 | jelle | 1 | #!/bin/bash |
| 2 | |||
| 339 | jelle | 3 | # date: 2008-11-02 / 2008-11-24 / 2008-12-16 / 2009-04-22 |
| 4 | # version: v0.1.4j |
||
| 252 | jelle | 5 | # creator: Jelle de Jong <jelledejong@powercraft.nl> |
| 6 | # project: openarm sbc |
||
| 7 | # licence: gplv3 |
||
| 8 | |||
| 277 | agaran | 9 | # this file wont work with no $DISPLAY and requires psnup |
| 10 | # so imho it should check for DISPLAY at least |
||
| 11 | # like that |
||
| 12 | |||
| 13 | if [ "x$DISPLAY" == "x" ]; then |
||
| 301 | jelle | 14 | echo "Its quite possible that you aren't executing this script from X system, or" |
| 15 | echo "you don't have DISPLAY env variable set. I cannot continue because gschem won't" |
||
| 16 | echo "work unless you set one, even with xserver with dummy output i hope" |
||
| 17 | exit |
||
| 277 | agaran | 18 | fi |
| 19 | |||
| 315 | jelle | 20 | pdf_dir="$HOME/openarm/working/gschem/pdf" |
| 21 | sch_dir="$HOME/openarm/working/gschem/sch" |
||
| 22 | project="openarm-sbc" |
||
| 23 | |||
| 252 | jelle | 24 | echo ';; This file may be used to print gschem schematics from the |
| 25 | ;; command line. Typical usage is: |
||
| 26 | ;; |
||
| 27 | ;; gschem -p -o mysch.ps -s /path/to/this/file/print.scm mysch.sch |
||
| 28 | ;; |
||
| 29 | ;; The schematic in "mysch.sch" will be printed to the file "mysch.ps" |
||
| 30 | ;; |
||
| 253 | jelle | 31 | ;; documentation: less /etc/gEDA/system-gschemrc |
| 252 | jelle | 32 | ;; documentation: less /user/share/gEDA/scheme/print.scm |
| 33 | ;; |
||
| 34 | |||
| 35 | (log-window "later") |
||
| 36 | |||
| 37 | (output-type "limits") |
||
| 38 | (paper-size 16.54 11.69) |
||
| 39 | (output-text "ps") |
||
| 40 | (output-type "extents") |
||
| 41 | (output-orientation "landscape") |
||
| 42 | (output-color "enabled") |
||
| 43 | |||
| 44 | ; You need call this after you call any rc file function |
||
| 45 | (gschem-use-rc-values) |
||
| 46 | |||
| 47 | ; filename is specified on the command line |
||
| 48 | (gschem-postscript "dummyfilename") |
||
| 49 | |||
| 315 | jelle | 50 | (gschem-exit)' > $pdf_dir/print.scm |
| 252 | jelle | 51 | |
| 301 | jelle | 52 | for file in "$sch_dir"/*.sch |
| 53 | do |
||
| 54 | if [ -f "$file" ] |
||
| 55 | then |
||
| 56 | filename=${file##*/} |
||
| 57 | shortname=${filename%.*} |
||
| 58 | gschem -p -o $pdf_dir/$shortname.ps -s $pdf_dir/print.scm $sch_dir/$shortname.sch |
||
| 59 | if [ -x /usr/bin/psnup ] |
||
| 60 | then |
||
| 303 | jelle | 61 | /usr/bin/psnup -p a3 -l -m -1.20cm $pdf_dir/$shortname.ps $pdf_dir/$shortname-trimmed.ps |
| 301 | jelle | 62 | fi |
| 63 | if [ -x /usr/bin/ps2pdf14 ] |
||
| 64 | then |
||
| 65 | /usr/bin/ps2pdf14 -sPAPERSIZE=a3 $pdf_dir/$shortname-trimmed.ps $pdf_dir/$shortname.pdf |
||
| 66 | fi |
||
| 67 | if [ -e $pdf_dir/$shortname.ps ] |
||
| 68 | then |
||
| 69 | rm $pdf_dir/$shortname.ps |
||
| 70 | fi |
||
| 71 | if [ -e $pdf_dir/$shortname-trimmed.ps ] |
||
| 72 | then |
||
| 73 | rm $pdf_dir/$shortname-trimmed.ps |
||
| 74 | fi |
||
| 75 | if [ -e $pdf_dir/$shortname.pdf ] |
||
| 76 | then |
||
| 77 | pdf_query+=("$pdf_dir/$shortname.pdf") |
||
| 252 | jelle | 78 | |
| 301 | jelle | 79 | fi |
| 80 | fi |
||
| 81 | done |
||
| 252 | jelle | 82 | |
| 301 | jelle | 83 | if [ -n "$pdf_query" ] |
| 84 | then |
||
| 85 | if [ -x /usr/bin/pdftk ] |
||
| 86 | then |
||
| 302 | jelle | 87 | /usr/bin/pdftk "${pdf_query[@]}" cat output $pdf_dir/$project-schematics.pdf |
| 339 | jelle | 88 | else |
| 89 | echo "warning: /usr/bin/pdftk is not installed not generating combined schematic" |
||
| 301 | jelle | 90 | fi |
| 91 | fi |
||
| 252 | jelle | 92 | |
| 93 | exit |