Editing loops
Having watched several G/Band tutorials on loops, I still can't quite understand exactly how to create a loop in such a way that the pause between them is accurate. Each time I make a loop there's a one- or two second gap between them. How are these gaps closed or shortened please?
Really, no need to apologize, Nick! We like to answer questions. This way we discover new aspects of GarageBand that we missed before.
What happened was that even after cutting (Command-T, thanks Leonie), it didn't disappear, but remained there, with a "no effects" notation.
I should have explained in more detail:
After cutting a region, you can select the cut-off part of it and press the "delete ⌫" key; then you can reposition the loop in the timeline by dragging it with the mouse where you want it (select the region, hold down the mouse button and drag).
But have you tried Christoph's suggestion (Re: Editing loops), to shorten the loop by dragging the border? That might be easier than cutting.
Regards
Léonie
Similar Messages
-
Editing loops in sample editor
I want to take pops and clicks out of a drum loop I edited. I'm using one drum loop. I've varied it at certain points. I shortened a section and then repeated it so it sounds like a role. But when I continued with the transition into the non-edited loop there was a click or pop. I wanted to edit the pop out but when I went to the sample editor it didn't show the transition. It played the loop as though it hadn't been shortened and repeated. My question is how do you view the modified drum loop in the sample edit window and it's transition into the non-modified loop? I want to be able to see the transitions.
Any help would be appreciated, thanks.Hi feflower
double click on the audio you wish to edit in the arrange window after you have imported it into logic. That will then open the sample editor.
The sample editor is the place you can change the start / end points of the audio file.... cut/paste/fade in/change pitch/speed etc - but all these changes tend to happen destructively - so do keep a backup of the original.
You can just zoom in to the file in the arrange window and perhaps achieve a rough edit from there and then go to the sample edditor to tidy it up a bit. -
Help with Batch Editing Loop CD's in Logic
Helo there. I've been given the task of organizing and editing someone's loop library. I've filtered through and narrowed down the CD's I'd like to cut up and export as individual files. I already have a naming convention that works for us, however, I'm wondering if there's a streamlined process for doing this.
My current plan is to import each CD's tracks (anywhere 20-45) into a single Logic Project folder. As of now, I have to go through and manually splice each track (even though there is distinct silence between the parts I want to export individually). Copy each part to a new track then export them all when I'm finished.
I guess what I'm looking for is any advice to speed this process up (other than coffee!) Has anyone had to do anything like this before? Is there a quicker way of cutting up these tracks than doing it manually?
Any help would be appreciated*Strip silence* the audio into regions:
Then *'save regions as'* from the audio bin. -
Editing Loop Start and End times via automation / MIDI controllers?
I'm trying to play a sample in EXS24 and have the Sample Start, Loop Start and End times manipulated over the course of the song. I've tried to open up the EXS sample editor, click on the numerical value of the Loop Start, and then attempt to Learn Automation. All it does is assign the knob for the instrument Volume Level. Is there any way to do this? It's basically how an Akai S612 works: http://www.vintagesynth.com/akai/s612.shtml
I switched gears and tried it also with Battery, and there's a way to map the Start and End times in there, but it's not seeming to work as I've intended. I can't seem to make the loops move as they should and there's ways to use up to 4 loops, but not a way to target each loop's start and end points via separate controllers.
I could use my S-612 [and probably will], but in moments where I don't have one available, I'd love to find a solution to this.
Thanks,
+oddAnyone with any thoughts? would be great to solve this.
-
Q re: editing an Apple based loop and resaving it
Hey everyone,
I have a quick question that I hope you can all help me with.
In GarageBand, I have edited a particular loop by cutting/splicing sections to shorten it. Am I able to SAVE this loop as a seperate loop than the original, so that in the future I just have to search for my edited loop, and use that, instead of having to reedit the original every time.
Hopefully I am making this clear. If you need any more info just let me know! Thanks for any help!
Cheerstitanisiam wrote:
Am I able to SAVE this loop as a seperate loop than the original
absolutely. select the loop, use the Add To Loop Library menuItem, and name it as you wish. it will be its own separate loop. -
Hi Gurus...........
i have my code below ...problem is that when it goes for the first time if get the
value but when it goes again in to the loop , first loop is getting exected
the second and the third loop returns sy-subrc 4 thou it has value.....
iam not able to find it out y????can you plzzz helppp???
Code of loop
===============
LOOP AT it_pos INTO wa_pos .
READ TABLE it_kna1 INTO wa_kna1 WITH KEY kunnr = wa_pos-konto .
IF sy-subrc = 0.
wa_final-name1 = wa_kna1-name1.
wa_final-xblnr = wa_pos-xblnr.
read table it_t005u into wa_t005u with key bland = wa_kna1-regio.
If sy-subrc = 0.
wa_final-bezei = wa_t005u-bezei.
Endif.
Endif.
Loop at it_vbrp into wa_vbrp where vbeln = wa_bkpf-vbeln.
read table it_vbrk into wa_vbrk with key vbeln = wa_vbrp-vbeln.
If sy-subrc = 0.
wa_final-knumv = wa_vbrk-knumv.
Endif.
wa_final-arktx = wa_vbrp-arktx.
wa_Final-fkimg = wa_vbrp-fkimg.
move wa_final-arktx to wa_final-a.
move wa_final-fkimg to wa_final-b.
qty = wa_vbrp-fkimg.
split qty at '.' into text2 text3.
move text2 to wa_final-b.
concatenate wa_Final-a '-' wa_final-b into wa_final-c separated by space.
wa_final-name1 = wa_kna1-name1.
wa_final-xblnr = wa_pos-xblnr.
Loop at it_konv into wa_konv where knumv = wa_vbrk-knumv and kposn = wa_vbrp-posnr.
wa_pos-dmshb = ( wa_konv-kwert ) - ( ( wa_konv-kwert * ra_data ) / 100 ).
wa_final-dmbtr = wa_pos-dmshb.
Endloop.
Endloop.
Append wa_final to it_final
clear: wa_bkpf, wa_kna1, wa_t005u,wa_vbrk, wa_vbrp, wa_konv, wa_final, wa_pos.
ENDLOOP.
Edited by: Matt on Apr 9, 2009 1:20 PM - added tagsPosition of your append is wrong ...
it should be above all the endloop.
Edited:
LOOP AT it_pos INTO wa_pos .
*** logic ***
READ TABLE it_kna1 INTO wa_kna1 WITH KEY kunnr = wa_pos-konto .
*** logic ***
read table it_t005u into wa_t005u with key bland = wa_kna1-regio.
*** logic ***
Loop at it_vbrp into wa_vbrp where vbeln = wa_bkpf-vbeln.
*** logic ***
read table it_vbrk into wa_vbrk with key vbeln = wa_vbrp-vbeln.
*** logic ***
Loop at it_konv into wa_konv where knumv = wa_vbrk-knumv and kposn = wa_vbrp-posnr.
*** logic ***
Append wa_final to it_final "Check position of this statement.
Endloop.
Endloop.
ENDLOOP.
Regards,
Lalit Mohan Gupta.
Edited by: Lalit Mohan Gupta on Apr 9, 2009 4:45 PM - Written the skeleton of code. Label Edited -
Can't find my custom loop, can't Save as archive, but the song plays?
Hey guys. In October I made my first "real" attempt at a song in GarageBand. I recorded the bass and guitar with my Digitech GNX3000. I made my drum loops from scratch with my mouse. I just chose the kit and clicked the little squares on the grid for timing. I named them all AlanCustomX (where X described it).
I just got a MacBook and I'm moving all of my data from this old G4 tower. I copied over my song and the drum loops didn't work. That's okay, I figured it was in the Apple Library somewhere. I started up GarageBand and hit play on the G4 and my drum pattern was working, but the library said nothing was found (I fiddled with Final Cut Express a few weeks ago and I guess Soundtrack screwed it up). I followed the steps found in this forum to get them working again.
Throughout my search for the Apple loops in various Library folders, I never found my drum loops. There's a couple folders for User Loops but they're empty. That's weird, because when I play the song the drum loops are still in the song. After rebuilding the loop library, I still can't Save As and do an Archive ("to work on another Mac")!
I looked "inside" the song's .band file and it's only got the .aif files from my guitar.
Where does iTunes store custom loops? Why can't a archive-save my file?If they're part of the project, shouldn't they work
if I copy the file to another computer
Yes. And using the Archive feature should force any loops not within your project (Loops dropped in from the browser) to be copied and stored within it.
Is there a way I can export my green loops to the
GarageBand Library and therefore put them on the filesystem?
The Archive is supposed to take care of this.
The other, long, way around might be to add each of your edited loops to the Browser, find them on your hard drive, copy them to the other computer, and drop them into GB's Browser there. I'm not positive GB would find them when you opened your project there, but that's the only other course of action I can think of at the moment.
Personally, I'd be trying to figure out why an Archived project wasn't working properly before anything else. That could be a sign of something bad and I'd want to find IT before it found me. -
Hi,
I'm creating an OO ALV where I have a Modify Button that when triggered has to make editable all the cells of the selected row. Is it possible? I haven't found anything similar in the sdn...
Thanks in advance!!!Hi carles
Please find the example report for your exact requirement .
as this i developed for my project..
*& Report ZUS_SDN_ALVGRID_EDITABLE_2
*& Thread: Edit the records in the GRID in change mode
*& Edit the records in the GRID in change mode
REPORT zus_sdn_alvgrid_editable_2.
TYPES: BEGIN OF ty_s_outtab.
INCLUDE TYPE knb1 AS knb1.
TYPES: celltab TYPE lvc_t_styl.
TYPES: END OF ty_s_outtab.
TYPES: ty_t_outtab TYPE STANDARD TABLE OF ty_s_outtab
WITH DEFAULT KEY.
DATA:
gd_okcode TYPE ui_func,
gt_fcat TYPE lvc_t_fcat,
gs_layout TYPE lvc_s_layo,
go_docking TYPE REF TO cl_gui_docking_container,
go_grid1 TYPE REF TO cl_gui_alv_grid.
DATA:
gt_outtab TYPE ty_t_outtab.
START-OF-SELECTION.
SELECT * FROM knb1 UP TO 100 ROWS
INTO CORRESPONDING FIELDS OF TABLE gt_outtab
WHERE bukrs = '1000'.
PERFORM modify_outtab.
Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
OTHERS = 6.
IF sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Create ALV grid
CREATE OBJECT go_grid1
EXPORTING
i_parent = go_docking
EXCEPTIONS
OTHERS = 5.
IF sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Build fieldcatalog and set hotspot for field KUNNR
PERFORM build_fieldcatalog_knb1.
PERFORM set_layout_and_variant.
Display data
CALL METHOD go_grid1->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_outtab = gt_outtab
it_fieldcatalog = gt_fcat
EXCEPTIONS
OTHERS = 4.
IF sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Link the docking container to the target dynpro
CALL METHOD go_docking->link
EXPORTING
repid = syst-repid
dynnr = '0100'
CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ok-code field = GD_OKCODE
CALL SCREEN '0100'.
END-OF-SELECTION.
*& Module STATUS_0100 OUTPUT
text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'.
SET TITLEBAR 'xxx'.
CALL METHOD go_grid1->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
FINISHED = 1
others = 2
IF sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE user_command_0100 INPUT.
TRANSLATE gd_okcode TO UPPER CASE.
CASE gd_okcode.
WHEN 'BACK' OR
'EXIT' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
WHEN 'CHANGE'.
PERFORM set_rows_editable.
WHEN OTHERS.
CALL METHOD go_grid1->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
finished = 1
OTHERS = 2
IF sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDCASE.
CLEAR: gd_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form BUILD_FIELDCATALOG_KNB1
text
--> p1 text
<-- p2 text
FORM build_fieldcatalog_knb1 .
define local data
DATA:
ls_fcat TYPE lvc_s_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_BUFFER_ACTIVE =
i_structure_name = 'KNB1'
I_CLIENT_NEVER_DISPLAY = 'X'
I_BYPASSING_BUFFER =
I_INTERNAL_TABNAME =
CHANGING
ct_fieldcat = gt_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Only non-key fields are editable
ls_fcat-edit = 'X'.
MODIFY gt_fcat FROM ls_fcat
TRANSPORTING edit
WHERE ( key NE 'X' ).
ENDFORM. " BUILD_FIELDCATALOG_KNB1
*& Form SET_LAYOUT_AND_VARIANT
text
--> p1 text
<-- p2 text
FORM set_layout_and_variant .
CLEAR: gs_layout.
gs_layout-cwidth_opt = abap_true.
gs_layout-zebra = abap_true.
gs_layout-sel_mode = 'D'.
gs_layout-edit = abap_true. " entire grid editable
gs_layout-stylefname = 'CELLTAB'.
ENDFORM. " SET_LAYOUT_AND_VARIANT
*& Form SET_ROWS_EDITABLE
text
--> p1 text
<-- p2 text
FORM set_rows_editable .
define local data
DATA: ls_outtab TYPE ty_s_outtab,
ls_fcat TYPE lvc_s_fcat,
ls_cell TYPE lvc_s_styl,
lt_celltab TYPE lvc_t_styl,
ls_row TYPE lvc_s_row,
lt_rows TYPE lvc_t_row.
CALL METHOD go_grid1->get_selected_rows
IMPORTING
et_index_rows = lt_rows
et_row_no =
CHECK ( lt_rows IS NOT INITIAL ).
LOOP AT gt_fcat INTO ls_fcat.
ls_cell-fieldname = ls_fcat-fieldname.
IF ( ls_fcat-key = abap_true ).
ls_cell-style = cl_gui_alv_grid=>mc_style_disabled.
ELSE.
ls_cell-style = cl_gui_alv_grid=>mc_style_enabled.
ENDIF.
INSERT ls_cell INTO TABLE lt_celltab. " sorted itab !!!
ENDLOOP.
LOOP AT lt_rows INTO ls_row.
READ TABLE gt_outtab INTO ls_outtab INDEX ls_row-index.
ls_outtab-celltab = lt_celltab.
MODIFY gt_outtab FROM ls_outtab INDEX ls_row-index.
ENDLOOP.
set edit enabled cells ready for input
CALL METHOD go_grid1->set_ready_for_input
EXPORTING i_ready_for_input = 1.
ENDFORM. " SET_ROWS_EDITABLE
*& Form MODIFY_OUTTAB
text
--> p1 text
<-- p2 text
FORM modify_outtab .
define local data
DATA: ls_outtab TYPE ty_s_outtab,
ls_fcat TYPE lvc_s_fcat,
ls_cell TYPE lvc_s_styl.
" Set all cells of grid non-editable
LOOP AT gt_fcat INTO ls_fcat.
ls_cell-fieldname = ls_fcat-fieldname.
ls_cell-style = cl_gui_alv_grid=>mc_style_disabled.
INSERT ls_cell INTO TABLE ls_outtab-celltab. " sorted itab !!!
ENDLOOP.
MODIFY gt_outtab FROM ls_outtab
TRANSPORTING celltab
WHERE ( bukrs IS NOT INITIAL ).
ENDFORM. " MODIFY_OUTTAB
regards,
Madhavi -
Logic Express 9 and and Boss RC-30 looping pedal--incompatible?
I recently purchased both Logic Express and a Roland Boss guitar looping pedal, hoping to use Logic Express to create/edit loops for the pedal. But when I tryto import them to the pedal (via USB), I get an error message of "unplayable file". The manual for the looping pedal states that the wav files must be in the format wav, 16-bit linear, stereo, with a sampling frequency of 44.1 kHz. I am able to match all of those in the "Bounce" export dialog, except I don't see an option for linear--only "interleaved" or "split". And I'm not sure how to tell if I'm exporting a mono or a stereo track, but I think that since my signal goes on both sides of the line in the arranger window, that it is stereo. Has anyone been able to get this to work? I'm thinking the issue is that I need a linear rather than an interleaved file.
Have been really busy, but finally tried your suggestion. Logic Express seems to be able to export WAV files only as interleaved or split into two tracks. My Roland/Boss looping pedal says "unreadable file" for both flavors. After much experimenting, I did finally find something that will work. I have to first export my file as a 16 bit (interleaved) stereo WAV file from Logic Express. Then I have to open the file in Audacity, and re-export it as what Audacity calls a 16 bit Microsoft WAV file. Then my pedal reads the file just fine. I'm disappointed that Logic Express won't export a file that is readable by the pedal, but at least I found a work-around.
-
What is wrong with this for loop equation?
The purpose of the loop is to find what level you are, based on the exp you have. My formula is similar to the one found here, with a few modifications (more exp needed at first, less needed later)
[http://upload.wikimedia.org/wikipedia/commons/0/02/RS_skill_Formula.jpg]
The results should show that at 0 to 93 exp you are lvl 1, 94 to 191 is lvl 2, 192 to 297 is level 3, .... and 41402+ is lvl 50. (give or take 1 or 2 exp, for rounding)
public class ExpTest
public static int getLvl(int exp)
double EXP = 0;
int Lvl = 0, i;
for(i = 1; i <= 50; i++)
EXP = ((i + 50)/3 + (70 * (2 ^ (i / 9))));
if (EXP > exp) break;
Lvl = i - 1;
if (Lvl > 50) Lvl = 50;
return(Lvl);
public static void main(String[] args)
int exp = 95, lvl;
lvl = getLvl(exp);
System.out.println(lvl);
}Edited loop, it still doesn't work correctly:
for(i = 1; i <= 50; i++)
EXP = ((i + 50) / 3.0 + (70 * (Math.pow(2,(i / 9.0)))));
if (EXP > exp) break;
} -
No data in ALV when using MC_STYLE_ENABLED
Hi experts,
I want to display some data in a ALV-Grid control, with just one column which is editable. So the ALV-Grid looks well, when I only display the data. But when I add the attributes for the editable column into my internal table, then I cannot see any data in there. But I can see the rows with the editable column.
Here are the operations:
1) All items of an transparent table is viewed in the ALV-LIST1
2) User can select the specific rows which he/she want to edit.
3) User press a button in the toolbar of ALV-LIST1
4) The ALV-LIST2 comes up with the selected rows and one editabled column, but no data in there...
I already looked in this great example, but I cannot see any special command, posted here:
editing alv output
I also looked in the examples of BCALV_EDIT_0*.
Here is the code:
Definitions:
The method for creating the second ALV-Grid
METHOD create_alv_list2.
DATA: ls_selected_line TYPE lvc_s_row,
lf_row_index TYPE lvc_index,
lt_celltab TYPE lvc_t_styl,
ls_celltab TYPE lvc_s_styl,
l_index TYPE i,
lt_exclude TYPE ui_functions
IF container23 is initial.
CREATE OBJECT container23
EXPORTING container_name = 'LIST_AREA2'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc <> 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'Control element couldn't be created'(510).
ENDIF.
CREATE OBJECT alv_list2
EXPORTING i_parent = container23.
ELSE.
CALL METHOD alv_list2->refresh_table_display.
ENDIF. "IF container23 IS INITIAL.
* Layout
g_lvc_layout-grid_title = 'Edit the rows'.
g_lvc_layout-sel_mode = ' '.
g_lvc_layout-stylefname = 'CELLTAB'.
CLEAR: lt_celltab,
wa_lab_dispo2,
it_lab_dispo2,
wa_lab_dispo3,
it_lab_dispo3
* catch all selected rows from ALV-Grid1
CALL METHOD alv_list1->get_selected_rows
IMPORTING et_index_rows = it_lvc_rows.
* write the lines into the it_lab_dispo3
LOOP AT it_lvc_rows INTO ls_selected_line.
lf_row_index = ls_selected_line-index.
READ TABLE it_lab_dispo INDEX lf_row_index INTO wa_lab_dispo.
wa_lab_dispo3-lab_dispo_struk = wa_lab_dispo.
APPEND wa_lab_dispo3 TO it_lab_dispo3.
ENDLOOP.
CLEAR: wa_lab_dispo3.
* make the cell XBEME editable
LOOP AT it_lab_dispo3 INTO wa_lab_dispo3.
l_index = sy-tabix.
ls_celltab-FIELDNAME = 'XBEME'.
ls_celltab-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
ls_celltab-STYLE2 = SPACE.
ls_celltab-STYLE3 = SPACE.
ls_celltab-STYLE4 = SPACE.
INSERT ls_celltab INTO TABLE lt_celltab.
INSERT LINES OF lt_celltab INTO TABLE wa_lab_dispo3-celltab.
MODIFY it_lab_dispo3 FROM wa_lab_dispo3 INDEX l_index TRANSPORTING celltab.
ENDLOOP.
CALL METHOD alv_list2->set_ready_for_input
EXPORTING i_ready_for_input = 1.
PERFORM exclude_tb_functions CHANGING lt_exclude.
* display the second grid
CALL METHOD alv_list2->set_table_for_first_display
EXPORTING i_structure_name = 'zmm_lab_dispo'
i_save = 'A'
it_toolbar_excluding = lt_exclude
is_layout = g_lvc_layout
CHANGING
it_outtab = it_lab_dispo3[]
CALL METHOD cl_gui_control=>set_focus
EXPORTING control = alv_list2.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc <> 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'Error in Flush ALV'(500).
ENDIF.
ENDMETHOD.
<b>If I follow my coding by processing the application, I could see that in the Method "SET_VALUES (CL_ALV_VARIANT)" which was executed by "CALL METHOD alv_list2->set_table_for_first_display" the table "it_outtab" is just filled with the data of my selected rows!
And after this Method their called "FUNCTION K_KKB_PUT_GLOBALS" which has only one command: </b>
create data gs_table_row like es_table_row.
<b>And the gs_table_row has the needed deep-structure.
After it i cannot see any really intressting backend-functions related to my Problem.
</b>
I also try to do something with the fieldcatalog but in this case I only could add columns to the existing table which was editable.
Regards,
SteffenHi Steffen,
Just give the name in capital letters and try:
display the second grid
CALL METHOD alv_list2->set_table_for_first_display
EXPORTING i_structure_name = <b>'ZMM_LAB_DISPO'</b>
i_save = 'A'
it_toolbar_excluding = lt_exclude
is_layout = g_lvc_layout
CHANGING
it_outtab = it_lab_dispo3[]
REgards,
Ravi -
Delay in real instruments.
When I try to play my guitar (through a Stealth USB cable) into my songs there is usually about a 1/4 to 1/2 second delay between when I hit a note and when I hear it play back through the monitor. I'm running an iMac 3.06 intel core 2 processor with 2 gb ram and OS 10.6.3.
Is it purely a RAM issue?btw....i just realized i had issues with this with one recording. in the edit loops on the bottom there is a "auto fit" to timing or something like that. it was screwing me up all over the place. it was tryin to find the beat for me.
-
Suggest program to make gif animations
Since Adobe's ImageReady is no longer in Creative Suite, I'm wondering which program to choose to make small, short gif animations? If possible - please include address where to download tutorial.
Thanks.I use CoffeeCup GIF Animator. Floating Preview Window for easy Editing Loop the animation Forever or a certain number of times. Change the Delay make the animation slower or faster. Generates HTML source code on the fly Import .AVI format files up to 500K and convert them to animated GIFs. Select Transparency with just One Click Quickly Edit your existing Animated GIFs Easily Make High Quality Animated GIFs in a few steps Convert .jpg, .ico, .bmp and more to .gif automatically Converts .JPG, .BMP, .ICO and more to .GIF automatically
-
Nudge clip one frame at a time
I can move my clip one frame over by pressing "Shift" and the > or < key.
But after I've done that once showing a synch discrepancy of +1 or -1, then next time I do it, the increment is +5 or -5.
Is this normal? I need to be able to continue moving the clip +1 or -1 frame at a time.
Thanks for telling me how!
RoxaneUse the Trim Forward and Trim Backward buttons (Shift-] and Shift-[) to perform the selected trim operation to the outgoing and incoming clips on either side of the edit point. The inner trim buttons trim an edit point by one frame, while the outer, multi- frame trim buttons adjust edit points by a default duration of five frames. You can perform ripple and roll edits using these buttons while the selected edit plays back, trimming frame by frame while you watch the selected edit loop over and over.
The number of frames the multi-frame trim buttons add or subtract can be changed in the Editing tab of the User Preferences window. -
How to regenerate additional rows after user clicks enter?
Hi all,
I am outputing the data through internal table(contains two fields 'Country' and 'Test')using ALV Classes.
My requirement is user can add another row.And
after appending another row user will enter country(say India) against the country
field and clicks enter.Then the program has to fetch all the tests(say 'test1' and 'test2' are there
for India) described for India from the database table and refresh the screen
with this additonal 2 rows(India, Test1 and India,Test2).
Can anyone please let me know how to do it?Remember I am using ALV Classes.
Thanks,
Balaji.Hello Balaji
I would use a simplified approach by storing the PBO output before displaying the editable ALV list. As soon as the user wants to save the data (enter 'SAVE' in command window) the report compares the PBO data with the current PAI data.
To see the effect simply add a single row as previously described (resulting in three new rows) and delete two other rows. Inserted and deleted rows will be displayed afterwards.
*& Report ZUS_SDN_ALVGRID_EDITABLE_7
REPORT zus_sdn_alvgrid_editable_7.
TYPE-POOLS: abap.
INCLUDE <icon>. " NOTE: replace by TYPE-POOLS: icon. on >= 6.20
DATA:
gd_repid TYPE syrepid,
gd_okcode TYPE sy-ucomm,
gs_layout TYPE lvc_s_layo,
gt_fcat TYPE lvc_t_fcat,
go_docking TYPE REF TO cl_gui_docking_container,
go_grid TYPE REF TO cl_gui_alv_grid.
TYPES: BEGIN OF ty_s_outtab.
INCLUDE TYPE knb1.
TYPES: END OF ty_s_outtab.
TYPES: ty_t_outtab TYPE STANDARD TABLE OF ty_s_outtab
WITH DEFAULT KEY.
DATA:
gt_outtab TYPE ty_t_outtab,
gt_outtab_pbo TYPE ty_t_outtab.
* CLASS lcl_eventhandler DEFINITION
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
handle_data_changed
FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING
er_data_changed
e_onf4
e_onf4_before
e_onf4_after
e_ucomm
sender,
handle_data_changed_finished
FOR EVENT data_changed_finished OF cl_gui_alv_grid
IMPORTING
e_modified
et_good_cells,
handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING
e_ucomm,
handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING
e_object
e_interactive.
ENDCLASS. "lcl_eventhandler DEFINITION
* CLASS lcl_eventhandler IMPLEMENTATION
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD handle_data_changed.
* define local data
** cl_gui_cfw=>set_new_ok_code( 'REFRESH' ). " not possible on 4.6c
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = 'REFRESH'
* IMPORTING
* RC =
ENDMETHOD. "handle_data_changed
METHOD handle_data_changed_finished.
* define local data
DATA:
ls_outtab TYPE ty_s_outtab,
ls_cell TYPE lvc_s_modi.
ENDMETHOD. "handle_data_changed_finished
METHOD handle_user_command.
ENDMETHOD. "handle_user_command
METHOD handle_toolbar.
* define local data
DATA:
ls_button TYPE stb_button.
ls_button-function = 'DEFAULT'.
ls_button-icon = icon_mass_change.
ls_button-quickinfo = 'Set default value for column'.
APPEND ls_button TO e_object->mt_toolbar.
ENDMETHOD. "handle_toolbar
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
START-OF-SELECTION.
SELECT * FROM knb1 INTO TABLE gt_outtab UP TO 20 ROWS
WHERE bukrs = '1000'.
gt_outtab_pbo = gt_outtab. " store PBO data
* Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
OTHERS = 6.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Create ALV grid
CREATE OBJECT go_grid
EXPORTING
i_parent = go_docking
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Build fieldcatalog
PERFORM build_fieldcatalog.
PERFORM set_layout.
SET HANDLER:
lcl_eventhandler=>handle_toolbar FOR go_grid,
lcl_eventhandler=>handle_data_changed FOR go_grid,
lcl_eventhandler=>handle_data_changed_finished FOR go_grid.
* Display data
CALL METHOD go_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_outtab = gt_outtab
it_fieldcatalog = gt_fcat
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
go_grid->set_toolbar_interactive( ).
CALL METHOD go_grid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Link the docking container to the target dynpro
gd_repid = syst-repid.
CALL METHOD go_docking->link
EXPORTING
repid = gd_repid
dynnr = '0100'
* CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* ok-code field = GD_OKCODE
CALL SCREEN '0100'.
* Flow logic (no elements on screen):
* PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
* PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.
END-OF-SELECTION.
*& Module STATUS_0100 OUTPUT
* text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'.
* SET TITLEBAR 'xxx'.
CALL METHOD go_grid->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
finished = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE user_command_0100 INPUT.
TRANSLATE gd_okcode TO UPPER CASE.
* Fetch changes on ALV grid
go_grid->check_changed_data( ).
CASE gd_okcode.
WHEN 'BACK' OR
'END' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
WHEN 'REFRESH'.
PERFORM refresh_outtab.
WHEN 'SAVE'.
PERFORM save_data.
WHEN OTHERS.
ENDCASE.
CLEAR: gd_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form BUILD_FIELDCATALOG_KNB1
* text
* --> p1 text
* <-- p2 text
FORM build_fieldcatalog .
* define local data
DATA:
ls_fcat TYPE lvc_s_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
* I_BUFFER_ACTIVE =
i_structure_name = 'KNB1'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_BYPASSING_BUFFER =
* I_INTERNAL_TABNAME =
CHANGING
ct_fieldcat = gt_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
" Set required fields editable
LOOP AT gt_fcat INTO ls_fcat
WHERE ( fieldname = 'ZUAWA' OR
fieldname = 'BUSAB' ).
ls_fcat-edit = abap_true.
MODIFY gt_fcat FROM ls_fcat.
ENDLOOP.
DELETE gt_fcat WHERE ( fieldname = 'ZINRT' ).
ENDFORM. " BUILD_FIELDCATALOG
*& Form SET_LAYOUT
* text
* --> p1 text
* <-- p2 text
FORM set_layout .
CLEAR: gs_layout.
gs_layout-cwidth_opt = abap_true.
gs_layout-zebra = abap_true.
** gs_layout-stylefname = 'CELLTAB'.
ENDFORM. " SET_LAYOUT
*& Form REFRESH_OUTTAB
* text
* --> p1 text
* <-- p2 text
FORM refresh_outtab .
* define local data
DATA:
ld_idx TYPE i,
ls_outtab TYPE ty_s_outtab,
ls_tmp TYPE ty_s_outtab,
lt_tmp TYPE ty_t_outtab.
" Simulate selection of data depending on value of ZUAWA
ls_tmp-zuawa = '003'.
ls_tmp-busab = 'K1'. APPEND ls_tmp TO lt_tmp.
ls_tmp-busab = 'K2'. APPEND ls_tmp TO lt_tmp.
ls_tmp-busab = 'K3'. APPEND ls_tmp TO lt_tmp.
LOOP AT gt_outtab INTO ls_outtab
WHERE ( zuawa = '003'
AND busab IS INITIAL ).
ld_idx = syst-tabix.
LOOP AT lt_tmp INTO ls_tmp.
ls_outtab-busab = ls_tmp-busab.
IF ( syst-tabix = 1 ).
MODIFY gt_outtab FROM ls_outtab INDEX ld_idx.
ELSE.
APPEND ls_outtab TO gt_outtab.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM. " REFRESH_OUTTAB
*& Form SAVE_DATA
* text
* --> p1 text
* <-- p2 text
FORM save_data .
* define local data
DATA:
ls_outtab TYPE ty_s_outtab,
ls_pbo TYPE ty_s_outtab,
lt_insert TYPE ty_t_outtab,
lt_delete TYPE ty_t_outtab.
" Compare PBO with PAI -> find deleted records
LOOP AT gt_outtab_pbo INTO ls_pbo.
READ TABLE gt_outtab INTO ls_outtab
WITH KEY table_line = ls_pbo.
IF ( syst-subrc NE 0 ).
APPEND ls_outtab TO lt_delete.
ENDIF.
ENDLOOP.
" Compare PAI with PBO data -> find new records
LOOP AT gt_outtab INTO ls_outtab.
READ TABLE gt_outtab_pbo INTO ls_pbo
WITH KEY table_line = ls_outtab.
IF ( syst-subrc NE 0 ).
APPEND ls_outtab TO lt_insert.
ENDIF.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_structure_name = 'KNB1'
i_grid_title = 'New Records'
TABLES
t_outtab = lt_insert
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_structure_name = 'KNB1'
i_grid_title = 'Deleted Records'
TABLES
t_outtab = lt_delete
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
gt_outtab_pbo = gt_outtab. " do not forget !!!
ENDFORM. " SAVE_DATA
Regards
Uwe
Maybe you are looking for
-
Billed for iTunes and iPad purchases, not showing up in account
I realize I'm talking to fellow users here and not Apple support, but while I'm waiting for an answer from them, I'd like to find out if anyone else is currently having this problem. I've spent maybe ten bucks on iTunes purchases via my iPad in the l
-
select ct_no,sum(due_amt)ovd_30,to_number(null)ovd_60 from le_dues where ct_no=3000 and due_date between TO_DATE('1-NOV-2007' )and TO_DATE('1-NOV-2007')+30 group by ct_no union select ct_no,to_number(null)ovd_30 ,sum(due_amt)ovd_60 from le_dues wher
-
Battery discharging very quickly
Battery discharges very quickly, even after reset. What to do?
-
acrobat installer encounter an unexpected failure,please try again, if it continues to fail, contact adobe support, i try many times, but the same error occurred, now wt should i do?
-
I constantly fill my iPod with new music, but when I try and use the Genius feature on some of the newer releases, it says "A Genius playlist is not available for this song." It seems pretty ridiculous, because some of the artists in question incl