Bagaimana-Untuk Geek Bagaimana-Untuk Geek Saya telah melakukan hal-hal seperti ini untuk waktu yang lama, dimulai dari MSDOS, dan Anda tidak perlu menunggu pratinjau Win10 dibuat untuk mendapatkan versi Bash. Pertanyaannya adalah mengapa Anda mungkin menginginkannya. Sebagian besar upaya yang saya lihat terfokus pada pengembang yang menginginkan toolkit GnuLinux tersedia untuk digunakan dalam pengembangan di Windows. Cygwin memiliki maksud untuk porting toolchain GnuLinux ke Win32 Alih-alih menulis ulang semuanya untuk menggunakan API Windows, bukan nix system calls, mereka menerapkan lapisan kompatibilitas POSIX yang dienkapsulasi sebagai DLL. Banyak kode nix dibangun di luar kotak menggunakan GCC di bawah Cygwin karena terhubung dengan DLL dan melihat rutinitas sistem nix yang diharapkannya. Ini bekerja dengan baik, namun membutuhkan hit kecepatan yang serius karena perbedaan antara bagaimana nix dan Windows melakukan sesuatu, seperti masalah dengan proses forking. Dan saat Anda berada di bawah Cygwin, Anda berada dalam lingkungan baris perintah nix yang kompatibel, dan harus digunakan sebagai pemisah PATH dan - sebagai karakter kontrol pilihan, dan melompat melalui berbagai lingkaran saat berinteraksi dengan perintah asli yang tidak grok bahwa sebagai konsekuensinya. Alternatifnya adalah usaha UWin ATampT, lingkungan open source mengambil pendekatan yang mirip dengan Cygwin dalam menggunakan lapisan kompatibilitas, dengan port dari cangkang Korn sebagai pusat. (Proyek ini dijalankan oleh pencipta Korn Shell Dr. David Korn.) Proyek MinGW dan rekan MSYS mengambil pendekatan yang berbeda, membangun hal-hal melalui GCC untuk menggunakan runtimes Windows, dan banyak perintah nix tersedia seperti versi GCC Dikonfigurasi untuk mengkompilasi ke binari Windows asli. Saya memilikinya di desktop saya di bawah Win7. Implementasi penuh dari bash dan friends yang pernah saya lihat adalah bagian dari Git for Windows. Install, dan Anda mendapatkan versi Git DVCS untuk Windows dan satu set lengkap utilitas GnuLinux di Windows asli, termasuk bash. Bash sendiri bisa didapat dari bermacam-macam sumber, seperti juga tcsh, zsh, dan lainnya, tapi versi tersebut akan didasarkan pada kode yang lebih lama. Hal yang menarik dari usaha ini bukan bash per se - dengan penambahan library ke Windows yang memberikan dukungan yang memungkinkan penerapan bash. Saat ini, Id meminta bash dan teman-teman membuktikan sebuah konsep yang menunjukkan kemungkinannya. Melihat kemampuan untuk menjalankan aplikasi grafis Ubuntu di bawah Windows di jalan tidak akan mengejutkan. (Ada proyek yang hampir sama untuk mendapatkan lingkungan desktop KDE di bawah Windows menggunakan Cygwin, yang benar-benar memiliki desktop KDE yang bekerja untuk Windows di hari-hari WinXP, jadi pasti bisa dilakukan.) Powershell memberikan akses hampir ke semua framework, Win32 dan native Perpustakaan. Jadi saya tidak akan mengatakan bahwa bash jauh lebih unggul dari itu. Chris menulis, Ada beberapa keterbatasan disini. Ini wont bekerja dengan perangkat lunak server, dan wont bekerja dengan perangkat lunak grafis. Nah, ternyata setidaknya ada beberapa perangkat lunak grafis yang bisa dibuat untuk bekerja dengannya. Nenein memiliki artikel oleh Andrew Stevenson yang menunjukkan di mana seseorang memiliki vi (vim) berbasis gui yang berjalan melalui shell bash pada Windows 10. Saya tidak tahu apakah GNOME Aplikasi akan berjalan di windows, karena akan setara dengan dua ukuran ose pada HDD dan itu tidak akan sangat berguna, MS tidak tertarik untuk membuatnya sebaik mungkin, satu-satunya hal yang mereka ingin lakukan adalah mengintegrasikan Linux ke Windows Server untuk mendapatkan potongan kue yang lebih besar di ruang server Alejandro Lengua Vega Saya menggunakan Windows 10, Home Edition. Mungkin itu menjadi masalah saya benar-benar tidak dapat melihat ini sebagai fitur nyata bagi pengguna rata-rata, namun saya dapat benar-benar melihat ini di Windows Server. Mungkin tidak di 2012R2, tapi pada Server 2016 - yang belum pernah dirilis tapi sama kernelnya dengan 10. Jadi, ini mungkin ditujukan untuk pengembang. Saya cukup yakin Microsoft tidak memiliki kepentingan untuk menjalankan aplikasi Linux yang berjalan di Windows saat ada 1000 alternatif Windows yang setara. Either way, ini brilian untuk Microsoft. Melihat mereka mendukung sepenuhnya UNIXLinux pada Hyper-V, mereka bergerak untuk menggabungkan pemirsa Profesional yang lebih luas dan pengguna Desktop Linux yang tidak melakukannya. Saya menduga tujuan mereka adalah pindah ke ruang UNIX di jalan. Pikirkan, LAMP pada Server 2016. Terima kasih Chris atas penulisannya. Saya bisa menginstal Ubuntu di mesin Win10 saya tapi saya tidak dapat menemukan cara mengubah direktori ke drive jaringan yang dipetakan. Aku bisa melakukan cd mntcWindows untuk pergi ke C: Windows, tapi tidak bisa pergi ke drive jaringan manapun. Di bawah mnt hanya ada folder c. Muscript 3.2 Muscript adalah bahasa untuk typesetting music, dan script Perl, atau script Lua, yang menerjemahkan bahasa ini ke dalam PostScript. Atau ke dalam Encapsulated PostScript. Atau ke MIDI. Atau ke MusicXML. Dan ada script muscriptps2svg untuk menerjemahkan muskrip ke SVG. Muskrip ditulis oleh Peter Billam untuk menyusun komposisi dan pengaturannya sendiri, ia memulai kehidupan sebagai naskah awk, dan diumumkan ke dunia pada tahun 1996. Kemampuan untuk mendefinisikan variabel diperkenalkan pada versi 3.1 Baru Versi musk saat ini adalah 3.2p. Versi dwibahasa, tersedia di Perl dan Lua. Ini berakhir dengan rincian bagaimana mendownload dan menginstal muskrip, mengenai masalah ukuran halaman. Beberapa alat untuk memanipulasi file muskrip kemudian setelah riwayat perubahan dan daftar perangkat tambahan yang diusulkan. Ada beberapa petunjuk untuk beberapa software free-typesetting musik lainnya. Dalam direktori terpisah, ada beberapa contoh yang tersedia untuk Anda mulai dengan sintaks sintaks. Bahasa muskel dirancang, dalam semangat eqn dan pic. Untuk mencerminkan cara seorang musisi bisa menggambarkan skor secara rinci melalui telepon ke musisi lain. Bahasanya cukup kompak, dan halaman musik bisa digambarkan tidak lebih dari sekedar halaman teks ascii. Sebenarnya dengan sedikit latihan seorang musisi bisa melihat-baca skor dalam bentuk muskripnya. Input teks teks terdiri dari sejumlah perintah, kebanyakan pada baris terpisah. Backslash sebagai karakter terakhir pada sebuah garis akan melanjutkan perintah pada baris berikutnya. Menggambarkan halaman musik dalam muskrip sesuai dengan cara Anda menulis halaman sehingga pertama-tama Anda menggambar tongkatnya, maka pada setiap stave Anda menggambar teka-teki, maka untuk setiap batang Anda mengisi clef, catatan, dll. Setiap halaman terdiri dari beberapa Sistem. Masing terdiri dari satu atau lebih batang. Masing-masing terdiri dari satu atau lebih tongkat. Masing berisi satu atau lebih catatan atau kata-kata. BoundingBox Jika baris pertama dalam file tersebut adalah sebagai berikut: boundingbox 65 53 maka muskrip akan menghasilkan output dalam format Encapsulated PostScript (EPS), lebar 65 poin dan 53 poin tinggi pada contoh ini. Output EPS ini kemudian dapat dimasukkan ke dalam dokumen pengolah kata atau desktop-publishing, atau dapat dikonversi ke format JPG dan digunakan di halaman web. Lihat skrip eps2jpg dan eps2png, dan file kdf. txt di sampel. Baris pertama pada setiap halaman menarik sistem stegan. Sebagai contoh, potongan khas untuk seruling, cello, dll mungkin: 12 sistem 202020202020202020202020 Angka antara garis miring adalah tinggi setiap stave, intinya. Atau potongan khas untuk piano mungkin 6 sistem 20-40-2020-40-2020-40-2020-40-2020-40-2020-40-20 Angka antara (40 di sini) adalah tinggi celah antara Tongkat. Garis-garis itu menyebabkan torehan untuk bergabung di antara tongkat pengaman. Jadi bagian piano dari sonata biola mungkin: 4 sistem 14 30 20-40-2014 30 20-35-2014 30 20-40-2014 30 20-42-20 Kesenjangan trailing dalam sistem dihormati, dan dapat menjadi Digunakan untuk memesan ruang, misalnya untuk catatan batang bawah yang rendah pada beberapa baris buku besar. Selisih teratas, dicadangkan di atas sistem yang pertama, ditandai dengan angka sebelum garis miring pertama, mis. 2 sistem 80 13 30 19-40-19 13 30 19-40-19 30 Jika ada lebih sedikit sistem yang ditentukan daripada yang dibutuhkan, perumusan mengulangi yang terakhir sesuai kebutuhan. Sebagai contoh, dua belas sistem single-stave dapat ditulis: 12 sistem 19 Judul menggunakan judul Blurb Blurb syntax, dan dicetak dengan huruf tebal besar, berpusat di bagian atas halaman. Nomor halaman Nomor nomor menggunakan sintaks pagenum 7. Mereka dicetak di sudut luar atas yaitu, nomor halaman ganjil dicetak di pojok kanan atas, bahkan nomor halaman di kiri atas. Jika nomor tidak ditentukan (misalnya pagenum) maka jumlahnya akan otomatis bertambah dari nomor halaman sebelumnya. Header menggunakan syntax Blurb Blush. Ini dicetak dalam huruf miring kecil di pojok bagian atas - sudut atas yang berlawanan dari nomor halaman. Jika tidak ada nomor halaman pada halaman ini, Anda dapat menggunakan perintah kepala kiri dan kanan yang jelas. Jika nada tinggi di stave atas bercampur dengan tajuk dan judul, letakkan jeda di depan sistem atas, seperti pada contoh berikut. Footer Kiri, dengan menggunakan tipuan Blurb blush syntax, dicetak dengan huruf miring kecil di pojok kiri bawah. Footer Kanan menggunakan syntax blush rightfoot Blurb, dan dicetak miring kecil di pojok kanan bawah. Jika nada rendah pada stave bawah sistem bawah semakin bercampur dengan footer, letakkan jeda trailing ke sistem terendah, mis. Spesifikasi sistem ini bersifat persisten. Jadi jika muskrip berjalan di akhir halaman, itu menggunakan kembali spesifikasi sebelumnya untuk halaman baru (kecuali bahwa itu akan meningkatkan jumlah halaman, dan tidak mencetak ulang sebuah judul tapi menambahkan judul ke innerheader). Kemudian, begitu sistem sudah diatur, perintah sederhana Setelah perintah, hal pertama adalah menggambar torehan. Untuk ini, muskrip harus tahu berapa banyak batang, dan bagaimana mereka diberi jarak. Misalnya, untuk empat batang: 4 bar 1 1.2 1 1 Di sini angka di antara garis adalah proporsi panjang batang. Pada contoh di atas, bar kedua jelas membutuhkan ruang yang sedikit lebih banyak daripada yang lain. Jika hanya satu bagian dari sebuah bar yang perlu diregangkan (mungkin karena memiliki banyak barang semiquavers), maka Anda memasukkan lebih dari satu nomor di bar. Misalnya, jika ada lima batang, tapi kuarter kedua dari bar keempat membutuhkan lebih banyak tempat, Anda bisa menggunakan: 5 bar 2 2 2 0,5 0,7 0,5 0,5 2 Spesifikasi tongkang ini tetap ada. Jadi jika muskrip berjalan di akhir sistem, ia menggunakan kembali spesifikasi sebelumnya untuk sistem yang baru. Ketika muskrip bekerja di luar proporsi, itu cadangan ruang ekstra secara otomatis untuk clef di awal baris. Anda juga dapat memesan ruang untuk tanda tangan waktu dan tanda tangan kunci di awal baris (perhatikan bahwa ruang cadangan ini, namun tidak menarik apapun yang akan mereka gambar nanti). Sebagai contoh: 4 bar 3b 44 1 1.2 1 1 Double bar ditandai dan tanda berulang dengan. 5 bar 10 9: 11 10 9 Tanda Segno (untuk digunakan oleh instruksi Dal Segno kemudian) ditunjukkan dengan Segno 5 bars 10: Segno 3b 44 11 10 9 Jika ada jumlah proporsi yang lebih sedikit dari pada yang dibutuhkan, maka perulangan pengulangan Yang terakhir seperlunya. Misalnya, sebelas batang dengan jarak merata dapat dituliskan: 11 bar 2 68 12 12 Seperti pada versi 2.7g, barbar terakhir dapat dihilangkan. Ini bisa digunakan untuk musik bar-less, misalnya: 1 bar 50 atau untuk membagi sebuah bar di antara dua sistem: 3 bar: 16 16 8 Kemudian, setelah baris-baris itu telah diatur, perintah sederhana menyebabkan keruntuhan untuk memulai typesetting Bar berikutnya dalam sistem saat ini. Seperti dari versi 2.3, bisa juga diikuti oleh angka untuk memberi tahu MIDI tentang tempo di dalam bar melihat bagian MIDI di bawah ini. Setelah perintah, Anda mengisi stave (dari bar saat ini) satu per satu. Yang pertama (atau hanya) stave adalah 1 dan yang kedua adalah 2 dll. Angka-angka ini bisa diikuti dengan a, atau untuk mengatur arah batang standar ini sangat berguna jika dua suara berbagi satu stave, satu tail-up dan satu ekor - turun. Sebagai contoh, sepotong piano mungkin mulai Clefs dan Key Signatures yang gigih. Dalam jumlah stave tertentu. Naskah mengingat mereka dari bar ke bar, dan mencetaknya secara otomatis di awal setiap sistem baru. Clefs utama adalah treble. Alto. Tenor dan bass Juga tersedia treble8va. Treble8vab Dan bass8va Bass8vab Yang menempatkan 8 kecil di atas atau di bawah clef untuk menunjukkan instrumen yang ditranspos oleh satu oktaf. Clefs dapat terjadi di dalam sebuah bar, dan juga di awal. Clearfspace clefspace tidak mencetak apa-apa, namun mencadangkan satu celah lebar ruang ini dapat berguna untuk mengantre bagian lainnya saat perubahan clef terjadi pada satu bagian. Seperti yang dapat Anda lihat dari contoh di atas, clefspace tidak perlu di awal sebuah uraian garis yang selalu ada di sana, jadi itu menghemat tempat. Tanda Tangan Kunci ditulis hanya sebagai 1. 3b. 4 dll. Tanda tangan khusus 0 berarti kembali ke Cmaj, dan akan mencetak tanda-tanda alami yang diperlukan untuk membatalkan tanda tangan kunci sebelumnya. Tanda tangan utama hanya bisa terjadi di awal bar, dan sebelum tanda tangan (jika ada). Time Signatures ditulis hanya sebagai pecahan, misalnya 24. 68. 128. dll. Tanda tangan waktu hanya dapat terjadi di awal bar, dan setelah tanda tangan utama (jika ada). Kemudian kita bisa mulai menulis irama dan catatan (dan petunjuk MIDI dalam-stave). Irama ditulis baik dalam sintaks Inggris disingkat, atau dalam numerik, sintaks internasional. The breve (de: doppelte Taktnote) ditulis dalam kedua sintaks: Catatan triplet ditulis dengan tiga mis. Qua3 atau 83 Catatan duplet ditulis dengan dua mis. Cro2 atau 42 (dua crackchets dupleter terakhir tiga quavers normal) Quadruplets ditulis dengan empat mis. Qua4 atau 84 (empat quadruplet quavers terakhir tiga quavers normal) Quintuplets ditulis dengan lima mis. Smq5 atau 165 (lima kuintuplet semiquavers terakhir satu crotchet normal) Septuplets ditulis dengan tujuh mis. Smq7 atau 167 (tujuh sepituplet semiquavers yang terakhir satu crotchet normal) Catatan bertitik tertulis dengan sebuah titik mis. Min. Atau 2. atau qua3. Atau 83. Catatan bertanda ganda ditulis dengan dua titik mis. Min .. atau 2 .. Tremolandi memiliki atau atau akhiran mis. Minit bertitik dibagi menjadi semiquavers min. Atau 2. dan catatan tremolandi yang digabungkan dengan bentuk balok, sebuah catatan Brille-Bass Small (misalnya ornamen) memiliki opsi-a di akhir mis. Smq-s atau 16-s atau qua3.-s atau 163.-s Sebuah ritme tetap berlaku untuk semua catatan dan bertumpu pada stave itu, sampai berubah. Istirahat dan Kosong Istirahat di tengah stave adalah istirahat tertulis Hal ini dapat dipindahkan ke garis atas dengan istirahat atau lebih lanjut dengan istirahat atau istirahat dll atau ke garis bawah dengan istirahat, atau lebih lanjut dengan istirahat atau istirahat. Dll. Tempat kosong pada stave ditulis kosong Secara default, Quavers, Semiquavers dan Demisemiquavers mendapatkan ekor. Sebagai contoh: 8 F 16 A G Anda bisa menyalakan balok dengan karakter tepat di awal deret catatan, atau akhiri dengan karakter tepat di bagian akhir. Pada masing-masing stave, muskrip melacak dua balok, satu untuk catatan stem-up, dan satu untuk stem-down jadi pastikan semua catatan yang ingin Anda ikuti oleh balok yang sama memiliki arah batang yang sama. Sebagai contoh: 8 F 16 A G Demikian pula, secara default, tremolando minim mendapat sedikit tanda tremolando yang melintasi tangkainya. Anda bisa menyalakan balok dengan atau mengakhirinya seperti di atas, dan ini menggabungkan dua minuletan tremolando untuk membentuk Brille-Bass. Sebagai contoh: 2 G F A Di dekat tengah masing-masing clef ada c. Catatan ini ditulis c. Dan catatan di atas ditulis dengan huruf b b b dan seterusnya sampai b dan selanjutnya dengan c. Demikian juga, catatan di bawah ini adalah B Bb A Ab G F F E Eb D C C B Bb A dan seterusnya ke C dan selanjutnya berlanjut dengan B dan A. Jadi pada setiap clef Anda dapat menulis rentang hampir lima oktaf tanpa tanda 8va. Rumah susun, benda tajam, naturals, double flat dan double sharps ditulis b. . N. Bb dan setelah catatan, seperti yang mereka katakan. Bila ada tanda kebetulan dan oktaf pada catatan yang sama, tanda oktaf harus lebih dulu, mis. Ab Di akord dengan nada tetangga di salah satu batang, satu gumpalan catatan harus dipindahkan ke sisi lain tangkai catatan. Hal ini dilakukan dengan x Sebagai contoh: 2 60C D x G62 Semibreves tidak memiliki batang catatan, dan x selalu menggesernya ke kanan. Jika satu catatan menilik sebuah nada dengan suara yang berbeda, salah satu dari mereka harus digeser ke kanan, bersamaan dengan tangkainya. (Jadi jika nada itu membentuk bagian akord, akord keseluruhan akan bergeser ke kanan.) Hal ini dilakukan dengan r. Misalnya: Jika nada tetangga keduanya tidak disengaja, akan meningkatkan kejelasan untuk menggeser tak disengaja ke kiri. Hal ini dilakukan dengan huruf l. Sebagai contoh: Secara default, batang naik jika nada di bawah garis tengah sebaliknya mereka turun. Default ini bisa diubah menjadi all-up atau all-down oleh stave command. misalnya 1 atau 1, Batang pada catatan individu dapat dipaksakan dengan a atau turun dengan a, setelah catatan: misalnya 8 A, B cd 16 c BAG Ties menyatukan dua nada dari nada yang sama menjadi satu catatan lagi mereka ditulis dengan tanda kurung (). Slurs mengaitkan rangkaian catatan menjadi satu frase melodi, yang umumnya dimainkan legato mereka ditulis dengan kursor-kawat gigi. Ties dan slurs dicetak sama, namun ditangani secara berbeda oleh MIDI. Tanda di atas catatan dimulai dengan (1 atau (3 atau (5 atau (7 atau (9 dan selesai pada catatan berikutnya dengan stave yang sama dengan) 1 atau) 3 atau) 5 atau) 7 atau) 9 masing-masing. Ikatan di bawah catatan dimulai dengan (2 atau (4 atau (6 atau (8 dan selesai pada nota berikutnya dengan stave yang sama dengan) 2 atau) 4 atau) 6 atau) 8 masing-masing. Slurs di atas catatan dimulai dengan atau atau atau atau selesai pada catatan berikutnya dalam stave yang sama dengan 1 atau 3 atau 5 atau 7 atau 9 masing-masing. Slurs di bawah catatan dimulai dengan atau atau atau selesai pada catatan berikutnya pada stave yang sama dengan 2 atau 4 atau 6 atau 8 masing-masing. Secara default, ikatan dan slurs berakhir dekat dengan blob catatan. Jika Anda ingin seseorang berakhir lebih tinggi, di bagian atas batang atas, masukkan satu atau lebih antara braket dan nomornya. Atau jika Anda ingin seseorang berakhir lebih rendah, di bawah batang bawah, maka masukkan satu atau lebih, di antara braket dan nomornya. Sebagai contoh: Ties yang diakhiri tanpa harus dimulai dianggap dimulai pada double bar terdekat, atau pada awal baris jika tidak ada bar ganda di jalan. Ini mengatasi catatan yang terikat pada bar kedua kali. Pilihan yang menyertai sebuah catatan muncul, dipisahkan oleh-s, setelah ada ikatan atau slurs, dan tepat sebelum tanda akhir-chord atau end-beam. Misalnya: 4 istirahat B-. 2 c (1 - tr-fermata 43 c) 1 B - I3 Teks yang akan dicetak dapat dilindungi dengan tanda kutip ganda, mis. - Saya atau - s 3 - 4 Trills dengan nada atas datar, alami, atau tajam diungkapkan dengan trb. Trn atau tr Beberapa pilihan pada nada yang sama dicetak secara berurutan, mulai dekat dengan stave dan bergerak menjauh. Pilihan kosong tidak mencetak apapun, tapi hanya meninggalkan celah di mana pilihan itu akan dicetak ini dapat digunakan untuk menghindari pilihan bertabrakan dengan hal-hal seperti slurs. Pilihan kosong bekerja sama dengan opsi kosong, sehingga A-blank-blank-s4 juga dapat ditulis sebagai A --- s4 Options, secara default, dicetak di atas stave. Mereka dapat dicetak di bawah stave dengan menambahkan koma (.) Ke opsi individual, mis. 4 B, -. 2 c, (1-tr - fermata, Crescendo dan diminuendo dalam sebuah catatan dapat diproduksi dengan opsi - cre dan - dim. Saat ini tidak mempengaruhi output cetak mereka menyesuaikan pengontrol ekspresi MIDI pada catatan MIDI-channel, Ungkapan Parameter (cc11) memulai setiap nada pada tingkat 100, dan dapat bervariasi dari 0 sampai 127. Sebagai contoh, 2. c - cre20 menghasilkan crescendo sedang, atau 2. c - cre20-dim30 menghasilkan crescendo untuk paruh pertama. Dari catatan tersebut, diikuti oleh sedikit penurunan yang lebih kuat di babak kedua. Anda dapat menggunakan nomor 0, misalnya: 2. c - dim0-dim20 menghasilkan catatan yang memudar selama paruh kedua. Pedang piano pedal diambil , Atau direbut kembali, dengan opsi - P, dan dilepaskan dengan opsi - opsi, sostenuto-pedal diambil, atau diambil kembali, dengan opsi - Sos, dan dilepaskan dengan - Sos dan Una-Corda-pedal diambil dengan - Una dan dilepaskan dengan - Tre Words dapat dicetak di atas stave teratas di bar, atau di celah antara stegan, atau di bawah stave bawah. Nt: Perintah pertama adalah huruf atau dua huruf r berarti font biasa, berarti font italic, huruf b berarti font tebal, maksud saya font italik tebal dan ini bisa diikuti oleh huruf s opsional yang berarti kecil, atau yang berarti kecil. besar. Ukuran font ini relatif mereka diskalakan sesuai dengan tinggi stave rata-rata pada sistem saat ini. Penyandian karakter ISO-8859-1 dihormati, jadi mis. Oktal 374 dicetak sebagai Uuml (U-umlaut). Pengkodean karakter UTF-8 juga dihormati, namun hanya untuk karakter dalam rangkaian karakter ISO-8859-1 (karena keterbatasan PostScript) dan juga untuk oelig yang dipetakan ke Vertikal Spasi: Huruf-huruf ini kemudian dapat diikuti segera ( Tidak ada spasi) dengan angka desimal yang menentukan posisi vertikal kata-kata sebagai proporsi celah stave. Ruang berikutnya adalah pemisah, dan sisa perintahnya adalah teks yang akan dicetak. Jika perintah muncul setelah tapi sebelum stave pertama. Maka kata-kata akan dicetak di atas stave pertama di sistem angka mengekspresikan posisi vertikal di atas garis atas, sebagai proporsi tinggi stave atas. Jika perintah muncul di antara dua tongkat. Maka kata-kata itu akan dicetak di antara stang-retakan tersebut sehingga angka tersebut menunjukkan posisi vertikal di atas garis bawah, sebagai proporsi celah stave. Jika perintah muncul setelah stave terakhir tapi sebelum berikutnya. Maka kata-kata akan dicetak di bawah tiang bawah di sistem angka menunjukkan posisi vertikal di bawah garis bawah, sebagai proporsi ketinggian stave bawah. Horizontal Spacing teks sebagian besar dilakukan dengan angka yang dimulai dengan titik desimal dan diikuti oleh satu, dua atau tiga digit. Angka-angka ini diperlakukan sebagai kata-kata yang dicadangkan di dalam senar teks, dan mereka memberi ruang pada teks berikut untuk memulai proporsi bilah tersebut. Beberapa spasi di antara kata-kata teks, atau sebelum kata pertama, ditampilkan seperti itu, dan ini dapat digunakan untuk jarak kecil, seperti pada Freu - atau dalam bl1.1 Pertama lihat contohnya: Di dalam muskrip. Ada tiga jenis perintah MIDI: Perintah global yang mempengaruhi semua stegan, perintah New-Bar yang mengatur tempo, dan perintah In-A-Stave yang hanya mempengaruhi satu stave (seperti 1 atau 2). Juga yang terkait dengan MIDI adalah opsi catatan - cre dan - dim. Yang melakukan perubahan dinamis dalam catatan. Perintah MIDI Global Komentar Trailing dapat diperkenalkan dengan karakter, dan akan diabaikan oleh muskrip. Midi channel 2 bank 87,65 patch 56 Ini menginstruksikan synthesizer untuk memilih Bank MSB87 LSB65, dan untuk menetapkan saluran Patch 56 ke MIDI 2. Kata Patch adalah MIDI-berbicara untuk suara instrumental tertentu. Perintah ini biasanya mendekati bagian atas file musk. Nomor saluran bisa berupa apapun dari 0 sampai 15 (kecuali 9 dicadangkan di General-MIDI). Jumlah patch bisa berupa apapun dari 0 sampai 127. Jumlah bank adalah dua bagian, dipisahkan oleh koma (tidak ada spasi). Bagian pertama adalah MSB (most-significant-byte) dan yang kedua adalah LSB (least-significant-byte) baik byte bisa berupa apapun dari 0 sampai 127. Karena versi 3.1g LSB dapat diabaikan (banyak synth mengabaikannya bagaimanapun). Hanya masuk akal untuk menentukan bank jika synth Anda berada dalam mode Patch (sebenarnya, menentukan bank dapat memaksa synth Anda ke mode Patch) lihat di bawah ini: Biasanya synthesizer Anda akan berada dalam mode General-MIDI yang didefinisikan standar General-MIDI. Nomor khusus untuk instrumen umum. Seperti 0 adalah piano besar, 25 gitar akustik baja-senapan, 65 saksofon alto, dll Saluran MIDI Umum 9 disediakan untuk suara perkusi. Jika synth Anda berada dalam mode Patch. Maka Anda harus mengaturnya untuk mendengarkan di beberapa Saluran tertentu (perhatikan bahwa synth Anda mungkin nomor Saluran 1-16). Kemudian muskrip hanya akan bisa menggunakan Channel tersebut dan Anda hanya akan bisa memainkan satu Patch sekaligus. Mode Patch tidak multi-timbral :-( Jika synth Anda ada dalam mode Performance, mudah-mudahan Anda telah memilih Performance dan mengonfigurasinya. Berbagai saluran (atau bagian) Konsultasikan manual synth Anda untuk rinciannya. Midi channel 2 vibrato 60 rate 40 delay 70 Ini meminta synth untuk menyesuaikan parameter Vibrato di Channel 2. Pada semua nomor ini, 50 mewakili pengaturan vibrato default dari Patch ini. , 100 mewakili maksimum, dan 0 minimum. Untuk perubahan catatan-per-catatan pada kedalaman vibrato terdapat perintah In-Stave yang sesuai. Midi channel 5 pan 80 reverb 45 chorus 90 Ini meminta synth ke Pan Channel-5 80 Atas ke arah pembicara yang tepat, untuk menambahkan Reverb moderat (45), dan untuk menambahkan efek Chorus yang berat (90). Jumlah pan dapat berupa apapun dari 0 (kiri penuh) sampai 100 (hak penuh). Untuk catatan-demi - Catatan perubahan ada perintah In-Stave yang sesuai. Nilai reverb - number bisa dari 0 (dr Y) sampai 50 (default) sampai 100 (gema mungkin). Chorus - number bisa dari 0 sampai 100. midi channel 5 patch 73 transpose 12 Ini akan mentranspos semua nada pada saluran 5 sampai satu oktaf (dua belas semitone). Untuk perubahan note-by-note yang mengatur semua catatan pada stave tertentu. Ada perintah In-Stave yang sesuai. Midi gm 2 Ini memaksa synth ke mode General-MIDI (lihat di atas), General-MIDI-2 dalam contoh ini. Nilai lain yang mungkin adalah gm 1 untuk General-MIDI-1, atau gm off yang menempatkan synth ke salah satu mode non-General-MIDI-nya, lihat manual synth Anda untuk lebih jelasnya. Perintah gm 1 dan gm 2 tidak sesuai dengan perintah bank di atas. Lihat: wikipedias Perbandingan standar MIDI. Midi jeda 3.9 Ini menyisipkan jeda dalam output, dari 3,9 detik dalam contoh ini, seperti yang mungkin Anda gunakan untuk memisahkan dua gerakan, atau dua lagu. Jeda kecil, seperti .02 atau .04 detik, dapat digunakan sebagai perangkat ekspresif antara batang, seperti luftpause pada musik klasik. Perintah ini hanya berguna di antara batang, bukan di antara berbagai stik di bar yang sama. Midi sen -100 temperamen kirnberger Perintah ini mengatur tuning dan temperamen, pada temperamen A415 dan Kirnberger dalam contoh ini (pilihan khas untuk musik barok). Sen bisa, sejak versi 3.1u. Menjadi nomor berapa saja, -100 berarti semitone turun (A415), 250 berarti dua setengah semitone ke atas. Sen adalah perintah global (ini memanggil Penyesuaian Tunai GM2 Master Master Tuning dan Master Coarse Tuning) dan berlaku untuk semua saluran. Temperamennya bisa sama (defaultnya, di mana koma yang hilang dibagi oleh semua dua belas lima), atau vanbiezen (koma yang hilang dibagi di antara enam dari kelima FCGDAEB), atau kirnberger (koma dibagi di antara empat perlima CGDAE, dan CE sempurna) midi barlines on dan midi barlines off Jika torehan dinyalakan, maka kejadian penanda dimasukkan ke output MIDI, untuk menandai garis-garis temu. Midi off dan midi pada perintah ini beralih midi output off dan on, dan berguna untuk menekan bar pertama kali, atau untuk proofreading saat mengetikkan sepotong (agar tidak harus mendengarkan keseluruhan potongan setiap kali Anda menyimpan dan membuat ). Perintah Baru-Bar MIDI Perintah bar baru adalah tempat untuk memberi tahu MIDI tentang tempo. Pertama datang tanda tangan waktu (ini hanya pemahaman MIDI tentang tanda tangan waktu itu tidak dicetak) dan kemudian muncul panjang bar dalam hitungan detik. Sebagai contoh, perintah bar baru untuk sebuah potongan dalam 44 waktu pada 120 beatsmin bisa jadi: 44 2.0 Seperti pada perintah bar, kita dapat menentukan panjang bagian bar. Misalnya, jika kita menginginkan ritardando yang mungkin kita gunakan: 44 0,5 0,54 0,6 0,68 Ini juga bisa digunakan untuk menghasilkan mainan berukir di jazz, atau alat peraga ineacutegale dalam musik Baroque atau musik Irlandia, atau untuk waltz Wina. Misalnya, Jig Irlandia bisa dimulai: 68, 17, 17, 17, 19, 14, 17 1 treble 2 68 8 A B A A F D Upbeats, atau pada batang umum dengan panjang yang bervariasi, harus diberi jarak ad-hoc sendiri. Sebagai contoh: 14 .55 1 bass 2b 4 F 44 2.2 1 2 B 4 A B Sebagai alternatif untuk detik, Anda juga bisa menentukan tempo, dalam ketukan per menit. Muskrip memutuskan apa artinya ketukan dengan berkonsultasi dengan tanda tangan waktunya. Dalam 24 atau 34 atau yang lain, ketukannya adalah sebuah tangkapan, dan dalam 22 atau 32 atau sesuatu lagi, ketukannya sangat minim. Tapi pada 38 atau 68 atau 98, iringannya bertepi, sedangkan pada 28 atau 48 atau 58 atau 78, iringannya adalah sebuah quaver. Demikian pula untuk 316 atau 616 atau 916. (Muscik masih perlu mengetahui timesignature, jadi Anda masih harus memberi pertanggungan jawab pada jeruji bila panjangnya bervariasi.) Informasi tempo ini adalah teks yang terus-menerus mengingatnya dari bar ke bar, dan mengaplikasikannya secara otomatis. Perintah MIDI In-A-Stave Ini semua adalah perintah satu kata (tidak ada spasi) yang dapat diintermix dengan nada dan irama dalam garis stave. Mereka mengubah pengaturan untuk stave tertentu (seperti 1 atau 2). Mereka berlaku segera, dan tetap berlaku pada stave yang sama di bar berikutnya. Semua perintah ini bisa disingkat menjadi tiga huruf pertama mereka. Cha2 atau cha35 Ini mengatur saluran midi, menjadi 2 pada contoh pertama. Saluran General-MIDI 9 disediakan untuk rangkaian irama, yaitu drumkits, perkusi, dll jika ada nomor saluran lainnya, mudah-mudahan Anda telah menugaskan patch untuk itu. Jika synth Anda berada dalam mode Patch, perintah ini harus menentukan Saluran yang sama dengan yang disimak oleh synth, lihat mode Patch di atas. Sejak 3.1v, satu stave dapat memancarkan catatan pada banyak saluran, ke saluran 3 dan 5 pada contoh kedua. Ini memungkinkan penggandaan otomatis dari tambalan yang berbeda pada satu stave. Sehubungan dengan opsi transpos global-midi, ini juga memungkinkan penggandaan pada oktaf, misalnya: cello dua kali lipat dengan contrabass satu oktaf ke bawah, atau biola dua kali lipat oleh seruling oktaf di atas. Tra-2 Hal ini menyebabkan catatan dihasilkan 2 semitone lebih rendah dari yang dinotasikan, yaitu apa yang mungkin Anda gunakan pada stegan untuk sangkakala di Bb. Untuk piccolo Anda bisa menggunakan tra12 (kecuali jika Anda telah memberinya treble8va clef). Vol73 atau vol10 atau vol-10 Ini mengatur volume, dalam kisaran 0 sampai 127 (volume defaultnya adalah 100). Juga diperbolehkan adalah perubahan volume tambahan, seperti vol10 atau vol-5 Pilihan G-emph-works sama dengan vol10 G vol-10 kecuali bahwa opsi catatan dicetak sebagai bagian dari skor, sedangkan perintah vol tidak Dicetak, itu adalah bagian dari interpretasi. Perintah vol menggunakan parameter kecepatan MIDIs untuk mengatur perubahan volume awal dinamis dalam catatan dilakukan dengan opsi catatan - cre dan - dim. Yang menggunakan pengontrol ekspresi MIDI. Leg99 Ini mengatur legato, sampai 99 dalam contoh ini. Leg100 menghasilkan legato penuh Anda sebenarnya bisa melampaui 100, menghasilkan over-legato. Legato default adalah 85, sejenis deacutetacheacute medium. The - stacc note-option menurunkan catatan legato sekitar setengahnya. Vib80 Ini menentukan kedalaman vibrato, menjadi 80 atau 50 dalam contoh ini. Seperti di atas di bagian MIDI Global, 50 mewakili pengaturan kedalaman vibrato default dari Patch ini, dan 100 mewakili jumlah maksimum yang mungkin. Pan73 atau pan10 atau pan-10 Ini panci saluran. Seperti di bagian Global MIDI, panci dapat berkisar dari 0 (kiri) sampai 50 (tengah) sampai 100 (kanan), namun di sini perubahan tambahan juga diperbolehkan, mis. Pan10 atau pan-5 tikungan atau tikungan atau tikungan-10 Tekuk ini membungkuk pada saluran, dengan menggunakan perintah pitchwheel MIDI. Tebal bisa berkisar dari 0 (secara default 2 semitone turun) sampai 50 (normal tuning) sampai 100 (secara default 2 semitone ke atas). Perubahan tambahan juga diperbolehkan, mis. Tikungan atau tikungan-1 cc73108 Ini menentukan parameter MIDI Control-Change dalam contoh Controller 73 (waktu diserang) diatur ke 108 (0..127). Be aware that the actual effect that these CC parameters have on the sound is often quite synthesiser-dependent. Any line beginning with is treated as a comment, and will appear as a comment in the PostScript output. In - midi mode it appears as a MIDI marker event at the start of the current bar. Since version 3.1h. two mode-dependent, conditional comments are introduced. Any line beginning with P is ignored as a comment except in PostScript-mode, when it just gets those two characters stripped of and is treated as a normal line. Likewise, any line beginning with M is ignored as a comment except in MIDI-mode, when it gets those two characters stripped of and is treated as a normal line. This allows a line to be given a PostScript-version to be printed in the score, and a MIDI-version (e. g. ornamented) to be performed. Otherwise, any line beginning with is treated as a comment, and ignored completely. Output can be generated for various page sizes: Auto only works as long as the output remains in PostScript form if it is translated into PDF the autodetect power is lost and the page size becomes fixed by the translation process. Therefore, if you want to generate PDF to publish scores globally, you should use the - compromise option. See also the a42us utility script. As from version 3.2h, muscript is available in two implementations, one in Perl . and a new translation into Lua . The intention is to support both, and keep their version-numbers in sync. It must be said that the Lua version runs more than twice as fast. The current version of muscript for Perl is available by http at pjb. aumuscriptmuscript. To install it, save it to disc, move it into your PATH, make it executable, and if necessary edit the first line to reflect where perl is installed on your system. Youll also need to install the MIDI and the Text::ParseWords modules from cpan. org The current version of muscript for Lua is available by http at pjb. aumuscriptmuscriptlua. To install it, save it to disc, rename it muscript and move it into your PATH, make it executable, and if necessary edit the first line to reflect where lua is installed on your system. Youll also need to install the MIDI. lua module, eg: luarocks install midi All these files are now on git and can be downloaded by: git clone githubpeterbillammuscript Various tools exist to manipulate muscript input and PostScript output and MIDI output. To install one of the scripts, move it into your PATH, make it executable, and if necessary edit the first line to reflect where perl is installed on your system. Tools for handling muscript input: 8va This simple filter transposes up or down the octave. For example, in vi . 8va raises the current bar one octave, or. 8vab lowers the current bar one octave. 8vab This transposes down the octave. (It is the same file as 8va its behaviour changes according to the name under which it is invoked.) transpose This filter transposes up or down a given number of semitones. It now handles keysignatures, and persistence of accidentals within a bar. Misalnya. this would transpose its input up seven semitones: transpose 7 There is a - k option to force a keysignature onto the input. Misalnya. in vi . this would transpose the current line down 3 semitones, considering it to have a 4-flats keysig even if thats not explicit in the current line (i. e. if it was set earlier in the file): . transpose -3 - k 4b There is also a - a option which generates output without a keysig, using accidentals only, e. g. transpose 2 - a There is also a - s option to transpose only one stave. Misalnya. this might convert a piece for flute and piano, into a piece for Bb-clarinet and piano: transpose 2 - s 1 tempo This filter changes the midi tempo of a muscript file by a fixed proportion. It has no effect on the PostScript output. For example, tempo 1.05 speeds a piece up by 5 percent. Or, tempo 0.95 makes a piece 5 percent slower. Misalnya. to generate multiple practice-versions of a piece, with different tempi: 4hands2score This converts muscript for piano-four-hands (i. e. with one player reading the left-hand page and the other reading the right-hand page) into a single score, for example for feeding into muscript - midi for proofreading. muscript2video This converts muscript into an. avi video ready for uploading into youtube . You will have to repaginate the file specially to the 1280x720 format. It generates a soundtrack using muscript - midi feeding into timidity . and typesets each page using muscript and eps2jpg and synchronises the page-turns with the soundtrack. Then it uses mencoder to convert the. jpg files to the. avi file. This program was used to generate the Youtube - videos, for example, of the Trio with Guitar Tools for handling PostScript output: muscriptps2svg This script converts PostScript (or EPS) output produced by muscript (2.8i or greater) into SVG (Scaleable Vector Graphics) format. It has a - p option to convert a particular page. It needs the SVG Perl module, available from search. cpan. org eps2jpg and eps2png When the input file contains a boundingbox command, then muscript will generate Encapsulated-PostScript (EPS) output, which can be inserted into word-processing or desktop-publishing documents. The Perl script eps2jpg converts this EPS into JPG format (with a white background), which can be used in web pages especially if they also have white backgrounds. Or when called under the name eps2png it converts the EPS into PNG format. Or when called with the - t option it converts the EPS into PNG format with a transparent background, which can be used in web pages even if they have non-white backgrounds. eps2jpg and eps2png are the same script, so you can download just one and use ln to link it to the other. They produce their output on stdout. so you can redirect it wherever you want it. See perldoc pgn2jpg or perldoc pgn2png a42us This converts the muscript PostScript output from A4 page size to US Letter page size. There is also a a42us - c option which generates the global-distribution compromise format (A4 width and Letter height). See also PageSize. Tools for handling MIDI output: midiecho Simulates a tape-delay reverb on a particular MIDI-channel by issuing repeated noteon events with diminishing volume. midiedit Edits a MIDI file in a human-readable text-format. mididump Dumps a MIDI file contents in a human-readable text-format. midisox Midisox is a tool for working on MIDI files, with a calling interface modelled, as far as possible, on that of SoX . which is a well-established tool for working on audio files. Future Enhancements Titles should not be tied to the top of the page at system-layout time, vertical space should be allocated for titles. Dynamics, e. g. as note-options, should be recognised by MIDI. Hairpin-style crescendo and diminuendo marks. In close chords, the necessary note-heads might be placed automatically on the wrong side of the stem, instead of manually with an x . Beams, Ties and Slurs should be able to join notes on different staves within the same system. Beams should be able to join stem-up with stem-down notes. Turns need sharps flats and naturals, both above and below MIDI should interpret trills, mordents, turns, fermata and repeats. Syntax is needed for 8va and 8vab, and 1st and 2nd-time bars, so that MIDI can handle them too. What is really needed is an ftp archive of scores in PostScript . so that anyone can print them out and use them. I think it should standardise on gzipped files, and encourage the submission of A4 and USLetter versions of everything. Of course the composers would have to be dead more than 70 years (or the pieces would have to be publicly copiable and redistributable) and someone would have had to re-typeset the pieces. The reward is immortality, a permanent priceless contribution, no less. The way to further the musical art is to make the scores freely and permanently available. End of soapbox. You might also want to check out Lilypond . a program which generates PDF and MIDI output. The input text language is called mudela . Included is a utility musicxml2ly which imports MusicXML. MusicXML is a widely adopted music-interchange format. MuseScore is a WysiWig music typesetter which also does drum-notation and guitar-tablature and will import MusicXML JFugue . an open-source library for programming music in Java, can read and write both MIDI and MusicXML. FreeDots translates MusicXML into Braille. Mup is shareware written in C, which takes text input and produces PostScript or MIDI. MusiXTeX . which forms the infrastructure for a great deal of related software abc . designed primarily for folk and traditional tunes such as Irish, English and Scottish, which can be written on one stave in standard classical notation M-Tx . a music-from-text language that operates as a front end to PMX, which in turn is a front end to MusiXTeX musixlyr . a MusiXTeX extension for convenient lyrics handling PMX is a pre-processor for MusiXTex. It can also output a MIDI file. A version is available for MacOS. noteedit is a GUI utility to translate between Mup, MusiXTeX, PMX and Lilypond formats, and can import MIDI and MusicXML files. music-notation. infoencompmusnotationformats. html and ace. acadiau. cascoreothers. htm inkguides is a collection of PostScript and GhostScript resourcesExifTool is also available as a stand-alone Windows executable and a Macintosh OS X package . (Note that these versions contain the executable only, and do not include the HTML documentation or other files of the full distribution above.) The stand-alone Windows executable does not require Perl. Just download and un-zip the archive then double-click on exiftool(-k).exe to read the application documentation, drag-and-drop files and folders to view meta information, or rename to exiftool. exe for command-line use. Runs on all versions of Windows. The OS X package installs the ExifTool command-line application and libraries in usrlocalbin. After installing, type exiftool in a Terminal window to run exiftool and read the application documentation. Read the installation instructions for help installing ExifTool on Windows, Mac OS X and Unix systems. Powerful, fast, flexible and customizable Supports a large number of different file formats Reads EXIF. GPS. IPTC. XMP. JFIF. MakerNotes, GeoTIFF. ICC Profile. Photoshop IRB. FlashPix. AFCP. ID3 and more. Writes EXIF. GPS. IPTC. XMP. JFIF. MakerNotes, GeoTIFF. ICC Profile. Photoshop IRB. AFCP and more. Reads and writes maker notes of many digital cameras Decodes a riddle wrapped in a mystery inside an enigma Numerous output formatting options (including tab-delimited, HTML, XML and JSON) Multi-lingual output (cs, de, en, en-ca, en-gb, es, fi, fr, it, ja, ko, nl, pl, ru, sv, tr, zh-cn or zh-tw) Geotags images from GPS track log files (with time drift correction) Generates track logs from geotagged images Shifts datetime values to fix timestamps in images Renames files and organizes in directories (by date or by any other meta information) Extracts thumbnail images, preview images, and large JPEG images from RAW files Copies meta information between files (even different-format files) Readswrites structured XMP information Deletes meta information individually, in groups, or altogether Sets the file modification date (and creation date in Windows) from EXIF information Supports alternate language tags in XMP. PNG. ID3. Font. QuickTime. ICC Profile. MIE and MXF information Processes entire directory trees Creates text output file for each image file Creates binary-format metadata-only (MIE) files for metadata backup Automatically backs up original image when writing Organizes output into groups Conditionally processes files based on value of any meta information Ability to add custom user-defined tags Support for MWG (Metadata Working Group) recommendations Recognizes thousands of different tags Tested with images from thousands of different camera models Advanced verbose and HTML-based hex dump outputs If you find the need to use find or awk in conjunction with ExifTool, then you probably havent discovered the full power of ExifTool. Read about the - ext. - if. - p and - tagsFromFile options in the application documentation. (This is common mistake number 3 .) In my experience, nothing but nothing is as complete, powerful, and flexible as Phil Harveys exiftool. Ive never seen anything thats in the same ballpark for power. - dpreview forum While there are a lot of image tools available, nothing comes close for accessingupdating the metadata like ExifTool - mergs blog Fast, reliable and amazingly comprehensive. - CPAN ratings . the one piece of free software that gets the most detailed exif data of any tool Ive found. - gnome mail archives ExifTool makes every other EXIF reader (and writer) than Ive seen, including the camera manufacturers readers, look lame. - photo Nikon forum Insanely great tool with a long learning curve. - Adobe Forums . its super awesome, its super reliable and after many years of development its still being updated - PW999 blog . it is the mother of all EXIF utilities the BFG of meta-data extraction the Pan Galactic Gargle Blaster of EXIF tools. This thing will suck the last bit of metadata out of whatever image file you throw at it - Open Photography Forums . it is total fucking gibberish to me. - Reddit Linux Questions ExifTool can R ead, W rite andor C reate files in the following formats. Also listed are the support levels for EXIF, IPTC, XMP, ICCProfile and other metadata types for each file format. (preview image written after JPEG EOI) 1 All trailers except Samsung and PreviewImage also have RW support in TIFF images. Requires Perl 5.004 or later. No other libraries or software required, but some optional Perl modules may be added to enable certain ExifTool features (for details, see the DEPENDENCIES section of the README file included in the full distribution). Windows users: A stand-alone Windows executable version of ExifTool is available which doesnt require Perl. You can also use the pure Perl version if you already have Perl installed. (You can get a good, free Perl interpreter from activeperl .) Everyone else (Mac, Unix, etc): Dont worry, you already have Perl installed. The exiftool application provides a convenient command-line interface for the Image::ExifTool Perl package (both included in the full distribution). Once you have downloaded and extracted the distribution, you can immediately run exiftool (without building or installing) by typing DIR exiftool FILE (or perl DIR exiftool FILE in Windows), where DIR is the exiftool directory and FILE is the name of an image file, including directory name. Read the installation instructions or the README file included in the full distribution for help installing ExifTool. Many command-line options are available to allow you to access a wide range of features. Run exiftool with no arguments for a complete list of available options with examples . Running in Windows i) From the command line: The Perl application ( exiftool ) is run by typing perl exiftool . Alternately, you may be able to rename it to exiftool. pl and type exiftool. pl , but this requires that the proper Windows associations have been made for the the. pl extension. The stand-alone version ( exiftool(-k).exe ) should be renamed to exiftool. exe to allow it to be run by typing exiftool at the command line. If the exiftool executable ( exiftool. pl or exiftool. exe ) is not in the current directory or your system PATH, then its directory must be specified on the command line (eg. by typing c:pathtoexiftoolexiftool. pl or c:pathtoexiftoolexiftool ). Note that when typing commands in the cmd. exe shell, you should use double quotes instead of single quotes as shown in some examples. ii) Stand-alone version in the Windows GUI: Double-click on exiftool(-k).exe to read the application documentation, or drag-and-drop files and folders to run exiftool on the selected files. Simple options may be added inside brackets in the name of the stand-alone executable. (But note that the characters :ltgt may not be used because they are invalid in Windows file names.) In this way, the behaviour of the drag-and-drop application can be customized. For example: Verbose and HtmlDump Output The Verbose ( - v ) and HtmlDump ( - htmlDump ) options print additional information that can be very useful for debugging or when decoding new tags. A tag name is a handle that is used to refer to a specific piece of meta information. Tag names are entered on the command line with a leading - , in the order you want them displayed. Case is not significant. The tag name may be prefixed by a group name (separated by a colon) to identify a specific information type or location. A special tag name of All may be used to represent all tags, or all tags in a specified group. For example: A complete list of ExifTool Tag Names accompanies this documentation. As well, current lists of available tag names and writable tag names may be obtained using the exiftool - list and - listw options. But perhaps the easiest way to determine a tag name is to use the - s option to print the tag names instead of descriptions for all information in a file. It may also be helpful to use the - G option to display the group names, and the - H or - D option to print the numerical tag IDs for reference. Tag names sometimes differ from their descriptions. Use the - s command-line option to see the actual tag names instead of the descriptions shown when extracting information. When extracting information, tags will not appear in the output unless they exist in the file, even if they are specified on the command line. The - f option may be used to force all specified tags to be displayed (not including tags specified with wildcards or by - GROUP:all ). Information for a given tag name may occur in multiple locations within a single file. By default these duplicate tags are suppressed, but the - a option may be used to extract all tags. Tag names may be suffixed by a character to disable the print conversion on a per-tag basis. See the - n option in the application documentation for more information. Shortcut tags represent one or more other tags, and are used like any other tag when reading, writing or copying information. ExifTool defines a few shortcut tags in the Image::ExifTool::Shortcuts module, and allows users to define their own shortcuts in a configuration file called. ExifToolconfig in their home directory or exiftool application directory. Here is a simple example that defines two shortcuts: In this example, MyShortcut is a shortcut for the CreateDate, ExposureTime and Aperture tags, and MyAlias is a shortcut for FocalLengthIn35mmFormat. The current shortcuts may be listed with the - list option..ExifToolconfig file may also be used to define new tags. For more information about the configuration file, see the sample configuration file included with the ExifTool distribution. Windows tip: You may have difficulty generating a filename beginning with a . in the Windows GUI, but it can be done with the rename command at the cmd. exe prompt. ExifTool classifies tags into groups in five different families. These groups are: 0 (Information Type) AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky, EXE, EXIF, ExifTool, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff, H264, HTML, ICCProfile, ID3, IPTC, ISO, ITC, JFIF, JPEG, Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP, Palm, PanasonicRaw, PhotoCD, PhotoMechanic, Photoshop, PostScript, PrintIM, QuickTime, RAF, RIFF, RSRC, RTF, Radiance, Rawzor, Real, SVG, SigmaRaw, Stim, Theora, Torrent, VCard, Vorbis, XML, XMP, ZIP 1 (Specific Location) AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple, Audible, CIFF, Canon, CanonCustom, CanonRaw, CanonVRD, Casio, Chapter, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta, Ducky, EPPIM, EXE, EXIF, ExifIFD, ExifTool, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP, GPS, GeoTiff, GlobParamIFD, GraphConv, H264, HP, HTC, HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICCProfile, ICCProfile, ID3, ID3v1, ID3v1Enh, ID3v22, ID3v23, ID3v24, IFD0, IFD1, IPTC, IPTC, ISO, ITC, InteropIFD, JFIF, JPEG, JPEG-HDR, JVC, Jpeg2000, KDCIFD, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw, LNK, Leaf, LeafSubIFD, Leica, Lytro, M2TS, MAC, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash, MIE-GPS, MIE-Geo, MIE-Image, MIE-Lens, MIE-Main, MIE-MakerNotes, MIE-Meta, MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video, MIFF, MNG, MOBI, MOI, MPC, MPEG, MPF0, MPImage, MXF, MakerNotes, MakerUnknown, Matroska, MediaJukebox, MetaIFD, Microsoft, Minolta, MinoltaRaw, Motorola, NITF, Nikon, NikonCapture, NikonCustom, NikonScan, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF, PICT, PNG, PNG-pHYs, PSP, Palm, Pa nasonic, PanasonicRaw, Pentax, PhaseOne, PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD, PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF, Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4, Real-RA5, Real-RJMD, Reconyx, Ricoh, SPIFF, SR2, SR2DataIFD, SR2SubIFD, SRF, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw, Sony, SonyIDC, Stim, SubIFD, System, Theora, Torrent, Track, VCalendar, VCard, Version0, Vorbis, XML, XMP, XMP-DICOM, XMP-GPano, XMP-MP, XMP-MP1, XMP-PixelLive, XMP-aas, XMP-acdsee, XMP-album, XMP-apple-fi, XMP-aux, XMP-cc, XMP-cell, XMP-creatorAtom, XMP-crs, XMP-dc, XMP-dex, XMP-digiKam, XMP-dwc, XMP-exif, XMP-exifEX, XMP-expressionmedia, XMP-extensis, XMP-fpv, XMP-getty, XMP-ics, XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro, XMP-microsoft, XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-pdf, XMP-pdfx, XMP-photomech, XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl, XMP-prm, XMP-pur, XMP-rdf, XMP-swf , XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ, XMP-xmpDM, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg, ZIP Audio, Author, Camera, Document, ExifTool, Image, Location, Other, Preview, Printing, Time, Unknown, Video 3 (Document Number) Sets tag value from contents of specified file dagger See the Writer Limitations for some limitations of this feature. Quotes are required around VALUE if it contains spaces or other special characters, and around the whole argument if the lt syntax is used (to prevent shell redirection). A special feature allows the print conversion to be disabled on a per-tag basis by suffixing any tag name (including all ) with the character. This has the same effect as the - n option, but for a single tag. See the - n option in the application documentation for more details. Note: Changes to PDF files are reversible because the original metadata is never actually deleted from these files. See the PDF Tags documentation for details. Group Priorities ExifTool prioritizes the following types of meta information when writing: Many tag names are valid for more than one of these groups. If a group name is not specified when writing information, then the information is added only to the highest priority group for which the tag name is valid (however, the information is updated in all groups where the tag already existed). The priority of the groups is given by the list above. Specifically, this means that new information is added preferentially to the EXIF group, or to the IPTC group if no corresponding EXIF tag exists, or finally to the XMP group. Alternatively, information may be written to a specific group only, bypassing these priorities, by providing a group name for the tag. The Writing Meta Information section above gave the syntax rules for exiftool command-line arguments to do this. Any family 0, 1 or 2 group name may be used when writing information, although not all groups are writable. The - tagsFromFile Option A special ExifTool option allows copying tags from one file to another. The command-line syntax for doing this is - tagsFromFile SRCFILE . Any tags specified after this option on the command line are extracted from source file and written to the destination file. If no tags are specified, then all writable tags are copied. This option is very simple, yet very powerful. Depending on the formats of the source and destination files, some of tags read may not be valid in the destination file, in which case they arent written. This option may also be used to transfer information between different tags within a single image or between different images. See the - tagsFromFile option in the application documentation for more details. ExifTool will not rewrite a file if it detects a significant problem with the file format. ExifTool has been tested with a wide range of different images, but since it is not possible to test it with every known image type, there is the possibility that it will corrupt some files . Be sure to keep backups of your files. Even though ExifTool does some validation of the information written, it is still possible to write illegal values which may cause problems when reading the images with other software. So take care to validate the information you are writing. ExifTool is not guaranteed to remove metadata completely from a file when attempting to delete all metadata. For JPEG images, all APP segments (except Adobe APP14. which is not removed by default) and trailers are removed which effectively removes all metadata, but for other formats the results are less complete: JPEG - APP segments (except Adobe APP14 ) and trailers are removed. TIFF - XMP, IPTC and the ExifIFD are removed, but some EXIF may remain in IFD0. PNG - Only iTXt, tEXt and zTXt chunks (including XMP) are removed. PDF - The original metadata is never actually removed. PS - Only some PostScript and XMP may be deleted. MOVMP4 - Only XMP is deleted. RAW formats - It is not recommended to remove all metadata from RAW images because this will likely remove some proprietary information that is necessary for proper rendering of the image. Some antivirus software has been known to cause problems for the Windows version of ExifTool. Norton Antivirus may delete ExifTool when it is run, Windows Defender may slow down launching of ExifTool or hang it altogether, and Bitdefender Antivirus may block ExifTool from writing files. Presumably this is due to the way the ExifTool package for Windows works -- it unpacks executable files into a temporary directory and runs from there, which apparently may be seen as a threat by antivirus software. A work-around is to add ExifTool to the exclusion list of the antivirus software. Adobe Camera Raw and DNG Converter 9.5.1 fail to recognize edited Samsung SRW images from some models (NX30, NX300, NX2000 and EK-GN120). This problem was fixed for the NX models in ExifTool 10.26, but remains for the EK-GN120 In Windows . ExifTool will not process files with Unicode characters in the file name . This is due to an underlying lack of support for Unicode filenames in the Windows standard C IO libraries. This deficiency was addressed in ExifTool 9.79, and ExifTool now supports Windows Unicode file names with some exceptions. See the WINDOWS UNICODE FILE NAMES section of the application documentation for details. Memory available to ExifTool in the Windows EXE version is limited to a few hundred MB. This limitation has been known to cause unreasonably long processing times (almost 7 minutes) for some large EPS files ( 200 MB) which are processed much faster by the Perl version (lt 6 seconds). Apple Spotlight and Preview (OS X 10.8.5) and Adobe Photoshop CC (version 14.0) ignore XMP in PNG images if it comes after the image data, which is where ExifTool adds new XMP. This should be considered as a bug in the Apple and Adobe software since XMP is allowed to exist after the image data according to the XMP and PNG specifications. ExifTool 9.40 provides the PNGEarlyXMP API option to allow writing XMP before the IDAT chunk, but there are caveats associated with its use There is a bug in the Apple RAW file support (OS X 10.4.11) which prevents some edited Pentax PEF images from being displayed properly. Other software such as the Pentax Silkypix software and dcraw have no problems with these images. This bug is fixed in OS X 10.5.4 There is a bug in a number of Adobe utilities which causes some edited Sony ARW images to be displayed with the wrong tone curve. This problem has been observed in Photoshop CS4 Camera Raw 5.6, DNG Converter 5.6 and Lightroom 2.6 with ARW images from the A500, A550, A700, A850 and A900. Other software such as the Sony IDC utility, Apple RAW utilities, dcraw and Capture One have no problems with edited images. This bug is fixed in Camera Raw 6.3 and LR 3.3 Some ExifTool options ( - if. - p. and copying arguments like - DSTTAGltSTR ) have the ability to execute Perl code from within command-line arguments. This may be a security problem if ExifTool is executed from another application that blindly passes untrusted file names on the command line (since they may be interpreted as ExifTool options if they begin with a dash). To be secure, the calling application must ensure that input file names do not start with a dash (U002D) or a Unicode minus sign (U2212). The easiest way to accomplish this is to prefix input file names with a known directory name, eg.).FILENAME . Have you ever forgotten to set the datetime on your digital camera before taking a bunch of pictures ExifTool has a time shift feature that makes it easy to apply a batch fix to the timestamps of the images (eg. change the Date Picture Taken reported by Windows Explorer). Say for example that your camera clock was reset to 2000:01:01 00:00:00 when you put in a new battery at 2005:11:03 10:48:00. Then all of the pictures you took subsequently have timestamps that are wrong by 5 years, 10 months, 2 days, 10 hours and 48 minutes. To fix this, put all of the images in the same directory ( DIR ) and run exiftool: The example above changes only the DateTimeOriginal tag, but any writable date or time tag can be shifted, and multiple tags may be written with a single command line. Commonly, in JPEG images, the DateTimeOriginal, CreateDate and ModifyDate values must all be changed. For convenience, a shortcut tag called AllDates has been defined to represent these three tags. So, for example, if you forgot to set your camera clock back 1 hour at the end of daylight savings time in the fall, you can fix the images with: Note: Not all datetime information is covered by the AllDates shortcut. Specifically, the filesystem datetime tags are not included, and this command will reset FileModifyDate to the current datetime as it should when the file is modified, unless either the - P option is used, or FileModifyDate is set to something else. To shift FileModifyDate along with the other tags, add - FileModifyDate-1 to the command above. By writing a new value to the FileName andor Directory tags, files can be renamed andor moved to different directories. This can be a very powerful tool in combination with the - d (date format) option for organizing images by datetime. For example, the following command renames all images in directory DIR according to the individual files creation date in the form YYYYmmddHHMMSS. ext . Or a new directory can be specified by setting the value of the Directory tag. For example, the following command moves all images originally in directory DIR into a directory hierarchy organized by yearmonthday: Read here for more details about this powerful feature. There is a significant overhead in loading ExifTool, so performance may be greatly improved by taking advantage of ExifTools batch processing capabilities (the ability to process multiple files or entire directories with a single command) to reduce the number of executed commands when performing complex operations or processing multiple files. dagger One exiftool user documented a 60x speed increase by processing a large number of files with a single command instead of running exiftool separately on each file. Also, the - execute option may be used to perform multiple independent operations with a single invocation of exiftool, and together with the - stayopen option provides a method for calling applications to avoid this startup overhead . It has also been observed that the loading time of ExifTool for Windows increases significantly when Windows Defender is active. Disabling Windows Defender may speed things up significantly. The processing speed of ExifTool can be improved when extracting information by reducing the amount of work that it must do. Decrease the number of extracted tags by specifying them individually ( - TAG ) or by group ( - GROUP:all ), and disable the composite tags ( - e ) and the print conversions ( - n ) if these features arent required. Note that the exclude options ( - x or --TAG ) are not very efficient, and may have a negative impact on performance if a large number of tags are excluded individually. The - fast option can significantly increase speed when extracting information from JPEG images which are piped across a slow network connection. However, with this option any information in a JPEG trailer is not extracted. For more substantial speed benefits, - fast2 may be used to also avoid extracting MakerNote information if this is not required. When writing, avoid copying tags (with - tagsFromFile ) or using the - if or - fileOrder option because these will add the extra step of extracting tags from the file. Without these the write operation is accomplished with a single pass of each file. dagger However, note that when the - csv option is used, information from all files is buffered in memory before the CSV output is written. This may be very memory intensive and result in poor performance when reading a large number of files in a single command. The exiftool script provides a command-line interface to the Image::ExifTool Perl library module which is part of the ExifTool distribution. The Image::ExifTool module can be used in any Perl script to provide easy access to meta information. Here is an example of a very simple script that uses Image::ExifTool to print out all recognized meta information in a file: Note that some tag values may be returned as SCALAR references indicating binary data. The simple script above does not handle this case. Below are some free utilities which take advantage of the ExifTool engine: ExifTool GUI for Windows. GUI for viewing meta information with some editing features Metadata. View, edit, extract, copy metadata metadata Auto ISO Tool. GUI front-end for ExifTool to patch Canon ISO information GeoSetter. Utility for showing and changing geo data of image files ExifMixer. GUI extension for the exiftool command-line interface AvPicFaceXmpTagger. Write Picasa 3.5 face recognition information as XMP to your images FileTagSleuth. MP3, ID3 and EXIF viewer PhotoMove. Automatically move photos to directories or folders based on Exif date taken GUI2 for ExifTool. An ExifTool GUI with built-in editor and browser AutoJpegTrunk. Tool to remove all metadata from JPEG images AdvancedRenamer. Rename files and folders from metadata Proxel EXIF Tool. Photoshop plugin based on ExifTool EXIFCopy. Copy all EXIF information between files Random Photo Screensaver. Photo screensaver with metadata display PicaGeoTag. Geolocate your photos Download a stand-alone droplet to extract preview images from RAW files (thanks to Brett Gross) Download three droplets to extract information exiftool must be installed (thanks to Rob Lewis) MacMetaMod. Droplet for adding Keywords to images GPSPhotoLinker. Geotagging on the Mac PhotoGPSEditor and PhotoInfoEditor. Geocoding utilities MetaDataMover (source ): GUI-based automator utility for movingrenaming images CS1ToCR2. Utility that uses Sony GPS-CS1 log files to add GPS information to CR2 images Geotagger. Droplet for inserting GPS coordinates in your photos Raw Photo Processor. Raw converter for Mac OS X GraphicConverter. Full-featured image editor noteworthy, but not free GeoTag. Geotagging application for iPhone and OS X ImageFuser. Fuses multiple exposures of a scene into one image with improved detailexposure GeoNamesTagger. Docklet to easily update image metadata with location specific information SetEXIFData. Addmodify EXIF data in images rawimage: A kfile plugin and thumbnail image handler for RAW formats Hugin. Panorama photo stitcher FotoPreProcessor. PyQt4-based frontend for exiftool to graphically edit metadata ExZenToo. Script for basic ExifTool GUI using Zenity PDFMted. A set of bash scripts for easy viewing and editing of PDF metadata exiftool-zsh-completion. zsh completion for exiftool ImageIngester. Windows and Mac OS X image workflow automator gpsPhoto. Geotag your images from a GPS (GPX) track log renrot. Perl utility to perform various processing tasks on images GPicSync. WindowsLinux utility to geocode photos from a GPX track log and create KML files FlickFleck. Tool to transfer images from memory card, rotate, rename, and organize by date Geotag. Open source Java-based geotagging application PhotoGrok. Java-based GUI front-end for ExifTool to display images organized by any EXIF tag XnView. View and convert graphic files Mapivi. Open-source and cross-platform picture manager ResourceSpace. Open source digital asset management system fixcorruptednef. Utility to fix Nikon D4D600D800D800E NEF images corrupted by Nikon Transfer 1 pyExifToolGUI. Python-based graphical frontend for ExifTool MDQC. AVPreserve tool for metadata quality control across large numbers of digital assets FastPhotoTagger. Add metadata to images (requires Java runtime engine) Digi-libris. Metadata centric software for the automatic organization of your own catalogue FreezeFrame. Photovideo library manager (requires Java 8) Jeffreys Geoencoding Plugin for Lightroom. Geoencode your photos from within Lightroom Metadata Wrangler. Strip selected metadata components from images as they are exported ExifMeta. Make all exif metadata available in Lightroom for lib filtering and smart collections FullMetaExport. Export JPEG images from Lightroom with full metadata LensTagger. Add EXIF information like aperture and focal length for manual lenses DeAspect: Remove aspect ratio information from DNG, CR2 and ORF images to restore full image PhotoStation-Upload-Lr-Plugin. Export photos from LR directly to a Synology PhotoStation C ExifTool. Performance-oriented C interface for the exiftool application (by Phil Harvey) Download sample AppleScript to extract tags into AppleScript record (thanks to Rob Lewis) Download example of a simple Visual C wrapper for exiftool (thanks Mark Borg and 406432979026124) Download C version of simple exiftool wrapper (thanks Willem Semmelink) Download Visual Basic 6.0 example script v1.01 for reading tags with exiftool (thanks Michael Wandel) Sample VB subroutine to extract a preview image (thanks Claus Beckmann) tagInfoSql. SQLite database of ExifTool tag repository, including Perl script (thanks Wernfried) ExifToolIO. NET wrapper for ExifTool, optimized for speed (using VB) ExifToolWrapper. NET wrapper for ExifTool (using C) MiniExiftool. Ruby library wrapper for ExifTool exiftoolr. Ruby wrapper for ExifTool pyexiftool. Python wrapper for ExifTool PyExifInfo. Another Python wrapper for ExifTool PHPExiftool. PHP wrapper for ExifTool (in development) ExifToolPHPStayOpen. ExifTool PHP fast processing script using - stayOpen and Gearman Moss. Collection of Java utilities which includes an exiftool interface im4java. Java interface to ImageMagick, ExifTool, and other image utilities Java ExifTool. Enhanced Java Integration for ExifTool J-ExifTool. Open-source, cross platform Java7 library to readwrite Exif tags in images exiftool-vendored. Blazing-fast, cross-platform Node. js access to ExifTool How to call ExifTool from Delphi. by Bogdan Hrastnik There is still much unknown information in the maker notes for many camera models. (To see this information, run exiftool with the - U option.) In this area, ExifTool is very much a collaborative effort, and development relies heavily on the input from camera owners to help decode new meta information. If you manage to figure out what any of it means, send me an e-mail (phil at owl. phy. queensu. ca) and Ill add your new discoveries to ExifTool . Many thanks to all who have helped so far. Thanks to everyone who has sent in bug reports, comments, or suggestions, and special thanks to the following people for their valuable input andor additions to the code: Malcolm Wotton for his help with the D30 Custom Functions David Anson for his help sorting out binary file problems on Windows Leon Booyens for his suggestions Dan Heller for his bug reports, detailed suggestions and guidance Wayne Smith for his help figuring out the Pentax maker notes Michael Rommel for his bug fixes and additions to the Canon maker notes Joseph Heled for help figuring out some of the Nikon D70 maker notes Joachim Loehr for adding the Casio type 2 maker notes Greg Troxel for his suggestions and for adding ExifTool to pkgsrc Thomas Walter for figuring out some Nikon tags Brian Ristuccia for more information about some Nikon tags Christian Koller for decoding the 20D custom functions Matt Madrid for his testing and feedback Tom Christiansen for his help decoding some Nikon tags Markku Haumlnninen for h elp decoding tags for the Olympus E-1 Frank Ledwon for decoding many new Olympus tags Robert Rottmerhusen for decoding many tricky Nikon lens data tags Michael Tiemann for decoding a number of new Canon tags Albert Bogner for his image samples, testing and useful suggestions Rainer Houmlnle for decoding a number of new Canon 5D tags Nilesh Patel for his help with the web page layout Jens Duttke for his suggestions, bug reports and help decoding new tags Dave Nicholson for decoding new tags in Pentax and Canon maker notes Bogdan Hrastnik for his feedback, decoding efforts, user support and ExifTool GUI Igal Milchtaich for decoding many Sony A100 tags Laurent Clevy for his work analyzing Canon RAW images Warren Hatch for decoding many Nikon tags Jos Roost for decoding many Sony tags for various models Iliah Borg and LibRaw for decoding many raw development tags This is free software you can redistribute it andor modify it under the same terms as Perl itself . ExifTool is free, but due to popular request I am providing a way for those who feel the need to send me some money. It is really not necessary, but thank you very much if you decide to make a contribution: If you have any comments, suggestions or questions, please post to the ExifTool Forum so other people may benefit from your experiences. (I check the forum at least as often as my email.) Otherwise, if you must contact me directly, my e-mail address is on the first line of the README file in the full distribution. Terima kasih. - Phil Harvey
Comments
Post a Comment