Need help in shell script programming

I use the following script to check the status of the db.

check_stat ='ps - ef | grep ${ORACLE_SID} | grep pmon | WC-l ';
oracle_num = 'expr $check_stat.
If [$oracle_num - lt 1]
then
Exit 0
FI
#*************************************************************
# Test to see if Oracle accepts connections
#*************************************************************
$ORACLE_HOME/bin/sqlplus - s "virtue sysdba" > /tmp/check_$ORACLE_SID.ora < < ENDSCRIPT
Select name from v$ database;
output
ENDSCRIPT
#*************************************************************
# If this is not the case, go out and e-mail...
#*************************************************************
check_stat ='cat /tmp/check_$ORACLE_SID.ora|grep-i error | WC-l ';
oracle_num = 'expr $check_stat.
If [$oracle_num - no 0]
then
mailx-s "$ORACLE_SID is down!" [email protected] < /tmp/check_$ORACLE_SID.ora
#else
#mailx s "$ORACLE_SID is running" [email protected] < /tmp/check_$ORACLE_SID.ora
exit 16
FI

When run at the command prompt, it works fine. I need to know what lines I need to add to this schedule a crontab?
Thanks in advance

See "man cron" cron documentation
Check what types of jobs already exist in the file crontab "crontab-l".

Your script is based on $ORACLE_SID and $ORACLE_HOME is defined, then you need to add lines to do this (by calling the existing scripts, or by calling oraenv)

Tags: Database

Similar Questions

  • Calling shell script program SQL and passing parameters

    Hi guys,.
    Greetings from Toronto. Is it possible to move one or more strings as parameters to a sql from shell script program?

    Shell script
    # Accept system input parameters
    p_user_id=$1
    p_job_id=$2
     
    sqlplus.exe -s $p_user_id @$RD_PATH/rd_test.sql $p_user_id $p_job_id
    SQL program (rd_test.sql)
    -- Accept system input parameters
    define p_user_id = &1
    define p_job_id = &2
    
    -- Wondering if its possible to pass these 3 parameters from a shell script program.
    -- (1) rd_test-$p_job_id-3-1.lis
    -- (2) RD_PRINTER(rd_test,3)
    -- (3) t_data
    
    select
    t_data=''rd_test-'||'''$p_job_id'''||'-1-1.txt''
    t_data_dir=''.''
    ksh $RD_PATH/another_shell_prog.sh $p_user_id $p_job_id '||a.rd_value||' '
    ||b.rd_value||' rd_test-$p_job_id-3-1.lis $RD_PRINTER(rd_test,3) '||
    '$t_data $t_data_dir'||'
    exit_status=$?
    check_command'
    from rd_job_parameter b, rd_job_parameter a
    where a.job_id = &2
    and a.jp_module_id = 'RDTEST'
    and b.job_id = a.job_id
    and b.module_id = a.module_id
    /
    As always, this is not something I have to solve that minute. Any help would be appreciated
    and I will think of the problem.

    Thank you
    REDA

    Published by: Raj404261 on June 25, 2009 11:40

    Published by: Raj404261 on June 25, 2009 17:29

    OK, just a few pointers possible if you need to go the way of shell script.

    I suggest that you have a separate SQL script for each of your options, which retains the fairly well-defined lines and keeps the maintenance as simple as possible. Therefore, in your shell script, you can have something like:

    #!/bin/ksh
    # Accept system input parameters
    p_user_id=$1
    p_job_id=$2
    
    # Deduce which script you'll call here
    # using if statements, or even a case:
    
    if [[ p_job_id -eq 1 ]]
    then
      SQL_SCRIPT=sql_script1.sql
    else
      SQL_SCRIPT=sql_script2.sql
    fi
    
    # Or using case
    
    case $2
      in
        1)     SQL_SCRIPT=sql_script1.sql;
    
        2)     SQL_SCRIPT=sql_script2.sql;
    
        3)     SQL_SCRIPT=sql_script3.sql;
    
        *)     SQL_SCRIPT=sql_script4.sql;
    esac
    
    export ${SQL_SCRIPT}
    
    #If you need to query the database at all to deduce which script to cal
    #Then something like this:
    
    SCRIPT_VAR=`sqlplus -s username/password << EOF
    set heading off
    set feedback off
    set verify off
    SELECT * FROM DUAL;
    EOF`
    
    export {SCRIPT_VAR}
    
    SQL_SCRIPT=sql_script${SCRIPT_VAR}.sql
    
    # Then just call your script:
    sqlplus. -s $p_user_id/password @${SQL_SCRIPT}
    
  • Need help with a script (o - o8) *, see the Virgin if there is no

    Hi all what I need help with a script I can't find an example.

    I'm trying to subtract 2 numbers and then multiply this product. (o o8) * one but I just want to do the calculations if all fields have the numbers IE field o, o8 of field and field one.

    Thank you in advance. I was stuck on this days searching the Internet.

    Assuming you want to affect the outcome of this calculation in another text field, use this code as a custom field calculation script:

    var o = this.getField("o").valueAsString;
    var o8 = this.getField("o8").valueAsString;
    var a = this.getField("a").valueAsString;
    if (o!="" && o8!="" && a!="") event.value = (Number(o)-Number(o8))*Number(a);
    else event.value = "";
    
  • I need help to find a program that was on my computer laptop b4

    I'm looking for a program that has been on my laptop before I bought it (used) and I can't seem to find it. I looked in the install/uninstall programs and its there under Uninstall but I don't want to uninstall it I want to use it. How should I do where I can use the program on my computer? is there a way I find. I think that it may have been sent to the trash and deleted but never uninstalled!

    Well, you need the NAME of the program you are looking for!

    It's updated operating system Vista, upgraded installation and activate Forum.

    http://social.answers.Microsoft.com/forums/en-us/vistaprograms/threads

    They will help you with your question in Forum Vista programs at the above address.

    See you soon.

    Mick Murphy - Microsoft partner

  • Need help with custom script to rename the layers

    Hello world.

    I need help to write a custom script (because I suck at it) that will allow me to go through all the layers and sous-calques for a specific name ('X') and give it a new specific name ('Y').

    I have had success using the script below, but it does not work on any text layers names where the text layer was previously particularly well-known in 'X' and now changed needs.

    Any help is greatly appreciated.

    * Note: this script was originally used to find any layer with 'Copy' in its name and remove with anything after (to correct the problem of duplication of layers by adding this text).

    This is why the function is named removeCopy. It works for renaming layers also - just not a layer of text unfortunately.

    #target illustrator

    function removeCopy() {}
    If (app.documents.length == 0) return;
    var app.activeDocument = docRef;
    recurseLayers (docRef.layers);
    }
    removeCopy();
    function recurseLayers (objArray) {}
    for (var i = 0; i < objArray.length; i ++) {}
    ObjArr [i] .name = ObjArr [i].name.replace (/ \s*current name\s*\d*/, 'new name');
    If (objArray [i] .layers) recurseLayers (. layers.length > 0 ObjArr [i]);
    }
    }

    I finally found something after searching forums for a week. My confusion was related to the way Illustrator treats real layers against text/path/object "layers." Instead of layers, I had to use the pageItems in the script. The code below works. Thanks to Gustavo for his answer in another thread and Carlos I thank you for this looking too good! You're great to be ready to help models do more advanced things with Illustrator.

    var doc = app.activeDocument;
    var items = doc.pageItems;
    for (var g = 0; g)
        elements [g] .name = elements [g].name.replace ('Century Schoolbook text line', ' MonogramText: Century Schoolbook ");
    };
    App.Redraw ();
  • Need help with Java Script to perform a calculation in the form of Adobe Acrobat Pro 9

    I have a form (test) I created in Adobe Acrobat 9 Pro.

    I need help to create a custom JavaScript, so I can get the desired response.

    1) there are several questions in each group requiring a numeric response between 0-4

    2) there is a total set up field to calculate the sum of the responses of all of the above questions

    (3) the final "score" takes the answer in step 2 above and divide by the total possible response

    Any help to what Java Script I need to fill it would be greatly appreciated!

    I have attached a spreadsheet "" which shows more in detail as are the result of what I used in Excel to get the desired end formulas.

    Thanks in advance.

    Have you tried the "field is the average of:"?

  • Need help custom calculation Script

    I need to make a script are a column of fields based on or no information found in another column of fields is the same or specific text. Please find below the screenshot of what I would like that to be done.

    I would like a sum of all the amounts that had Code A...

    You can use this script as of 'SumOfA ': custom calculation script

    var total = 0;
    for (var i=0; i<=2; i++) {
        if (this.getField("p1TC."+i).value=="Code A")
            total+=Number(this.getField("p1RecIn."+i).value);
    }
    event.value = total;
    

    You can adjust easily to the other field as well.

  • Need help with windows scripting/media literacy

    It's kind of a strange question. I have a program at the same time a different video each month. every time that it runs, it checks to see which month it is and play the appropriate video. I have downloaded with the .mp4 extension videos and the program is just a batch file. I need the program to run whenever I start my computer, but after I connect. There should be a little late after that I connect to avoid crashing everything (my computer is a bit slow). I'm ready to use other programs. Help, please. BTW, I'm not quite sure which forum to post this in, let know me if I should change.

    Try this:

    1. Press +R to open the run.  Type : startup of the shell and click OK.
    2. Put here your batch file (or a shortcut)

    Now, when you connect, the batch file will run once the computer is recording in.

  • Need help to write a program for the acquisition of signals.

    Hello

    I need to write a program that will do the following:

    1 acquire two signals simulated,

    2. make 10 averages the signal,

    3. filter the signal,

    4. display the signal in its raw form and the power spectrum (fft),

    5. save the data using writing to the file vi

    I tried it for awhile, but there's always something does not... None of the experts LabVIEW here can help me?

    Thank you 1 million.

    -Deet

    No one here is going to do your homework for you. Please join what you have written so far and explain the specific problem that you are experiencing.

  • Need help to install a program

    I just need a help with the installation of a program

    Install a program - Windows - Microsoft

    May I ask what is the problem you are having?

    Is what program this?

    You can also try the following:

    1 disable any security software before attempting to upgrade

    1. click on start, type msconfig in the search box and press ENTER.

    User account control permission

    If you are prompted for an administrator password or a confirmation, type the password, or click on continue.

    2. in the general tab, click Selective startup.

    3. under Selective startup, clear the check box load startup items.

    4. click on the Services tab, select the hide all Microsoft Services check box, and then click Disable all.

    5. click on OK.

    6. When you are prompted, click on restart.

    7. after the computer starts, check if the problem is resolved.

  • I need help from the drawing program Illustrator Illustrator CC witching

    Can someone help me please?

    [Ask in the correct forum allows... Left non-technical Forum Lounge for forum specific program... MOD]

    Adobe Illustrator Draw (for iOS) is a free application. You can not just "view" Adobe Illustrator CC (which is the latest version of Adobe Illustrator) from that.

    In order to get the Illustrator and InDesign for your class, you need to get a subscription to Adobe Creative Cloud. Subscribe to the complete cloud will be the cheapest version.

    http://www.Adobe.com/creativecloud.html

    You won't be able to install it on your iPad

  • Need help with a script customized for processing in Photoshop CS4 of images in batches. Really grateful for the help thereby.

    Hi people.

    So I have a boatload of pictures that I have to deal with as I'm moving off Ebay and open my own online store and the images that I have on Ebay, although excellent quality are not square, and unfortunately, the model that I use in Wordpress requires square photos.

    Basically, what I need is a script that I can use in batch mode, which will focus on the size of the image and change the canvas size to be square corresponding to the current long image side. Resize the image to 1600 square pixels and finally save for web in JPEG quality 60.

    Normally I would muddle my way through this trying to teach myself but I already do so much with this new project that I can't afford to pay developers for help that I would really appreciate if someone could help me with this script. I use Photoshop CS4 if it made a difference.

    Thanks much for any help you can offer.

    See you soon,.

    J

    A simple gesture can do that. What you need to do is that the action of lot.   With the help of Photoshop Image Processor script.  The Action is a two-step

    N ° 1). File menu > automate > fit Image.  In the dialog box Image Fit you assign Width and Height 1600 pixels.

    Step 2.) Menu Image > canvas size.  In the canvas size dialog box, you assign Width and Height 1600 Pixels.

    Record the action in some action with a name like 1600PxSquare

    Then use the file menu to Photoshop > Scripts > image processor. In the dialog to the Image Processor script. Select your image source folder. Set where you want your jpeg images. Set it to save jpeg files quality 6.  Set it to include your 1600PxSquare action.

    Step adjustment image resize your image to fit in a 1600 x 1600 pixels are while keeping image proportions of images. Portrait image will be high 1600px and landscape image will be 1600px wide.  The step size canvas will add the canvas to make the place of the image.  Portraits will have a border on the left and right images of landscape will be confined to the op and downs.

  • I need help to write script

    I was doing a form fillable Friday and I had someone to help him, but it does not quite work. I need a field to be is the difference between two fields, OR, if this difference is 0 or a negative number, it must be '0 '. The code we have written has worked to do simple subtraction, but he was always playing the negative number, AND more important still, it wouldn't "Refresh" I've changed numbers (I had 36-30, so it was show 6, but even when I started to clear the fields, he would remain at 6)

    Here is my domain names and needs:

    If exchangetotal-returntotal < = 0, then the value I show is 0 in the "sub-total" field (IE, you do not get a credit or refund if the value of the goods you are returning is greater than what you are in Exchange for)

    If exchangetotal-returntotal > 0, then the value is what is this difference. (IE, you will pay the difference if what you are sharing costs more expensive than what you have returned)

    (I had planned to paste the code that we had, but my stupid work computer won't let me paste half the time)

    In addition, this will of 'Custom calculation Script,' correct?


    Thanks in advance!

    ~ Heather

    You can use this script as "Subtotal" custom calculation script It will update automatically whenever you change a value of a field in your file (However, he won't like you, change only when you leave, because that's when the value actually takes effect):

    var v1 = +this.getField("exchangetotal").value;
    var v2 = +this.getField("returntotal").value;
    if (v1<=v2) event.value = 0;
    else event.value = (v1-v2);
    
  • Need help please this script... LucD? :-)

    Everything works as expected, but I have a problem with the two parts of the script. They are the bits where he itterates the NETWORK card and hard drives (pink and blue sections below).

    Problem with the NIC (Pink) loop - it only shows nic 0, and if there are multiple network cards - they are not out in the CSV file. Also returns only 0 NETWORK adapter MAC address and not the other nic MAC addresses...

    Problem with loop (blue) disc - it returns only the first TWO discs even if some of my VM 4 or even 5 discs...

    No idea why this is happening. This script is not my work, but I found it very useful for what I need...

    Script:

    Claire

    $VirtualCenter = Read-Host "Enter the Virtual Center server name".

    $FileLocation = Read-Host "Please Enter full Path and file name to save the output.  Must end in .csv or .txt.

    $Cred = get-Credential

    SE connect-VIServer $VirtualCenter - Credential $Cred

    $stats = @)

    #Uncomment the two lines if you want to inventory just a cluster instead of all the VMS in vCenter

    #$VMCluster = Read-Host "Please enter the name of the Cluster.

    #$ServerList = get-VM-location $VMCluster

    #If the two given lines are deleted, then comment out the following line

    $ServerList = get - VM

    {Foreach ($Guests to $ServerList)

    $Guest = $Guests.Name.ToUpper)

    Write-Progress-activity "Create VMware Guest Inventory" - Status "Treatment VM guest $Guest" # display progress bar

    $VMGuest = get - VM $Guest | Get-View

    $VM = get - VM $Guest

    $ESXHost is (get - VM $Guest). Host.Name.ToUpper)

    $VMHost = get-vmhost $ESXHost | Get-View

    $row = new-Object System.Object

    $row | Add-Member-Type NoteProperty-name 'Guest' - value $VMGuest.Name.ToUpper)

    $row | Add-Member-Type NoteProperty - name "Power status" - value $VM. Guest.State

    $row | Add-Member-Type NoteProperty - Name "Guest OS full name"-value $VM. Guest.OSFullName

    $row | Add-Member-Type NoteProperty-name "Comments RAM (MB)" - value $VM. MemoryMB

    $row | Add-Member-Type NoteProperty - Name 'Comments vCPU Count' - value $VM. NumCPU

    $row | Add-Member-Type NoteProperty - name "Guest VMTools status" - value $VMGuest.Guest.ToolsStatus

    $row | Add-Member-Type NoteProperty-name "Guest VMTools Version" - value $VMGuest.Guest.ToolsVersion

    $row | Add-Member-Type NoteProperty - name 'Guest status VMTools Version' - value $VMGuest.Guest.ToolsVersionStatus

    $row | Add-Member-Type NoteProperty - name "Comments VMTools status running" - value $VMGuest.Guest.ToolsRunningStatus


    $NICCount = 0

    ForEach ($vNic in $VM. Guest.Nics) {}


    $NIC_IP = "Guest IP Address for the NETWORK adapter" + $NICCount + "."

    $NIC_MAC = "MAC address of Guest for the NETWORK adapter" + $NICCount + "."

    $NIC_vSwitch = "Guest vSwitch network for the NETWORK adapter" + $NICCount + "."

    $row | Add-Member-Type NoteProperty - name $NIC_IP-$VMGuest.Guest.IpAddress value

    $row | Add-Member-Type NoteProperty - name $NIC_MAC-$vNic.MacAddress value

    $row | Add-Member-Type NoteProperty - name $NIC_vSwitch-$vNic.NetworkName value

    $NICCount ++

    }

    $DiskCount = 0

    $DT = @)

    ForEach ($vDisk in $VM. Guest.Disks) {}

    $DriveLetter = 'Comments Drive' + $DiskCount + ' ".

    $DriveSize = 'Comments Drive' + $DiskCount + 'size '.

    $DriveFree = 'Comments Drive' + $DiskCount + 'free space '.

    $vDiskCap = [math]: Round (($vDisk.Capacity)/1 GB)

    $vDiskFree = [math]: Round (($vDisk.FreeSpace)/1 GB)

    $row | Add-Member-Type NoteProperty - name $DriveLetter-$vDisk.Path value

    $row | Add-Member-Type NoteProperty-name $DriveSize - value $vDiskCap

    $row | Add-Member-Type NoteProperty-name $DriveFree - value $vDiskFree

    $DiskCount ++

    $DriveTotals = "" + $row. $DriveLetter + "" + $row. $DriveSize + ';

    $DT += $DriveTotals

    }


    $row | Add-Member-Type NoteProperty - Name 'Host name' - value $VMHost.Summary.Config.Name.ToUpper)

    $row | Add-Member-Type NoteProperty - name 'number of Sessions on the host' - value $VMHost.vm.Count

    $row | Add-Member-Type NoteProperty - Name "Is a member of the host Cluster" - value (Get-Cluster - VMHost $ESXHost). Name.ToUpper)

    $row | Add-Member-Type NoteProperty - name "Hosting provider" - value $VMHost.Hardware.SystemInfo.Vendor

    $row | Add-Member-Type NoteProperty - name 'Model home' - value $VMHost.Hardware.SystemInfo.Model

    $HostRam = [math]::Round(($VMHost.Summary.Hardware.MemorySize)/1Go)

    $row | Add-Member-Type NoteProperty - name 'RAM to host' - value $HostRam

    $row | Add-Member-Type NoteProperty - name "CPU model of home" - value $VMHost.Summary.Hardware.CpuModel

    $row | Add-Member-Type NoteProperty - name 'number of CPU host' - value $VMHost.Summary.Hardware.NumCpuThreads

    $row | Add-Member-Type NoteProperty - name 'The host CPU speed' - value $VMHost.Summary.Hardware.CpuMhz

    $row | Add-Member-Type NoteProperty - Name 'Name of the product to home' - value $VMHost.Summary.Config.Product.Name

    $row | Add-Member-Type NoteProperty - name 'Version of the product to home' - value $VMHost.Summary.Config.Product.Version

    $row | Add-Member-Type NoteProperty - name of the Generation of product to home' - value $VMHost.Summary.Config.Product.Build

    $row | Add-Member-Type NoteProperty - name of the "Service Console to host" - value $VMHost.Config.Network.ConsolevNic [0]. Spec.IP.IPAddress

    $row | Add-Member-Type NoteProperty - name "the subnet mask of Console Hosting Service" - value $VMHost.Config.Network.ConsolevNic [0]. Spec.IP.SubnetMask

    $row | Add-Member-Type NoteProperty - name of the "Service Console 1 to host" - value $VMHost.Config.Network.ConsolevNic [1]. Spec.IP.IPAddress

    $row | Add-Member-Type NoteProperty - name "the subnet mask of Console 1 Hosting Service" - value $VMHost.Config.Network.ConsolevNic [1]. Spec.IP.SubnetMask

    $row | Add-Member-Type NoteProperty - Name "vMotion Host IP Address" - value $VMHost.Config.vMotion.IPConfig.IpAddress

    $row | Add-Member-Type NoteProperty - Name "VMotion the subnet mask of the host" - value $VMHost.Config.vMotion.IPConfig.SubnetMask


    $stats += $row



    }

    $stats | Export-Csv-Force. \$FileLocation - NoTypeInformation

    Invoke-Item. \$FileLocation

    Thanks for your help

    PS. I'm a complete NOOB with Powercli, so try to find my way around it yet.

    PPS - if someone has a better VM inventory script - please be so kind as to pointing me to it...

    Thought as well, but I'm afraid he wil cover the possibilities.

    Assume the following:

    VM1, 3 cards, 2 hard drives

    VM2, 2 cards, 5 hard drives

    The order will be VM1, VM2 with the effect that you get 2 hard drives for VM2.

    The alternative I came with us to make Dummy entries and always use the maximum columns for network cards and hard drives.

    If you want to get

    NIC1 NIC2, NIC3 HD1 HD2 HD3 HD4 HD5

    VM1 x x x x x na na na

    VM2 x x na x x x x x

    See if it works for you.

  • Need help with a script of Fade Transitions

    I'm new to scripting so apologies if I've made a few obvious mistakes.

    In addition, do not know if there is already a feature in AE I don't know which will achieve

    what I'm trying to do, but I want to learn AdobeExtendScript and thought it was a great app for a script.

    I am trying to write a script allowing to adjusts video layers and opacity of the image key fades from 100% to 0% on a

    length of the frameworks determined by the user. Nothing too crazy. I've tested this script with imported parts of first and

    It works, kind of, but only when the first layer in the model is part of the selected layers.

    Here's the script:

    //

    fadeTransitions.jsx (03/12/12)

    Copyright © 2012 Paul Kelly for Perioperative Interactive education. All rights reserved.

    http:pkvisualization.com

    // http://pie.med.utoronto.ca

    //

    This script will be set a series of layers so that the layer opacity fades

    from 100% to 0% over a length of frames determined by the user.

    //

    var theComp = app.project.activeItem; the value of a variable equal to the active composition

    If (theComp == null |) (theComp instanceof CompItem) == false) / / check if the item is selected and make sure it is a CompItem

    {

    Alert ("you must have at least two selected layers");

    } else {}

    var numberOfLayers = theComp.selectedLayers.length; the value of a variable equal to the total number of selected layers

    If (numberOfLayers == null: numberOfLayers < 2) / / make sure there are at least two selected layers

    {

    Alert ("you must have at least two selected layers");

    } else {}

    var startLayer = prompt ("first layer to be affected:", "layer #");

    you want to remove this prompt and set a variable for the above selected layer.

    var startLayer = theComp.selectedLayers [0]; does not work. I want the lowest layer indexed multiple selected layers

    fadeTransitions();

    } //end second otherwise: numberOfLayers test

    } //end first thing: theComp test

    function fadeTransitions()

    {

    app.beginUndoGroup ("FadeTransitions");

    var overlap = parseInt (command prompt ("specifies the length of the fade-off (frames)", "0" "));

    overlap overlap = * theComp.frameDuration;

    for (var i = 1; i < = numberOfLayers; i ++)

    {

    var layerIndex = (startLayer - 1) + i; create the layer index, subtract 1 for compensation of the correct layer

    If (layerIndex > numberOfLayers) {//end before layerIndex becomes more than numberOfLayers

    Alert ("Transitions Fade script');

    break;

    } else {}

    var topLayerEnd = .outPoint theComp.layer (layerIndex);

    If ((layerIndex+1) > numberOfLayers) {//end before (layerIndex + 1) becomes more than numberOfLayers

    Alert ("Transitions Fade script');

    break;

    } else {}

    var btmLayerStart = theComp.layer(layerIndex+1).inPoint;

    var btmLayerEnd = theComp.layer(layerIndex+1).outPoint;

    term var = btmLayerEnd - btmLayerStart;

    theComp.layer(layerIndex+1).inPoint = (topLayerEnd - overlap);

    theComp.layer(layerIndex+1).outPoint = (topLayerEnd + duration);

    theComp.layer (layerIndex).opacity.setValueAtTime ((theComp.layer (layerIndex) .outPoint - overlap), 100);

    theComp.layer (layerIndex).opacity.setValueAtTime (theComp.layer (layerIndex) .outPoint, 0);

    } //end 2nd else

    } //end 1 else

    } //end for loop

    app.endUndoGroup ();

    } //end fadeTransitions function

    #1 problem: I want to eliminate the prompt asking the startLayer, instead, I want the first layer to be the highest of

    a selection of layers, so that at any time, you can select a series of layers and run the script only affect these layers.

    I tried to do this by setting a variable app.project.activeItem.selectedLayers [0]; but it did not work. This function would be really

    required during the later stages of compositing, when there are a lot of layers of subtitles, audio, 3D rendered images, etc. above

    layers of film in the model.

    #2 problem: unless the selected layers are pre-established way cascading, I get some really weird adjustments to the in-

    and outPoints. Not sure what is the cause. This isn't a priority, because most of the time I want to use this script layers

    will be already prepared properly (I import a Premiere Pro sequence), but still, I would like to know how I could solve this problem

    and to better understand how works ExtendScript.

    Problem #3: Right now, the way that these guys down inPoints are adjusted, is the same as if I flew over the inPoint layer with the mouse and

    got horizontally in line with the arrows of face to face and click-slipped the inPoint backward, but what I prefer is the

    equivalent of if I fly in the middle of the layer from the Selection tool and click-and - drag the entire layer L or R, so that it is inPoint

    is always in the same place in the sequence. As problem #2, it is not a great problem, I just want to better understand what is happening

    in the script. I tried to use startTime instead of inPoint in the script, but then it just stopped working completely.

    Any help/ideas would be greatly appreciated, and everyone feel free to use what I have so far if you wish.

    This give a try. I have not tested much, but I think it's pretty close to what you are after. It is not as limited to a selection of contiguous layers.

    //

    fadeTransitions.jsx (03/12/12)

    Copyright © 2012 Paul Kelly for Perioperative Interactive education. All rights reserved.

    http:pkvisualization.com

    http://pie.med.utoronto.ca

    //

    This script will be set a series of layers so that the layer opacity fades

    from 100% to 0% over a length of frames determined by the user.

    //

    var indexArray = new Array();

    var theComp = app.project.activeItem; the value of a variable equal to the active composition

    If (theComp == null |) (theComp instanceof CompItem) == false) / / check if the item is selected and make sure it is a CompItem

    {

    Alert ("you must have at least two selected layers");

    } else {}

    var numberOfLayers = theComp.selectedLayers.length; the value of a variable equal to the total number of selected layers

    If (numberOfLayers == null: numberOfLayers)< 2)="" make="" sure="" there="" are="" at="" least="" two="" layers="">

    {

    Alert ("you must have at least two selected layers");

    } else {}

    "selectedLayers" is based on the order of selection, need a different approach to ensure that we are working from top down

    make an array of the indices of layer

    for (var x = 0; x)< numberoflayers;="" x++)="">

    indexArray.push (theComp.selectedLayers [x] .index);

    }

    sort the indexArray

    indexArray.sort ();

    var startLayer = indexArray [0];

    fadeTransitions();

    } //end second otherwise: numberOfLayers test

    } //end first thing: theComp test

    function fadeTransitions()

    {

    var overlap = parseInt (command prompt ("specifies the length of the fade-off (frames)", "0" "));

    If (overlap == null) return; If the user has canceled guest

    overlap = parseInt (overLap);

    If (isNaN (overLap)) return;          If the user does not enter the number

    app.beginUndoGroup ("FadeTransitions");

    overlap overlap = * theComp.frameDuration;

    var layerIndex, topLayerEnd, btmLayerStart, btmLayerEnd, duration, startTimeOffset;

    for (var i = 0; i)

    {

    layerIndex = indexArray [i];

    topLayerEnd = .outPoint theComp.layer (layerIndex);

    If (i + 1< numberoflayers)="" {="" end="" before="" (layerindex+1)="" becomes="" more="" than="">

    btmLayerStart = theComp.layer(indexArray[i+1]).inPoint;

    btmLayerEnd = theComp.layer(indexArray[i+1]).outPoint;

    duration = btmLayerEnd - btmLayerStart;

    need to calculate the offset if inPoint is not at the beginning of the layer

    startTimeOffset = btmLayerStart - theComp.layer(indexArray[i+1]).startTime;

    move the layer by changing startTime rather than inPoint

    theComp.layer(indexArray[i+1]).startTime = (topLayerEnd-overlap - startTimeOffset);

    theComp.layer(indexArray[i+1]).outPoint = (topLayerEnd + duration);

    theComp.layer (layerIndex).opacity.setValueAtTime ((theComp.layer (layerIndex) .outPoint - overlap), 100);

    theComp.layer (layerIndex).opacity.setValueAtTime (theComp.layer (layerIndex) .outPoint, 0);

    }

    } //end for loop

    Alert ("Transitions Fade script');

    app.endUndoGroup ();

    } //end fadeTransitions function

Maybe you are looking for

  • receive texts of sms to the number online

    Can someone send an sms from a mobile phone to my online number?

  • not enough storage for backup

    I s 6 more, 128 GB (not even near full... yet), iCloud is off (never use), and every morning for the past 3 weeks I've been doing the pop up that says that the phone could not be saved because there is not enough storage. When I touch the upgrade of

  • audio output does not work anymore

    Hello I have worked with sound Ouput pallets for a few weeks and everything worked fine, but now something has happened and I can't hear any sound from my screws This problem occurs even if I try to read examples of LabVIEW as "generate sound. Speake

  • Add or remove programs is empty and REGSVR32 APPWIZ. CPL command does not set it.

    I tried the: REGSVR32 APPWIZ. CPL without change. I also tried without prevail the following: ·       [HKEY_CLASSES_ROOT\CLSID\ {00000535-0000-0010-8000-00AA006D2EA4}]'ADODB. Recordset '. ·       [HKEY_CLASSES_ROOT\CLSID\ {00000535-0000-0010-8000-00A

  • 12 c: queryListener custom af:table component - how to get the filter values?

    Helloin a queryListener custom on an element of af: table, I am trying to print the values of the filter fields (for example to do a validation) public void onQuery(QueryEvent pQueryEvent) { RichTable vRt = (RichTable)pQueryEvent.getComponent(); Coll