diff --git a/modules/islandora_audio/src/Plugin/Action/GenerateAudioDerivative.php b/modules/islandora_audio/src/Plugin/Action/GenerateAudioDerivative.php index 904d05e60..3f7ad8964 100644 --- a/modules/islandora_audio/src/Plugin/Action/GenerateAudioDerivative.php +++ b/modules/islandora_audio/src/Plugin/Action/GenerateAudioDerivative.php @@ -36,6 +36,7 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta $form = parent::buildConfigurationForm($form, $form_state); $form['mimetype']['#description'] = $this->t('Mimetype to convert to (e.g. audio/mpeg, audio/m4a, etc...)'); $form['args']['#description'] = $this->t('Additional command line parameters for FFMpeg'); + unset($form['inputargs']); return $form; } diff --git a/modules/islandora_image/src/Plugin/Action/GenerateImageDerivative.php b/modules/islandora_image/src/Plugin/Action/GenerateImageDerivative.php index e81f157b1..758c73757 100644 --- a/modules/islandora_image/src/Plugin/Action/GenerateImageDerivative.php +++ b/modules/islandora_image/src/Plugin/Action/GenerateImageDerivative.php @@ -33,7 +33,12 @@ public function defaultConfiguration() { public function buildConfigurationForm(array $form, FormStateInterface $form_state) { $form = parent::buildConfigurationForm($form, $form_state); $form['mimetype']['#description'] = $this->t('Mimetype to convert to (e.g. image/jpeg, image/png, etc...)'); - $form['args']['#description'] = $this->t('Additional command line arguments for ImageMagick convert (e.g. -resize 50%'); + + $form['inputargs']['#title'] = $this->t('Additional input arguments'); + $form['inputargs']['#description'] = $this->t('Additional input options for ImageMagick convert (e.g. -density 144).
Check the man page to see which options are input options.'); + + $form['args']['#title'] = $this->t('Additional output arguments'); + $form['args']['#description'] = $this->t('Additional output options for ImageMagick convert (e.g. -resize 50% -unsharp 0x.5).
See documentation for available options.'); return $form; } diff --git a/modules/islandora_image/src/Plugin/Action/GenerateImageDerivativeFile.php b/modules/islandora_image/src/Plugin/Action/GenerateImageDerivativeFile.php index d6f99b584..8a9d73556 100644 --- a/modules/islandora_image/src/Plugin/Action/GenerateImageDerivativeFile.php +++ b/modules/islandora_image/src/Plugin/Action/GenerateImageDerivativeFile.php @@ -37,6 +37,12 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta $form['mimetype']['#description'] = $this->t('Mimetype to convert to (e.g. application/xml, etc...)'); $form['mimetype']['#value'] = 'image/jpeg'; $form['mimetype']['#type'] = 'hidden'; + + $form['inputargs']['#title'] = $this->t('Additional input arguments'); + $form['inputargs']['#description'] = $this->t('Additional input options for ImageMagick convert (e.g. -density 144).
Check the man page to see which options are input options.'); + + $form['args']['#title'] = $this->t('Additional output arguments'); + $form['args']['#description'] = $this->t('Additional output options for ImageMagick convert (e.g. -resize 50% -unsharp 0x.5).
See documentation for available options.'); return $form; } diff --git a/modules/islandora_text_extraction/src/Plugin/Action/GenerateOCRDerivative.php b/modules/islandora_text_extraction/src/Plugin/Action/GenerateOCRDerivative.php index 745c57727..19417ec40 100644 --- a/modules/islandora_text_extraction/src/Plugin/Action/GenerateOCRDerivative.php +++ b/modules/islandora_text_extraction/src/Plugin/Action/GenerateOCRDerivative.php @@ -38,6 +38,7 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta $form['mimetype']['#type'] = 'textfield'; unset($form['args']); + unset($form['inputargs']); return $form; } diff --git a/modules/islandora_text_extraction/src/Plugin/Action/GenerateOCRDerivativeFile.php b/modules/islandora_text_extraction/src/Plugin/Action/GenerateOCRDerivativeFile.php index f6b8034a9..578f1b0c1 100644 --- a/modules/islandora_text_extraction/src/Plugin/Action/GenerateOCRDerivativeFile.php +++ b/modules/islandora_text_extraction/src/Plugin/Action/GenerateOCRDerivativeFile.php @@ -58,6 +58,7 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta $form = array_merge($first, $middle, $last); unset($form['args']); + unset($form['inputargs']); return $form; } diff --git a/modules/islandora_video/src/Plugin/Action/GenerateVideoDerivative.php b/modules/islandora_video/src/Plugin/Action/GenerateVideoDerivative.php index 7c8619923..d5fb710dc 100644 --- a/modules/islandora_video/src/Plugin/Action/GenerateVideoDerivative.php +++ b/modules/islandora_video/src/Plugin/Action/GenerateVideoDerivative.php @@ -35,6 +35,7 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta $form = parent::buildConfigurationForm($form, $form_state); $form['mimetype']['#description'] = $this->t('Mimetype to convert to (e.g. video/mp4, video/quicktime, etc...)'); $form['args']['#description'] = $this->t('Additional command line parameters for FFMpeg'); + unset($form['inputargs']); return $form; } diff --git a/src/Plugin/Action/AbstractGenerateDerivative.php b/src/Plugin/Action/AbstractGenerateDerivative.php index b22201e11..a2e44a65e 100644 --- a/src/Plugin/Action/AbstractGenerateDerivative.php +++ b/src/Plugin/Action/AbstractGenerateDerivative.php @@ -21,6 +21,7 @@ public function defaultConfiguration() { 'source_term_uri' => '', 'derivative_term_uri' => '', 'mimetype' => '', + 'inputargs' => '', 'args' => '', 'destination_media_type' => '', 'scheme' => $this->config->get('default_scheme'), @@ -130,6 +131,13 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta '#rows' => '8', '#description' => $this->t('Mimetype to convert to (e.g. image/jpeg, video/mp4, etc...)'), ]; + $form['inputargs'] = [ + '#type' => 'textfield', + '#title' => $this->t('Additional input arguments'), + '#default_value' => $this->configuration['inputargs'], + '#rows' => '8', + '#description' => $this->t('Additional command line options related to the source file'), + ]; $form['args'] = [ '#type' => 'textfield', '#title' => $this->t('Additional arguments'), @@ -199,6 +207,7 @@ public function submitConfigurationForm(array &$form, FormStateInterface $form_s $this->configuration['derivative_term_uri'] = $this->utils->getUriForTerm($term); $this->configuration['mimetype'] = $form_state->getValue('mimetype'); + $this->configuration['inputargs'] = $form_state->getValue('inputargs'); $this->configuration['args'] = $form_state->getValue('args'); $this->configuration['scheme'] = $form_state->getValue('scheme'); $this->configuration['path'] = trim($form_state->getValue('path'), '\\/'); diff --git a/src/Plugin/Action/AbstractGenerateDerivativeMediaFile.php b/src/Plugin/Action/AbstractGenerateDerivativeMediaFile.php index be9eca80b..157765919 100644 --- a/src/Plugin/Action/AbstractGenerateDerivativeMediaFile.php +++ b/src/Plugin/Action/AbstractGenerateDerivativeMediaFile.php @@ -27,6 +27,7 @@ public function defaultConfiguration() { 'event' => 'Generate Derivative', 'source_term_uri' => $uri, 'mimetype' => '', + 'inputargs' => '', 'args' => '', 'path' => '[date:custom:Y]-[date:custom:m]/[media:mid].bin', 'source_field_name' => 'field_media_file', @@ -69,6 +70,7 @@ protected function generateData(EntityInterface $entity) { $allowed = [ 'queue', 'event', + 'inputargs', 'args', 'source_uri', 'destination_uri', @@ -109,12 +111,20 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta '#description' => $this->t('File field on Media Type to hold derivative. Cannot be the same as source'), ]; + $form['inputargs'] = [ + '#type' => 'textfield', + '#title' => $this->t('Additional input arguments'), + '#default_value' => $this->configuration['inputargs'], + '#rows' => '8', + '#description' => $this->t('Additional command line options related to the source file'), + ]; + $form['args'] = [ '#type' => 'textfield', - '#title' => $this->t('Additional arguments'), + '#title' => $this->t('Additional output arguments'), '#default_value' => $this->configuration['args'], '#rows' => '8', - '#description' => $this->t('Additional command line arguments'), + '#description' => $this->t('Additional command line options related to the output file (derivative)'), ]; $form['mimetype'] = [ @@ -170,6 +180,7 @@ public function validateConfigurationForm(array &$form, FormStateInterface $form public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { parent::submitConfigurationForm($form, $form_state); $this->configuration['mimetype'] = $form_state->getValue('mimetype'); + $this->configuration['inputargs'] = $form_state->getValue('inputargs'); $this->configuration['args'] = $form_state->getValue('args'); $this->configuration['scheme'] = $form_state->getValue('scheme'); $this->configuration['path'] = trim($form_state->getValue('path'), '\\/');