Query Curves Layer for current settings

Hi All,
I am trying to work out how to query a curves layer for it's current settings. I have used the script listner to capture the code on how to apply settings but can't work out how to query the settings. The output from the script listner when applying new settings is as follows:
// =======================================================
var idsetd = charIDToTypeID( "setd" );
    var desc19 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref13 = new ActionReference();
        var idAdjL = charIDToTypeID( "AdjL" );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idTrgt = charIDToTypeID( "Trgt" );
        ref13.putEnumerated( idAdjL, idOrdn, idTrgt );
    desc19.putReference( idnull, ref13 );
    var idT = charIDToTypeID( "T   " );
        var desc20 = new ActionDescriptor();
        var idAdjs = charIDToTypeID( "Adjs" );
            var list3 = new ActionList();
                var desc21 = new ActionDescriptor();
                var idChnl = charIDToTypeID( "Chnl" );
                    var ref14 = new ActionReference();
                    var idChnl = charIDToTypeID( "Chnl" );
                    var idChnl = charIDToTypeID( "Chnl" );
                    var idCmps = charIDToTypeID( "Cmps" );
                    ref14.putEnumerated( idChnl, idChnl, idCmps );
                desc21.putReference( idChnl, ref14 );
                var idCrv = charIDToTypeID( "Crv " );
                    var list4 = new ActionList();
                        var desc22 = new ActionDescriptor();
                        var idHrzn = charIDToTypeID( "Hrzn" );
                        desc22.putDouble( idHrzn, 0.000000 );
                        var idVrtc = charIDToTypeID( "Vrtc" );
                        desc22.putDouble( idVrtc, 0.000000 );
                    var idPnt = charIDToTypeID( "Pnt " );
                    list4.putObject( idPnt, desc22 );
                        var desc23 = new ActionDescriptor();
                        var idHrzn = charIDToTypeID( "Hrzn" );
                        desc23.putDouble( idHrzn, 127.000000 );
                        var idVrtc = charIDToTypeID( "Vrtc" );
                        desc23.putDouble( idVrtc, 127.000000 );
                    var idPnt = charIDToTypeID( "Pnt " );
                    list4.putObject( idPnt, desc23 );
                        var desc24 = new ActionDescriptor();
                        var idHrzn = charIDToTypeID( "Hrzn" );
                        desc24.putDouble( idHrzn, 255.000000 );
                        var idVrtc = charIDToTypeID( "Vrtc" );
                        desc24.putDouble( idVrtc, 255.000000 );
                    var idPnt = charIDToTypeID( "Pnt " );
                    list4.putObject( idPnt, desc24 );
                desc21.putList( idCrv, list4 );
            var idCrvA = charIDToTypeID( "CrvA" );
            list3.putObject( idCrvA, desc21 );
        desc20.putList( idAdjs, list3 );
    var idCrvs = charIDToTypeID( "Crvs" );
    desc19.putObject( idT, idCrvs, desc20 );
executeAction( idsetd, desc19, DialogModes.NO );
I want to query the Hrzn and Vrtc parameters for 0, 127 and 255 on an existing curves layer.
Any help in working out how to do this would be greatly appreciated.
Thx in advance.

This is a bit of a hack but it should give you a place to start.
// Works with RGB or CMYK images.
// Does not work at all with greyscale, or indexColor
// Does not work correctly with Lab
function convertBCD( num ){
    var res = new Array;
    if(num > 16 ){
        res.unshift(1);
        num = num - 16;
    }else{
        res.unshift(0);
    if(num > 8 ){
        res.unshift(1);
        num = num - 8;
    }else{
        res.unshift(0);
    if(num > 4 ){
        res.unshift(1);
        num = num - 4;
    }else{
        res.unshift(0);
    if(num > 2 ){
        res.unshift(1);
        num = num - 2;
    }else{
        res.unshift(0);
    if(num == 1 ){
        res.unshift(1);
    }else{
        res.unshift(0);
    return res;
function getCurve( numberOfPoints ){
    this.getPoints = function(){
        this.tempArray = new Array;
        this.tempArray.push( rawDesc.charCodeAt( pointer ) );
        pointer = pointer + 2;// set pointer to next point
        this.tempArray.push( rawDesc.charCodeAt( pointer ) );
        return this.tempArray;
    this.pointsArray = new Array;
    for( var i = 0; i < numberOfPoints; i++ ){
        pointer = pointer + 2;// next point
        this.pointsArray.push( this.getPoints() );
    pointer = pointer + 2;// next curve
    return this.pointsArray;
var ref = new ActionReference();
ref.putEnumerated( charIDToTypeID( 'Lyr ' ), charIDToTypeID( 'Ordn' ), charIDToTypeID( 'Trgt' ) );
var rawDesc = executeActionGet( ref ).getList( stringIDToTypeID( 'adjustment' ) ).getObjectValue( 0 ).getData( stringIDToTypeID( 'legacyContentData' ) );
var pointer = 2;// used to read rawData similar to reading a file
var flag = rawDesc.charCodeAt( pointer );// char at offset 2 always == 1 so use to validate data
if( flag != 1 ) forceError;// unknown problem with rawData
    pointer = 6;// update pointer to BCD byte
    var bcd = rawDesc.charCodeAt( pointer );
    if( bcd < 0 || bcd > 31 ) forceError;// check for valid value
    if( bcd == 0 ) forceError;// an empty adjustment - no curves to process
    var bcdArray = convertBCD( bcd );
    var numberOfCurves = bcdArray.toString().match(/(1)/g).length;
    var curvesArray = new Array;
    pointer = 8;// set pointer to start of curve data
    for(var i = 0; i < numberOfCurves; i++ ){
        var numberOfPoints = rawDesc.charCodeAt( pointer );
        curvesArray.push( getCurve( numberOfPoints ) );
// now need to map rawData curves in curvesArray to known channel curves
var acvArray = new Array;
if( bcdArray[0] == 1 ) {
    acvArray.push( curvesArray.shift() );
} else {
    acvArray.push( [ [0,0],[255,255] ] );
if( bcdArray[1] == 1 ) {
    acvArray.push( curvesArray.shift() );
} else {
    acvArray.push( [ [0,0],[255,255] ] );
if( bcdArray[2] == 1 ) {
    acvArray.push( curvesArray.shift() );
} else {
    acvArray.push( [ [0,0],[255,255] ] );
if( bcdArray[3] == 1 ) {
    acvArray.push( curvesArray.shift() );
} else {
    acvArray.push( [ [0,0],[255,255] ] );
if( bcdArray[4] == 1 ) {
    acvArray.push( curvesArray.shift() );
} else {
    acvArray.push( [ [0,0],[255,255] ] );
if(app.activeDocument.mode == DocumentMode.RGB){
    var cNames = ['RGB','Red','Green','Blue'];
    for(c=0;c<acvArray.length-1;c++){
        alert(cNames[c]+': '+acvArray[c]);
if(app.activeDocument.mode ==  DocumentMode.CMYK){
    var cNames = ['CMYK','Cyan','Magenta','Yellow','Black'];
    for(c=0;c<acvArray.length;c++){
        alert(cNames[c]+': '+acvArray[c]);

Similar Messages

  • Creatiing curves layer in Photoshop CS2

    Anyone know the applescript command(s) for creating a curves layer in Photoshop? I can create a layer but not a curves layer with the following:
    tell application "Adobe Photoshop CS2"
    make new art layer with properties {kind:curves layer} at current document
    end tell
    I can't find any documentation regarding this.
    Pedro

    Hello
    Try something like this. (Not tested)
    --SCRIPT
    tell application "Adobe Photoshop CS2"
    tell document 1
    make new art layer at end with properties {kind:curves layer}
    end
    end tell
    --END OF SCRIPT
    cf.
    http://partners.adobe.com/public/developer/photoshop/sdk/index_scripting.html
    AppleScriptReferenceGuide.pdf
    Regards,
    H

  • Transport current settings for KPU1

    Hi,
         I need to be able to make changes directly through transaction KPU1 in my production system even though the system is in not modifiable status. I have read somewhere that it may be possible to do this using by transporting the current settings using transaction SOBJ in my development. SOBJ asks for the object name. I entered RKPU1 and get the message "RKPU1 not active or does not exist" even though I can see that this table is active in SE11...Not sure how to proceed..Please advise...

    2. In the transaction OMSL the Material Length is 18 which is the same in R3.
    What about the above setting in QA ???

  • Query execution failed for data set

    Hi,
    We are using SQL 2005 server for generating reports.When we ran the reports it taking so much time after some time it shows this error:---
     ReportProcessing.ProcessingAbortedException: An error has occurred during report processing. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for data set  ---> System.Data.SqlClient.SqlException: A severe error occurred on the current command.  The results, if any, should be discarded.
    Can you help me out.
    Thanks,
       --Amit

    My team is also facing similar problem. The RS trace logs report:
    w3wp!processing!13!9/26/2007-15:31:23:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for data set 'msdb'., ;
     Info: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for data set 'msdb'. ---> System.Data.SqlClient.SqlException: A severe error occurred on the current command.  The results, if any, should be discarded.
    Operation cancelled by user.
    In our system, Report Server and Database are on different machines. Report Server access database using a service account who has stored proc execute permissions on database.
    Problem comes only if the query execution time exceeds 5 mins. Otherwise the report gets generated successfully.
    I suspected this to be some timeout issue. But I have checked that all timeout settings in rs config files are as default.
    Any pointers?
    Thanks
    puns
    [email protected]

  • Problem with my program looking for the settings file in the wrong folder

    I have been writing a simple FTP file uploader, what I want to do is be able to select the files I want to upload in windows explorer and then right click and click the menu item and it launches the program and passes the files paths that I have selected to it.
    So I use this in the windows registry "C:\Program Files\Java\jre1.6.0_03\bin\java.exe -jar D:\BenFTP\BenFTP.jar %1"
    It launches fine and has no problem finding the files I want to upload. The problem is that it tries to look for the settings file in the same folder that the file I am try to upload is in. Which it's not suppose to do since the settings file is in the same folder that the .jar is in.
    Edited by: ColNewman on Feb 5, 2008 6:55 PM

    So, you're looking for your settings file in your current working directory. There's no way to set the CWD in your registry entry (is there?) so that isn't a practical thing to do. Presumably you're using a File object or a FileReader or something? Can't do that.
    One alternative is to look for the settings file in the classpath. You can get a URL to a file in the classpath like this:URL settings = this.getClass().getResource("/settings.xml");Or you can get an InputStream to read the file by using the getResourceAsStream method. You would have to make sure that your executable jar file contained a Class-Path entry that specified the right directory, because the directory the jar is contained in isn't automatically in an executable jar's classpath.
    Another alternative is to ask the user where the settings file is supposed to be, and put an entry in the Preferences (java.util.prefs) to remember that location.

  • S_ALR_87003642 FI Periods, request, current settings

    Hi all,
    I have a little trouble. After support-packages the system need a request to open and close FI periods with tcode S_ALR_87003642. I've checked the system and I have not found that the current settings in tcode SOBJ por object V_T001B was changed. I've found the note 307222 'generated transactions for current setting' but I think that it is not relevant.
    Any suggestion is wellcomed.
    Thanks in advance.
    Eduardo
    PD: I'm sorry, I forgot it, we are in a ECC 50, APPL level 20 (ie: SAPKH50020)
    Edited by: Eduardo Hinojosa on Jan 8, 2009 5:07 PM

    In ECC.6 a request is generated in Development System for any change in OB52 / S_ALR_87003642, but the standard settings of Production System by Basis resources make it available for change without asking for Transport request.
    Which system requires you the Transport Request on OB52. Is it DEV, QAS or PRD????????

  • Sales report for current month and year a go month

    i could you please guide me builting report for current monthwise for current month and year a ago month
    report parameter month_year='06-2010'
    tables = sales and below are the table fields
    customer_id
    invoice_dt
    invoice_am
    thanks
    nhm

    Okay, Still you did not mention how you will pass value in report while generating.
    Anyway the query with UNION ALL will work. For Example.
    I am assuming that the parameter for date/month you will pass in range like 01-JUN-2010 to 30-JUN-2010
    SELECT customer_id, SUM(curr_value) curr_value, SUM(past_value) past_value
    FROM
    SELECT customer_id, NVL(SUM(invoice_amount),0) curr_value, 0 past_value
    FROM sales
    WHERE invoice_dt BETWEEN :P_FROM_DATE AND :P_TO_DATE  -- here P_FROM_DATE and P_TO_DATE will be the date range for current year as i showed above.
    AND  -- Any Condition goes here...
    GROUP BY customer_id
    UNION ALL
    SELECT customer_id, 0, NVL(SUM(invoice_amount),0)
    FROM sales
    WHERE invoice_dt BETWEEN ADD_MONTHS(:P_FROM_DATE,-12) AND ADD_MONTHS(:P_TO_DATE,-12) -- This add_months function for the previous year same month.
    AND -- Any condition goes here...
    GROUP BY customer_id
    GROUP BY customer_idNow using the above query you can design the tabular report as you showed the format.
    -Ammad
    Edited by: Ammad Ahmed on Jul 3, 2010 7:55 PM
    added GROUP BY

  • Parameter for Current Month and Previous Month

    I'm trying to create a parameter for current month and previous month based on the ex_date, but not sure what i'm doing wrong. 
    where ex_date = @SelectDate
    I created a second dataset below for the values in the parameters.
    SELECT Month(CURRENT_TIMESTAMP) AS 'Month', 'Current Month' as 'Current Month'
    union all
    SELECT Month(CURRENT_TIMESTAMP)-1 AS Month, 'Previous Month' as 'Previous Month'
    Results
    Month Current Month
    3 Current Month
    2 Previous Month
    Once I preview it I get "Conversion failed when converting date and/ or time from character string" I changed the data type to "date/Time" but that did not make a difference. The date is convert (varchar(10), ex_date, 101) so looks like
    11/12/2014. 
    I've also tried expressions like =month(now()) to pull current month with same error so i'm not sure what i'm doing wrong. Any ideas?

    i tired this real simple report
     in the first dataset - my main report query - select name from sysdatabases where month(crdate())=@month
    in the second dataset - select month(getdate()) as Month1
    in the parameters - choose int data type and available values - select the second data set
    in the first data set- add this parameter..( i am assumming you know this, since you have done)
    in the preview you should get the drop down with current month number - 3
    and if you run the report, it will display the database names that were created in march. remember we are no checking year, so will get all that were created in march across the years.
    Hope it Helps!!
    I'm looking to have the dropdown say "Previous Month" and "Current Month" as a option. I know how to get the information in SQL, but not sure how this translates or put into a parameter.
    Current Month
    list_date BETWEEN
    DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0)
    AND
    DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) + 1, 0)
    Previous Month
    list_date between
    CONVERT(varchar,dateadd(d,-(day(dateadd(m,-1,getdate()-2))),dateadd(m,-1,getdate()-1)),106) /* Last Month */
    and
    CONVERT(varchar,dateadd(d,-(day(getdate())),getdate()),106)

  • How to get data for current week and previous week using customer exit in Bex.

    Hi everyone,
    I have a scenario in which I need to display data for current week and previous week (based on "sy_datum" the program has to calculate current week and previous week) in Bex using  Customer exit. I have created one variable in Bex Query Designer and I have written code for the variable in CMOD. But it is not working fine, (I know that we can do the same by using offset value in Bex). Can some one guide me how to achieve my requirement using customer exit.
    Thanks in Advance,
    G S Ramanjaneyulu.

    Hi krishna,
    Thanks for your quick reply, can you have a look at my code,
    case i_vnam.
    WHEN 'ZPWK_CWK'.
    ranges : pre_week for sy-datum.
    data : start_date type DATS,
           end_date TYPE dats .
    ************FM TO GET FIRST DATE OF CURRENT WEEK ************************
    CALL FUNCTION 'BWSO_DATE_GET_FIRST_WEEKDAY'
      EXPORTING
        DATE_IN  = sy-datum
      IMPORTING
        DATE_OUT = start_date.   " WEEK FIRST DATE
    end_date = START_DATE + 6.   " WEEK LAST DATE
    END_DATE   = START_DATE - 1.   " PREVIOUS WEEK END DATE
    START_DATE = START_DATE - 7.   " PREVIOUS WEEK START  DATE
    **********PREVIOUS WEEK DATES IN PRE_WEEK******************
    pre_week-SIGN   = 'I'.
    pre_week-option = 'BT'.
    pre_week-LOW    = START_DATE.
    pre_week-HIGH   = END_DATE.
    APPEND  pre_week.
    CLEAR : START_DATE,END_DATE.
    endcase.
    Regards,
    G S Ramanjaneyulu.

  • Parameter for current year and previous year

    Hi all,
    I currently have 2 reports where the query is the same except in the where clause I have it filtered to current year and previous year based on the List_Date. I would like to make this one report with a parameter of Current or Previous year.
    Would I create 2 more datasets one for current and another for previous? I would think there is a easier way. Any help or direction would be great.  

    If you define a parameter in SSRS, you can use it's value in your query. Just make sure the parameter name, and CASE (SSRS is case sensitive when it comes to parameters) are the same in SSRS and your query. There's a parameter tab on the dataset properties.
    It SHOULD auto fill, but it never hurts to check, just in case.
    Don't forget to mark helpful posts, and answers. It helps others to find relevant posts to the same question.
    Yes it did auto fill the parameter tab in the dataset and I get a parameter to enter the year when I preview the report. Still a little confused on how I do current or previous year. Are the next steps what I need to do?
    @yearParam parameter:
    1) Create  Available or Default values 
    2) Current and Previous year as label
    3) For Value do I need to use a expression for current year =Year(now()) and previous Year?
    4) Add a filter on the tablix for list_date?

  • Emails for Current Day are not sync with Microsoft Exchange server

    I have bought a Z1 and configured my microsoft exchange server email on it. All is working well. However it is only showing emails till yesterday. I have tried all sync settings including automatic, all, one day and all others but still it is not showing emails for current day. I have also tried all sort options but still no improvement.
    The same setting are working perfectly fine on my Samsung Galaxy Note 2. What is the issue and how to fix it? Please make sure i have purchased a new phone and would use the stock email app and no third party email app. 
    Already there is a downgrade in Z1 stock email app. It is not supporting formatted signatures and formatted outgoing emails. Which is now very common on all phones of its price and class. 
    What is Sony doing on its phones? i do not understand.
    Please let me know how to fix my issue of most recent emails sync.

    http://office.microsoft.com/en-us/support/set-up-email-on-an-android-phone-or-tablet-HA102823196.asp...
    "I'd rather be hated for who I am, than loved for who I am not." Kurt Cobain (1967-1994)

  • How to query opening balance for all customer or Vendor for an speci. date

    Hi,
    How to query opening balance for all customer or Vendor for an specific date?
    Example:
    put any date and query will show all customer/ Vendor  that date opening/current balance.
    Regards,
    Mizan

    Hi mizan700 ,
    Try this
    SELECT T0.[DocNum] As 'Doc No.', T0.[CardCode] As 'Customer Code',
    T0.[CardName] As 'Customer Name',(T0.[DocTotal]-T0.[PaidSys]) As 'O/S Balance'
    FROM OINV T0 INNER JOIN OCRD T1 ON T0.CardCode = T1.CardCode
    INNER JOIN OCRG T2 on T1.GroupCode = T2.GroupCode
    INNER JOIN INV1 T3 ON T0.DocEntry = T3.DocEntry
    WHERE T0.[DocStatus] ='O'
    AND
    (T0.[DocDate] >='[%0]' AND T0.[DocDate] <='[%1]')
    Regards:
    Balaji.S

  • SAP Exit for Current Posting Period

    H All,
       I am executing a query and it should always take the Current Fiscal Year & Current period into consideration. I don't see any Standard SAP exit which is provided for this. There is an SAP exit for Fiscal year/Period but I need both of them seperately.   Can anyone please provide a sample code for "Current posting period".
    Points will be assigned!
    Thanks a lot!

    Hi Sia
    Here is some cmod code that might help:
    These should be run in i-step = 1
    DATA: l_period        TYPE t009b-poper,
              l_txt4(4)      TYPE c.
    *Variable ZCCCFYEAR that defauts to current Fiscal Year
            WHEN 'ZCCCFYEAR'.
              l_txt4 = syst-datum(4).
              l_period = syst-datum+4(2).
    *Handles FiscVarnt, period 6 is end of year so period 7 is new year
              IF l_period > '06'.
                l_txt4 = l_txt4 + 1.
              ENDIF.
              l_s_range-low = l_txt4 .
              l_s_range-high = ''.
              l_s_range-sign = 'I'.
              l_s_range-opt = 'EQ'.
              APPEND l_s_range TO e_t_range.
    *Variable ZCCPPER that defauts to current Posting Period
    Code adds 6 to current year period to be inline with Fiscal Year Variant (ie.per1 = july(7)),
            WHEN 'ZCCPPER'.
              l_period = syst-datum+4(2) + 6.
              IF l_period > 12.
                l_period = l_period - 12.
              ENDIF.
              l_s_range-low = l_period.
              l_s_range-high = ''.
              l_s_range-sign = 'I'.
              l_s_range-opt = 'EQ'.
              APPEND l_s_range TO e_t_range.
    Hope this helps
    Josh

  • Need to sync iPhone 4 to new laptop; don't want to setup as a new iPhone, want to keep current settings

    My previous Dell laptop is crashing and I have purchased a new HP g4 laptop.
    I own a 160GB iPod, iPhone 4, and 32gb iPad. I am less concerned about the iPod because that is just my music.
    My problem is:
    How can I sync my iPhone 4 & 1st gen iPad to my new laptop without having to set it up as a new iPhone/iPad? I want to keep all my current settings as well as my groups of apps.
    Any advice?
    When I setup iTunes on the new computer, I had backed up all the music and iTunes folder to my external hard drive them copied from there to the new laptop. This process did not copy over my playlists (like I was told it would). iTunes is basically setup new and does not recognize that it is just on a different computer.
    I set my iPod to sync and it said "was synced with other library...erase & sync?" I said yes, because it's just music. I imported each playlist 1 by 1.
    Any help is appreciated; I really do not want to have to re-setup both iPhone & iPad.
    Thanks you,
    lavoie25

    Thank you for the advice. I had done the backup of the whole library folder to iTunes, but I did not know I had to hold SHIFT down when opening it. I had already synced the iPod when I posted the previous message.
    I ended up trying a few steps that seemed to work out in my favor.
    When the iPad & iPhone were connected to iTunes, I first right clicked and chose to transfer purchases from the device to iTunes (I was not prompted by the "already associated with a library" message). Once that finished, I right clicked on the device again and chose to Back Up the device (again, not promted). Once the back up was complete, I went to each device and rechose my music,apps, movies, tv shows, books, photos and then clicked to sync. I was prompted here that the device would be erased first. I was then prompted asking if I wanted to Merge Information - I chose to merge and the sync continued.
    Once the siny was finished it was as if I had finished a sync with my old laptop; all my settings and everything were in place - did not have to re-enter passwords in apps or set up mail settings again.
    This worked on both my iPad and my iPhone.

  • Financial statement version-OB58 required in current settings

    Hello Group,
    I want to bring Financial statement version-OB58 in current settings like others such as OB08, OB52 and FTXP.
    Can anybody suggests me about how to bring in current settings wherin I can directly modify my FSV thru OB58 in production client.
    Pl.guide me.
    Thanks in advance,
    Regards,
    Kedar.

    I applied FSE2 to the Role for my Control Team to update and change the FSV.
    Not sure about that note.
    We find a transaction in the IMG, add it to a role and test before moving it to Production.  Not all IMG activites have transactions....

Maybe you are looking for

  • How can i underline, change font, or print BOLD in a response on a web page?

    In response to question on a web page, I want to use BOLD characters or to underline important points. I find no help in any of the tool bars.

  • Synchronize two schemas automatically

    Hi, Is there any easy way to synchronize two schemas automatically? I have one slave schema in an Oracle 9i database, and the master in a different machine running Oracle 10g. The aim is to synchronize the slave schema with the changes (DML and DDL)

  • Runtime image manipulation using Flash

    I would like to know if it's feasible to load an image (jpg, gif, bmp and such) into Flash and then let the user modify it in order to stretch, crop, adjusting contrast/brightness, removing "red-eyes". I'm not aware of any image manipulation librarie

  • Wish Item for 1.0.x - support for PS plugins

    I don't think of Aperture as a PS replacement but it would be really cool to be able to use stuff like Convert to BW Pro from within Aperture. Some kind of plugin API would do it. Obviously some things would not fly like PhotoKit as it uses layers et

  • Warum kann ich die Anzeigen nicht in Deutsch ändern

    Die Firefox Toolbar ist nch dem UPDATE in Englisch. Die änderung unter Option auf Deutsch/German wird nicht angewendet. Wie kann ich alles wieder auf Deutsch ändern.